[
https://issues.apache.org/jira/browse/OPENJPA-426?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Ryosuke Iwata resolved OPENJPA-426.
-----------------------------------
Resolution: Duplicate
Fix Version/s: 1.1.0
I'm very sorry that this issue has been already reported and fixed. I confirmed
this is fixed in a nightly build of 1.1.0.
https://issues.apache.org/jira/browse/OPENJPA-282
> Incorrect DEFERRABLE usage with PostgreSQL
> ------------------------------------------
>
> Key: OPENJPA-426
> URL: https://issues.apache.org/jira/browse/OPENJPA-426
> Project: OpenJPA
> Issue Type: Bug
> Components: sql
> Affects Versions: 1.0.0
> Environment: PostgreSQL database 8.1.
> Reporter: Ryosuke Iwata
> Fix For: 1.1.0
>
>
> OpenJPA generates incorrect CREATE TABLE statements with PostgreSQL, and you
> will get syntax errors.
> OpenJPA adds "DEFERRABLE" to unique constraints, probably because
> PostgresDictionary sets "true" as "supportsDeferredConstraints", while
> PostgreSQL accepts "DEFERRABLE" only with foreign key constraints.
> The description of "CREATE TABLE" in the PostgreSQL documents is so confusing
> : the syntax description at the top of the page makes us feel that
> "DEFERRABLE" can be specified with any table constraints, but you can find
> that it says "Only foreign key constraints currently accept this clause" in
> the middle of the page. See:
> http://www.postgresql.org/docs/8.1/interactive/sql-createtable.html
> As a result of this confusion, SQL statements which OpenJPA generates result
> in database errors saying :
> syntax error at or near "DEFERRABLE"
> An example of generated SQLs is :
> CREATE TABLE PUBLIC.FOO (entityId BIGINT NOT NULL,
> memo TEXT, name VARCHAR(255) NOT NULL,
> entityVersion INTEGER NOT NULL,
> PRIMARY KEY (entityId), UNIQUE (name) DEFERRABLE);
> As a workaround, you can add the following line in the persistence.xml to
> avoid this problem:
> <property name="openjpa.jdbc.DBDictionary"
> value="postgres(SupportsDeferredConstraints=false)"/>
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.