openjpa-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Rick Curtis (JIRA)" <j...@apache.org>
Subject [jira] Created: (OPENJPA-1145) Reserved keywords in the DBDictionary isn't being used for table names
Date Thu, 25 Jun 2009 19:14:07 GMT
Reserved keywords in the DBDictionary isn't being used for table names
----------------------------------------------------------------------

                 Key: OPENJPA-1145
                 URL: https://issues.apache.org/jira/browse/OPENJPA-1145
             Project: OpenJPA
          Issue Type: Bug
          Components: jdbc
            Reporter: Rick Curtis


First reported on the mailing list[1].
--------
I ran into a problem(I think) when doing some testing on Derby where I have
an Entity named User and I'm having OpenJPA build my DB tables. Since 'User'
is a reserved word on Derby, the SQL that OpenJPA generates to create my
User table blows up[2].

Each DBDictionary has a set of 'reserved words' but that list of words isn't
used for table names, they are only used for column names. If a column name
matches a reserved word, we append a 0 to the name or something like that.
I'm wondering if we should do something similar with the table names?.

I'm going to try to find some time soon here to look at the spec to see if
this issue is discussed. Any thoughts or comments?

-Rick
[1]http://n2.nabble.com/Using-reserved-keywords-for-Entity-names-td3156045.html
[2
6484  embeddables  TRACE  [main] openjpa.jdbc.SQL - <t 24634836, conn
9566840> executing stmnt 24008846 CREATE TABLE User (id INTEGER NOT NULL,
USER0 VARCHAR(255), user_name VARCHAR(255), city VARCHAR(255), state
VARCHAR(255), street VARCHAR(255), zip INTEGER, COORDINATES_ID INTEGER,
number VARCHAR(255), type VARCHAR(255), PRIMARY KEY (id))
6484  embeddables  TRACE  [main] openjpa.jdbc.SQL - <t 24634836, conn
9566840> [0 ms] spent
Exception in thread "main" <openjpa-0.0.0-rnull nonfatal general error>
org.apache.openjpa.persistence.PersistenceException: Syntax error:
Encountered "User" at line 1, column 14. {stmnt 24008846 CREATE TABLE User
(id INTEGER NOT NULL, USER0 VARCHAR(255), user_name VARCHAR(255), city
VARCHAR(255), state VARCHAR(255), street VARCHAR(255), zip INTEGER,
COORDINATES_ID INTEGER, number VARCHAR(255), type VARCHAR(255), PRIMARY KEY
(id))} [code=30000, state=42X01]
       at org.apache.openjpa.jdbc.meta.MappingTool.record(MappingTool.java:553)
       at org.apache.openjpa.jdbc.meta.MappingTool.record(MappingTool.java:453)
       at ....JDBCBrokerFactory.synchronizeMappings(JDBCBrokerFactory.java:159)

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


Mime
View raw message