Re: PK problem with Postgre

From: Jeff de Vries (jdevrie..frog.com)
Date: Sat Apr 22 2006 - 01:32:07 EDT

  • Next message: Andrus Adamchik: "Re: MySql AUTO_PK_SUPPORT"

    I have had this problem as well. I'm using the "standard" value of
    20 (meaning I haven't changed anything from the defaults), and I can
    see Cayenne query for the sequence value, followed by 20 insertions
    using a value incremented by Cayenne, etc.

    When the problem happens, I've gone and looked at the sequence value
    in the database, and found, say, a value of 740, but there is already
    an existing record with a value of 740 as a primary key, so when
    Cayenne fetches the db sequence value of 740 and tries to use it, I
    get the "duplicate key" error below.

    At this point I haven't been able to pinpoint any particular set of
    events leading up to the problem (other than occasionally we crash
    [for other reasons] and perhaps that leaves something funky?).

    In my pre-Cayenne days I always left the primary key field
    unspecified and let PostgreSQL handle the incrementing.

    Jeff

    On Apr 20, 2006, at 6:43 AM, WONDER wrote:

    > Hi,
    >
    > I have problem with PostGreSQL ver 8.1.3 using JDBC ver 8.2dev-501
    > JDBC 3
    > and Cayenne 1.2.B2.
    >
    > I use the Default Strategy to create the PKs using Cayenne. in the
    > DB, i
    > created the SEQ : pk_TableName. like pk_image for Table image.
    >
    > Sometimes I get the following error and sometimes it just work.
    > Till now, I coulding find the logic behind.
    >
    > Anybody can help?
    > Thanks.
    >
    > -------------------------------------------------
    > Priority : INFO
    >
    > Class.Method(line):
    > org.objectstyle.cayenne.access.QueryLogger.logQueryError
    > (QueryLogger.java:43
    > 9)
    >
    > Message: *** error.
    >
    > org.postgresql.util.PSQLException: ERROR: duplicate key violates
    > unique
    > constraint "image_pk"
    >



    This archive was generated by hypermail 2.0.0 : Sat Apr 22 2006 - 01:32:44 EDT