| For Oracle, the list of reserved words should be the union of those listed by: https://docs.oracle.com/cd/B19306_01/em.102/b40103/app_oracle_reserved_words.htm (481 words for SQL – for example, this includes the word 'PASSWORD') and: https://docs.oracle.com/cd/A97630_01/appdev.920/a96624/f_words.htm#14267 (193 words for PL/SQL, with some overlap with the previous list) Currently (in 5.2.17_SNAPSHOT) the list of reserved words for Oracle contains only 269 words – significantly less than 481, so clearly too few – for example, not including the word 'PASSWORD'. However, it does include the 'word':
all_PL_SQL_reserved_ words
(including the space character, so really two words), which it got from com\oracle\ojdbc\12.1.0.2.0\ojdbc-12.1.0.2.0.jar!\oracle\jdbc\OracleDatabaseMetaData.getSQLKeywords() – which presumably is meant as in instruction to merge in the list from the second link given above, rather than as a literal reserved word. It also contains some other words that are not on either of the above lists of Oracle reserved words, such as 'ARE', 'ASENSITIVE', 'ASYMMETRIC', so some of those 269 are unnecessary. I don't think this issue really requires a test case – it's clearly wrong. If you really want a test case, then try creating a persistent entity whose table has a column called password and then retrieving one from an Oracle database. |