the second record is valid.  I am indeed wanting to insert two records.  so why 
would the retrieving of the next sequence number return me a number not in 
sequence?


On 2010-12-08, at 12:24 PM, Chuck Hill wrote:

> 
> On Dec 8, 2010, at 8:28 AM, Calven Eggert wrote:
> 
>> Recently a WO app has been getting the unique constraint error when creating 
>> a record.  This application has been running for years and so I'm surprised 
>> at this 'just' showing up.  here is the problem:  you'll see in the 
>> following lines that an index is retrieved for jobs_notes_seq twice because 
>> I'm inserting two records.  next you'll see the insert statements.  look at 
>> the notesid field.  
>> 
>> [2010-12-8 10:54:32 EST] <WorkerThread1>  === Begin Internal Transaction
>> [2010-12-8 10:54:32 EST] <WorkerThread1>  evaluateExpression: 
>> <com.webobjects.jdbcadaptor.OraclePlugIn$OracleExpression: "SELECT 
>> JOBS_NOTES_SEQ.NEXTVAL FROM DUAL" withBindings: >
>> [2010-12-8 10:54:32 EST] <WorkerThread1> 1 row(s) processed
>> [2010-12-8 10:54:32 EST] <WorkerThread1>  === Commit Internal Transaction
>> [2010-12-8 10:54:32 EST] <WorkerThread1>  === Begin Internal Transaction
>> [2010-12-8 10:54:32 EST] <WorkerThread1>  evaluateExpression: 
>> <com.webobjects.jdbcadaptor.OraclePlugIn$OracleExpression: "SELECT 
>> JOBS_NOTES_SEQ.NEXTVAL FROM DUAL" withBindings: >
>> [2010-12-8 10:54:32 EST] <WorkerThread1> 1 row(s) processed
>> [2010-12-8 10:54:32 EST] <WorkerThread1>  === Commit Internal Transaction
>> [2010-12-8 10:54:32 EST] <WorkerThread1>  === Begin Internal Transaction
>> [2010-12-8 10:54:32 EST] <WorkerThread1>  evaluateExpression: 
>> <com.webobjects.jdbcadaptor.OraclePlugIn$OracleExpression: "INSERT INTO 
>> JOBS_NOTES(NOTES_SUBMITTED_BY, NOTES_HYPERLINK, NOTES_USER_VISIBLE, 
>> NOTES_JOB_ID, NOTES_SUBMITTED_DATE, NOTES_DESCRIPTION, NOTES_ID, 
>> NOTES_ATTACHMENT_NAME) VALUES (?, NULL, ?, ?, ?, ?, ?, ?)" withBindings: 
>> 1:204(submittedby), 2:"N"(uservisible), 3:292(jobid), 4:2010-12-08 
>> 10:54:17(submitteddate), 5:"gg"(notesdescription), 6:922(notesid), 
>> 7:"Overview.graffle"(attachmentname)>
>> [2010-12-8 10:54:32 EST] <WorkerThread1>  evaluateExpression: 
>> <com.webobjects.jdbcadaptor.OraclePlugIn$OracleExpression: "INSERT INTO 
>> JOBS_NOTES(NOTES_SUBMITTED_BY, NOTES_HYPERLINK, NOTES_USER_VISIBLE, 
>> NOTES_JOB_ID, NOTES_SUBMITTED_DATE, NOTES_DESCRIPTION, NOTES_ID, 
>> NOTES_ATTACHMENT_NAME) VALUES (?, NULL, ?, ?, ?, ?, ?, ?)" withBindings: 
>> 1:204(submittedby), 2:"N"(uservisible), 3:292(jobid), 4:2010-12-08 
>> 10:54:23(submitteddate), 5:"hh"(notesdescription), 6:56(notesid), 
>> 7:"Overview.graffle"(attachmentname)>
>> [2010-12-8 10:54:33 EST] <WorkerThread1>  === Rollback Internal Transaction
>> 
>> see how one is 922 and another is 56?  922 is correct but the 56 should be 
>> 923.
> 
> I don't think that is the problem.  I think the problem is that the second 
> was supposed to be an UPDATE or DELETE statement.  This happens when you 
> violate EOF commandments (not locking properly for example).  EOF gets 
> confused between one operation and another.
> 
> Go forth and sin no more!
> 
> Chuck
> 
> 
>> very strange.  then when the records are committed, sometimes I get the 
>> dreaded error message:
>> 
>> com.webobjects.eoaccess.EOGeneralAdaptorException: EvaluateExpression 
>> failed: <com.webobjects.jdbcadaptor.OraclePlugIn$OracleExpression: "INSERT 
>> INTO JOBS_NOTES(NOTES_SUBMITTED_BY, NOTES_HYPERLINK, NOTES_USER_VISIBLE, 
>> NOTES_JOB_ID, NOTES_SUBMITTED_DATE, NOTES_DESCRIPTION, NOTES_ID, 
>> NOTES_ATTACHMENT_NAME) VALUES (?, NULL, ?, ?, ?, ?, ?, ?)" withBindings: 
>> 1:204(submittedby), 2:"N"(uservisible), 3:292(jobid), 4:2010-12-08 
>> 10:54:23(submitteddate), 5:"hh"(notesdescription), 6:56(notesid), 
>> 7:"Overview.graffle"(attachmentname)>
>>    Next exception:SQL State:23000 -- error code: 1 -- msg: ORA-00001: unique 
>> constraint (COREDEV3.SYS_C0031657) violated
>> 
>> Obviously this is a problem because number 56 was already a record in the 
>> table.  Sometimes, there is no error message and the record is not even 
>> created.  And sometimes, when the index is correct the record is created 
>> successfully.  argh!
>> 
>> Anyone have this problem before or know what I can do to solve this mystery? 
>> (I've dropped the sequences and recreated them a couple of times.  but it 
>> doesn't solve the problem)
>> 
>> Thanks for your time.
>> 
>> Calven
>> 
>> 
>> _______________________________________________
>> Do not post admin requests to the list. They will be ignored.
>> Webobjects-dev mailing list      (Webobjects-dev@lists.apple.com)
>> Help/Unsubscribe/Update your Subscription:
>> http://lists.apple.com/mailman/options/webobjects-dev/chill%40global-village.net
>> 
>> This email sent to ch...@global-village.net
> 
> -- 
> Chuck Hill             Senior Consultant / VP Development
> 
> Practical WebObjects - for developers who want to increase their overall 
> knowledge of WebObjects or who are trying to solve specific problems.    
> http://www.global-village.net/products/practical_webobjects
> 
> 
> 
> 
> 
> 
> 


 _______________________________________________
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list      (Webobjects-dev@lists.apple.com)
Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com

Reply via email to