Dear H2 Community, I have finally carved out some time to upgrade an old project to H2 2.x and ran into a problem with one of my table create statements:
CREATE TABLE USER_PREFERENCE ( ID BIGSERIAL NOT NULL, KEY VARCHAR(50) NOT NULL, VALUE text NOT NULL, USER_ID bigint NOT NULL, CONSTRAINT PK_USER_PREFERENCE PRIMARY KEY (ID) ); This statement is throwing a "Syntax error in SQL statement" error in 2.x that I did not see in 1.4.x. In the error message there is something about "expected "identifier"; SQL statement". If I take out or rename the "KEY" column everything works. I see that the list of reserved keywords has been updated at some point and KEY has been added although it is marked as a non-reserved (NR) word in the SQL Standard: http://www.h2database.com/html/advanced.html#keywords Questions: (1) If am running in PostgreSQL compatibility mode, and KEY is a non-reserved keyword in PostgreSQL shouldn't I be allowed to create a KEY column? (2) Is this the correct way to set NON_KEYWORDS? Is it similar to setting mode? java.util.Properties properties = new java.util.Properties(); properties.setProperty("MODE", "PostgreSQL"); properties.setProperty("NON_KEYWORDS", "KEY"); I ask because it doesn't seem to work (i.e. I still can't create my table with the NON_KEYWORDS set). Thanks in advance,Peter -- You received this message because you are subscribed to the Google Groups "H2 Database" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/h2-database/194088980.2263119.1693432324441%40mail.yahoo.com.
