[
https://issues.apache.org/jira/browse/OPENJPA-427?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Craig Russell resolved OPENJPA-427.
-----------------------------------
Resolution: Fixed
Fix Version/s: 1.1.0
Checked in the patch supplied by Ryosuke Iwata.
svn commit -m "OPENJPA-427 Change maxAutoAssignNameLength to 63 for PostgreSQL"
Sending sql/PostgresDictionary.java
Transmitting file data .
Committed revision 595383.
> PostgresDictionary should set "63" as "maxAutoAssignNameLength".
> ----------------------------------------------------------------
>
> Key: OPENJPA-427
> URL: https://issues.apache.org/jira/browse/OPENJPA-427
> Project: OpenJPA
> Issue Type: Bug
> Components: sql
> Affects Versions: 1.0.0, 1.1.0
> Environment: PostgreSQL 8.1.
> Reporter: Ryosuke Iwata
> Priority: Blocker
> Fix For: 1.1.0
>
> Attachments: mychanges.patch
>
>
> PostgresDictionary should set "63" (or something correct) as
> "maxAutoAssignNameLength", in order to let
> DBDictionary#getGeneratedKeySequenceName() generate correct names for
> IDENTITY sequences.
> OpenJPA trims IDENTITY sequence names longer than 32 characters, while
> PostgreSQL uses longer names for BIGSERIAL sequences. So, persisting entities
> with @Id column with GenerationType.IDENTITY often results in a database
> error such as :
> org.apache.openjpa.lib.jdbc.ReportingSQLException: ERROR: relation
> "x_school_membershi_entityid_seq" does not exist {prepstmnt 2398193 SELECT
> CURRVAL(X_SCHOOL_TRANSFER_entityId_SEQ')} [code=0, state=42P01]
> The followings are the examples. "OK"s are the sequence names which
> PostgreSQL uses. "NG"s are those which OpenJPA attempts to use.
> Ex.1 -
> Table : X_SCHOOL_TRANSFER_EVENT
> BIGSERIAL Column : ENTITYID
> OK : X_SCHOOL_TRANSFER_EVENT_ENTITY_ID_SEQ
> NG : 'X_SCHOOL_TRANSFER__ENTITYID_SEQ
> Ex.2 -
> Table : X_SCHOOL_MEMBERSHIP
> BIGSERIAL Column : ENTITYID
> OK : X_SCHOOL_MEMBERSHIP_ENTITYID_SEQ
> NG : X_SCHOOL_MEMBERSHI_ENTITYID_SEQ
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.