cayenne-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Lindsay Steele <lste...@iinet.net.au>
Subject Re: PK problem with Postgre
Date Thu, 20 Apr 2006 21:11:00 GMT
This is interesting - I had tried this in the past and had problems ... 
as you can see in this thread.  

http://www.objectstyle.org/cayenne/lists/cayenne-user/2006/01/0055.html

http://www.objectstyle.org/cayenne/lists/cayenne-user/2006/01/0058.html

I have just tried it again and my quick testing seems to indicate that 
it will now work with a cached PK size that is not directly related
to the postgres "increment by" value.  I am guessing something has 
changed in the latest releases maybe ?

Not to sure if I should change to 20 now for performance or leave it at 
1 because I know that works.


Gentry, Michael (Contractor) wrote:
> I had a Cayenne/PostgreSQL test/example application and used the default
> PK size of 20 and it worked OK for me.  I haven't tried to run it in a
> few months, though, but I know that used to function correctly.
>
>
> -----Original Message-----
> From: Lindsay Steele [mailto:lsteele@iinet.net.au] 
> Sent: Thursday, April 20, 2006 4:44 PM
> To: cayenne-user@incubator.apache.org
> Subject: Re: PK problem with Postgre
>
>
> With Postgres,  I found that I had to use a Custom Sequence - then put 
> in the sequence name and then use a Cached PK Size of 1.
>
>  This wasn't exactly intuitive and Postgres developers think Cayenne has
>
> issues - but it does seem to work.
>
>
> 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.jav
> a:43
>   
>> 9)
>>
>> Message: *** error.
>>
>> org.postgresql.util.PSQLException: ERROR: duplicate key violates
>>     
> unique
>   
>> constraint "image_pk"
>>
>> at
>>
>>     
> org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecu
> torI
>   
>> mpl.java:1513)
>>
>> at
>>
>>     
> org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImp
> l.ja
>   
>> va:1298)
>>
>> at
>>
>>     
> org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:
> 349)
>   
>> at
>>
>>     
> org.postgresql.jdbc2.AbstractJdbc2Statement.executeBatch(AbstractJdbc2St
> atem
>   
>> ent.java:2559)
>>
>> at
>>
>>     
> org.objectstyle.cayenne.access.jdbc.BatchAction.runAsBatch(BatchAction.j
> ava:
>   
>> 164)
>>
>> at
>>
>>     
> org.objectstyle.cayenne.access.jdbc.BatchAction.performAction(BatchActio
> n.ja
>   
>> va:114)
>>
>> at
>>
>>     
> org.objectstyle.cayenne.access.DataNodeQueryAction.runQuery(DataNodeQuer
> yAct
>   
>> ion.java:95)
>>
>> at
>>     
> org.objectstyle.cayenne.access.DataNode.performQueries(DataNode.java:309
> )
>   
>> at
>>
>>     
> org.objectstyle.cayenne.access.DataDomainFlushAction.runQueries(DataDoma
> inFl
>   
>> ushAction.java:255)
>>
>> at
>>
>>     
> org.objectstyle.cayenne.access.DataDomainFlushAction.flush(DataDomainFlu
> shAc
>   
>> tion.java:177)
>>
>> at
>>
>>     
> org.objectstyle.cayenne.access.DataDomain.onSyncFlush(DataDomain.java:82
> 7)
>   
>> at
>>
>>     
> org.objectstyle.cayenne.access.DataDomain$2.transform(DataDomain.java:79
> 8)
>   
>> at
>>
>>     
> org.objectstyle.cayenne.access.DataDomain.runInTransaction(DataDomain.ja
> va:8
>   
>> 53)
>>
>> at
>>     
> org.objectstyle.cayenne.access.DataDomain.onSync(DataDomain.java:795)
>   
>> at
>>
>>     
> org.objectstyle.cayenne.access.DataContext.flushToParent(DataContext.jav
> a:12
>   
>> 17)
>>
>> at
>>
>>     
> org.objectstyle.cayenne.access.DataContext.commitChanges(DataContext.jav
> a:11
>   
>> 21)
>>
>> at
>>
>>     
> de.mrer.base.CayenneBaseComponent.commitChanges(CayenneBaseComponent.jav
> a:65
>   
>> )
>>
>> at ImageEditPage.uploadFile(ImageEditPage.java:99)
>>
>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>>
>> at
>>
>>     
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.jav
> a:39
>   
>> )
>>
>> at
>>
>>     
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessor
> Impl
>   
>> .java:25)
>>
>> at java.lang.reflect.Method.invoke(Method.java:585)
>>
>> at
>>
>>     
> KeyValueCodingProtectedAccessor.methodValue(KeyValueCodingProtectedAcces
> sor.
>   
>> java:54)
>>
>> at
>>
>>     
> com.webobjects.foundation.NSKeyValueCoding$_MethodBinding.valueInObject(
> NSKe
>   
>> yValueCoding.java:1160)
>>
>> at
>>
>>     
> com.webobjects.foundation.NSKeyValueCoding$DefaultImplementation.valueFo
> rKey
>   
>> (NSKeyValueCoding.java:1268)
>>
>> at
>>     
> com.webobjects.appserver.WOComponent.valueForKey(WOComponent.java:1539)
>   
>> at
>>
>>     
> com.webobjects.foundation.NSKeyValueCoding$Utility.valueForKey(NSKeyValu
> eCod
>   
>> ing.java:498)
>>
>> at
>>
>>     
> com.webobjects.foundation.NSKeyValueCodingAdditions$DefaultImplementatio
> n.va
>   
>> lueForKeyPath(NSKeyValueCodingAdditions.java:212)
>>
>> at
>>
>>     
> com.webobjects.appserver.WOComponent.valueForKeyPath(WOComponent.java:16
> 00)
>   
>> at
>>
>>     
> com.webobjects.appserver._private.WOKeyValueAssociation.valueInComponent
> (WOK
>   
>> eyValueAssociation.java:46)
>>
>> at
>>
>>     
> com.webobjects.appserver._private.WOSubmitButton.invokeAction(WOSubmitBu
> tton
>   
>> .java:59)
>>
>> at
>>
>>     
> com.webobjects.appserver._private.WODynamicGroup.invokeChildrenAction(WO
> Dyna
>   
>> micGroup.java:101)
>>
>> at
>>
>>     
> com.webobjects.appserver._private.WODynamicGroup.invokeAction(WODynamicG
> roup
>   
>> .java:110)
>>
>> at
>>
>>     
> com.webobjects.appserver._private.WOComponentContent.invokeAction(WOComp
> onen
>   
>> tContent.java:31)
>>
>> at
>>
>>     
> com.webobjects.appserver._private.WODynamicGroup.invokeChildrenAction(WO
> Dyna
>   
>> micGroup.java:101)
>>
>> at
>>
>>     
> com.webobjects.appserver._private.WODynamicGroup.invokeAction(WODynamicG
> roup
>   
>> .java:110)
>>
>> at
>>
>>     
> com.webobjects.appserver._private.WOComponentContent.invokeAction(WOComp
> onen
>   
>> tContent.java:31)
>>
>> at
>>
>>     
> com.webobjects.appserver._private.WOComponentContent.invokeAction(WOComp
> onen
>   
>> tContent.java:31)
>>
>> at
>>
>>     
> com.webobjects.appserver._private.WODynamicGroup.invokeChildrenAction(WO
> Dyna
>   
>> micGroup.java:101)
>>
>> at
>>
>>     
> com.webobjects.appserver._private.WODynamicGroup.invokeAction(WODynamicG
> roup
>   
>> .java:110)
>>
>> at
>>
>>     
> com.webobjects.appserver._private.WOConditional.invokeAction(WOCondition
> al.j
>   
>> ava:55)
>>
>> at
>>
>>     
> com.webobjects.appserver._private.WODynamicGroup.invokeChildrenAction(WO
> Dyna
>   
>> micGroup.java:101)
>>
>> at
>>
>>     
> com.webobjects.appserver._private.WODynamicGroup.invokeAction(WODynamicG
> roup
>   
>> .java:110)
>>
>> at
>>     
> com.webobjects.appserver.WOComponent.invokeAction(WOComponent.java:945)
>   
>> at
>>
>>     
> com.webobjects.appserver._private.WOComponentReference.invokeAction(WOCo
> mpon
>   
>> entReference.java:104)
>>
>> at
>>
>>     
> com.webobjects.appserver._private.WODynamicGroup.invokeChildrenAction(WO
> Dyna
>   
>> micGroup.java:101)
>>
>> at
>>
>>     
> com.webobjects.appserver._private.WODynamicGroup.invokeAction(WODynamicG
> roup
>   
>> .java:110)
>>
>> at
>>     
> com.webobjects.appserver._private.WOForm.invokeAction(WOForm.java:82)
>   
>> at
>>
>>     
> com.webobjects.appserver._private.WODynamicGroup.invokeChildrenAction(WO
> Dyna
>   
>> micGroup.java:101)
>>
>> at
>>
>>     
> com.webobjects.appserver._private.WODynamicGroup.invokeAction(WODynamicG
> roup
>   
>> .java:110)
>>
>> at
>>     
> com.webobjects.appserver.WOComponent.invokeAction(WOComponent.java:945)
>   
>> at
>>
>>     
> com.webobjects.appserver._private.WOComponentReference.invokeAction(WOCo
> mpon
>   
>> entReference.java:104)
>>
>> at
>>
>>     
> com.webobjects.appserver._private.WODynamicGroup.invokeChildrenAction(WO
> Dyna
>   
>> micGroup.java:101)
>>
>> at
>>
>>     
> com.webobjects.appserver._private.WODynamicGroup.invokeAction(WODynamicG
> roup
>   
>> .java:110)
>>
>> at
>>     
> com.webobjects.appserver.WOComponent.invokeAction(WOComponent.java:945)
>   
>> at
>>
>>     
> com.webobjects.appserver._private.WOComponentReference.invokeAction(WOCo
> mpon
>   
>> entReference.java:104)
>>
>> at
>>
>>     
> com.webobjects.appserver._private.WODynamicGroup.invokeChildrenAction(WO
> Dyna
>   
>> micGroup.java:101)
>>
>> at
>>
>>     
> com.webobjects.appserver._private.WODynamicGroup.invokeAction(WODynamicG
> roup
>   
>> .java:110)
>>
>> at
>>     
> com.webobjects.appserver.WOComponent.invokeAction(WOComponent.java:945)
>   
>> at
>>     
> com.webobjects.appserver.WOSession.invokeAction(WOSession.java:1168)
>   
>> at
>>
>>     
> com.webobjects.appserver.WOApplication.invokeAction(WOApplication.java:1
> 375)
>   
>> at
>>
>>     
> com.webobjects.appserver._private.WOComponentRequestHandler._dispatchWit
> hPre
>   
>> paredPage(WOComponentRequestHandler.java:196)
>>
>> at
>>
>>     
> com.webobjects.appserver._private.WOComponentRequestHandler._dispatchWit
> hPre
>   
>> paredSession(WOComponentRequestHandler.java:287)
>>
>> at
>>
>>     
> com.webobjects.appserver._private.WOComponentRequestHandler._dispatchWit
> hPre
>   
>> paredApplication(WOComponentRequestHandler.java:322)
>>
>> at
>>
>>     
> com.webobjects.appserver._private.WOComponentRequestHandler._handleReque
> st(W
>   
>> OComponentRequestHandler.java:358)
>>
>> at
>>
>>     
> com.webobjects.appserver._private.WOComponentRequestHandler.handleReques
> t(WO
>   
>> ComponentRequestHandler.java:432)
>>
>> at
>>
>>     
> com.webobjects.appserver.WOApplication.dispatchRequest(WOApplication.jav
> a:13
>   
>> 06)
>>
>> at
>>
>>     
> com.webobjects.appserver._private.WOWorkerThread.runOnce(WOWorkerThread.
> java
>   
>> :173)
>>
>> at
>>
>>     
> com.webobjects.appserver._private.WOWorkerThread.run(WOWorkerThread.java
> :254
>   
>> )
>>
>> at java.lang.Thread.run(Thread.java:595)
>>
>>
>> -------- 
>>
>> Priority : FATAL
>>
>> Class.Method(line):
>>
>>     
> de.mrer.base.BaseComponent.validationFailedWithException(BaseComponent.j
> ava:
>   
>> 104)
>>
>> Message: de.mrer.exceptor.CustomException: [v.1.2B2 April 17 2006]
>>     
> Commit
>   
>> Exception
>>
>> ========================
>>
>> de.mrer.exceptor.CustomException: [v.1.2B2 April 17 2006] Commit
>>     
> Exception
>   
>> at
>>
>>     
> de.mrer.base.CayenneBaseComponent.commitChanges(CayenneBaseComponent.jav
> a:74
>   
>> )
>>
>> at ImageEditPage.uploadFile(ImageEditPage.java:99)
>>
>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>>
>> at
>>
>>     
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.jav
> a:39
>   
>> )
>>
>> at
>>
>>     
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessor
> Impl
>   
>> .java:25)
>>
>> at java.lang.reflect.Method.invoke(Method.java:585)
>>
>> at
>>
>>     
> KeyValueCodingProtectedAccessor.methodValue(KeyValueCodingProtectedAcces
> sor.
>   
>> java:54)
>>
>> at
>>
>>     
> com.webobjects.foundation.NSKeyValueCoding$_MethodBinding.valueInObject(
> NSKe
>   
>> yValueCoding.java:1160)
>>
>> at
>>
>>     
> com.webobjects.foundation.NSKeyValueCoding$DefaultImplementation.valueFo
> rKey
>   
>> (NSKeyValueCoding.java:1268)
>>
>> at
>>     
> com.webobjects.appserver.WOComponent.valueForKey(WOComponent.java:1539)
>   
>> at
>>
>>     
> com.webobjects.foundation.NSKeyValueCoding$Utility.valueForKey(NSKeyValu
> eCod
>   
>> ing.java:498)
>>
>> at
>>
>>     
> com.webobjects.foundation.NSKeyValueCodingAdditions$DefaultImplementatio
> n.va
>   
>> lueForKeyPath(NSKeyValueCodingAdditions.java:212)
>>
>> at
>>
>>     
> com.webobjects.appserver.WOComponent.valueForKeyPath(WOComponent.java:16
> 00)
>   
>> at
>>
>>     
> com.webobjects.appserver._private.WOKeyValueAssociation.valueInComponent
> (WOK
>   
>> eyValueAssociation.java:46)
>>
>> at
>>
>>     
> com.webobjects.appserver._private.WOSubmitButton.invokeAction(WOSubmitBu
> tton
>   
>> .java:59)
>>
>> at
>>
>>     
> com.webobjects.appserver._private.WODynamicGroup.invokeChildrenAction(WO
> Dyna
>   
>> micGroup.java:101)
>>
>> at
>>
>>     
> com.webobjects.appserver._private.WODynamicGroup.invokeAction(WODynamicG
> roup
>   
>> .java:110)
>>
>> at
>>
>>     
> com.webobjects.appserver._private.WOComponentContent.invokeAction(WOComp
> onen
>   
>> tContent.java:31)
>>
>> at
>>
>>     
> com.webobjects.appserver._private.WODynamicGroup.invokeChildrenAction(WO
> Dyna
>   
>> micGroup.java:101)
>>
>> at
>>
>>     
> com.webobjects.appserver._private.WODynamicGroup.invokeAction(WODynamicG
> roup
>   
>> .java:110)
>>
>> at
>>
>>     
> com.webobjects.appserver._private.WOComponentContent.invokeAction(WOComp
> onen
>   
>> tContent.java:31)
>>
>> at
>>
>>     
> com.webobjects.appserver._private.WOComponentContent.invokeAction(WOComp
> onen
>   
>> tContent.java:31)
>>
>> at
>>
>>     
> com.webobjects.appserver._private.WODynamicGroup.invokeChildrenAction(WO
> Dyna
>   
>> micGroup.java:101)
>>
>> at
>>
>>     
> com.webobjects.appserver._private.WODynamicGroup.invokeAction(WODynamicG
> roup
>   
>> .java:110)
>>
>> at
>>
>>     
> com.webobjects.appserver._private.WOConditional.invokeAction(WOCondition
> al.j
>   
>> ava:55)
>>
>> at
>>
>>     
> com.webobjects.appserver._private.WODynamicGroup.invokeChildrenAction(WO
> Dyna
>   
>> micGroup.java:101)
>>
>> at
>>
>>     
> com.webobjects.appserver._private.WODynamicGroup.invokeAction(WODynamicG
> roup
>   
>> .java:110)
>>
>> at
>>     
> com.webobjects.appserver.WOComponent.invokeAction(WOComponent.java:945)
>   
>> at
>>
>>     
> com.webobjects.appserver._private.WOComponentReference.invokeAction(WOCo
> mpon
>   
>> entReference.java:104)
>>
>> at
>>
>>     
> com.webobjects.appserver._private.WODynamicGroup.invokeChildrenAction(WO
> Dyna
>   
>> micGroup.java:101)
>>
>> at
>>
>>     
> com.webobjects.appserver._private.WODynamicGroup.invokeAction(WODynamicG
> roup
>   
>> .java:110)
>>
>> at
>>     
> com.webobjects.appserver._private.WOForm.invokeAction(WOForm.java:82)
>   
>> at
>>
>>     
> com.webobjects.appserver._private.WODynamicGroup.invokeChildrenAction(WO
> Dyna
>   
>> micGroup.java:101)
>>
>> at
>>
>>     
> com.webobjects.appserver._private.WODynamicGroup.invokeAction(WODynamicG
> roup
>   
>> .java:110)
>>
>> at
>>     
> com.webobjects.appserver.WOComponent.invokeAction(WOComponent.java:945)
>   
>> at
>>
>>     
> com.webobjects.appserver._private.WOComponentReference.invokeAction(WOCo
> mpon
>   
>> entReference.java:104)
>>
>> at
>>
>>     
> com.webobjects.appserver._private.WODynamicGroup.invokeChildrenAction(WO
> Dyna
>   
>> micGroup.java:101)
>>
>> at
>>
>>     
> com.webobjects.appserver._private.WODynamicGroup.invokeAction(WODynamicG
> roup
>   
>> .java:110)
>>
>> at
>>     
> com.webobjects.appserver.WOComponent.invokeAction(WOComponent.java:945)
>   
>> at
>>
>>     
> com.webobjects.appserver._private.WOComponentReference.invokeAction(WOCo
> mpon
>   
>> entReference.java:104)
>>
>> at
>>
>>     
> com.webobjects.appserver._private.WODynamicGroup.invokeChildrenAction(WO
> Dyna
>   
>> micGroup.java:101)
>>
>> at
>>
>>     
> com.webobjects.appserver._private.WODynamicGroup.invokeAction(WODynamicG
> roup
>   
>> .java:110)
>>
>> at
>>     
> com.webobjects.appserver.WOComponent.invokeAction(WOComponent.java:945)
>   
>> at
>>     
> com.webobjects.appserver.WOSession.invokeAction(WOSession.java:1168)
>   
>> at
>>
>>     
> com.webobjects.appserver.WOApplication.invokeAction(WOApplication.java:1
> 375)
>   
>> at
>>
>>     
> com.webobjects.appserver._private.WOComponentRequestHandler._dispatchWit
> hPre
>   
>> paredPage(WOComponentRequestHandler.java:196)
>>
>> at
>>
>>     
> com.webobjects.appserver._private.WOComponentRequestHandler._dispatchWit
> hPre
>   
>> paredSession(WOComponentRequestHandler.java:287)
>>
>> at
>>
>>     
> com.webobjects.appserver._private.WOComponentRequestHandler._dispatchWit
> hPre
>   
>> paredApplication(WOComponentRequestHandler.java:322)
>>
>> at
>>
>>     
> com.webobjects.appserver._private.WOComponentRequestHandler._handleReque
> st(W
>   
>> OComponentRequestHandler.java:358)
>>
>> at
>>
>>     
> com.webobjects.appserver._private.WOComponentRequestHandler.handleReques
> t(WO
>   
>> ComponentRequestHandler.java:432)
>>
>> at
>>
>>     
> com.webobjects.appserver.WOApplication.dispatchRequest(WOApplication.jav
> a:13
>   
>> 06)
>>
>> at
>>
>>     
> com.webobjects.appserver._private.WOWorkerThread.runOnce(WOWorkerThread.
> java
>   
>> :173)
>>
>> at
>>
>>     
> com.webobjects.appserver._private.WOWorkerThread.run(WOWorkerThread.java
> :254
>   
>> )
>>
>> at java.lang.Thread.run(Thread.java:595)
>>
>> -------------------------------------------------
>>
>>
>>   
>>     
>
>
>   


Mime
View raw message