openjpa-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Patrick Linskey (JIRA)" <j...@apache.org>
Subject [jira] Commented: (OPENJPA-427) PostgresDictionary should set "63" as "maxAutoAssignNameLength".
Date Tue, 06 Nov 2007 16:48:50 GMT

    [ https://issues.apache.org/jira/browse/OPENJPA-427?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12540478
] 

Patrick Linskey commented on OPENJPA-427:
-----------------------------------------

No objection to putting it into trunk.

I don't see any need to put it into 1.0.x or 1.0.1. Personally, I'm very conservative about
putting any changes at all into maintenance releases, since there can always be unintended
side-effects that we should be insulating our maintenance-release-consumers from.

> 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
>         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.


Mime
View raw message