[ https://issues.apache.org/jira/browse/OPENJPA-2182?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Mark Struberg reassigned OPENJPA-2182: -------------------------------------- Assignee: Mark Struberg > DB dictionaries do not properly process reserved words for column names > ----------------------------------------------------------------------- > > Key: OPENJPA-2182 > URL: https://issues.apache.org/jira/browse/OPENJPA-2182 > Project: OpenJPA > Issue Type: Bug > Components: jdbc > Affects Versions: 2.3.0 > Environment: Sybase, SQL Server > Reporter: Jeremy Bauer > Assignee: Mark Struberg > Priority: Major > > OpenJPA maintains a set of SQL reserved words in the file sql-keywords.rsrc. > In addition to the reserved words in this file, each db dictionary can append > its own set of reserved words. In addition, each dictionary maintains a set > of values that are considered invalid column names. It uses this set to > avoid the use of these names during mapping. I recently discovered that the > Sybase and SQLServer dictionaries are not populating the invalid column names > set with the SQL reserved words. Only the dictionary specific names are > being added. The invalid column words set is being populated when the DB > dictionary is constructed. That occurs before the SQL reserved words are > loaded by DBDictionary.endConfiguration(). Thus, the SQL reserved words are > not added. > I discovered this issue when using the field name "level" in one of my > entities. This caused a build failure on Sybase. However, the > AbstractSQLServerDictionary contains the same (flawed) logic as Sybase and it > did not flag "level" as a keyword. This says that we can't blindly add all > the SQL keywords in sql-keywords.rsrc to the invalid columns list as the > logic suggests. For now, I'm just fixing the testcase to avoid this > condition. I fear that making a code change without extensive testing will > cause regression for those happily running on the affected platforms. -- This message was sent by Atlassian Jira (v8.3.4#803005)