You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cayenne.apache.org by "Patrick Mayweg (JIRA)" <ji...@apache.org> on 2009/10/08 08:19:31 UTC
[jira] Created: (CAY-1289) Order delete statements before insert
statements when committing changes to the database
Order delete statements before insert statements when committing changes to the database
----------------------------------------------------------------------------------------
Key: CAY-1289
URL: https://issues.apache.org/jira/browse/CAY-1289
Project: Cayenne
Issue Type: Bug
Components: Cayenne Core Library
Affects Versions: 3.0M6
Environment: Java 1.6, Windows XP, JBoss
Reporter: Patrick Mayweg
When committing changes to the database, the delete statements should be excuted before the insert statements.
We often remove old objects and create new objects for the same unique key values.
If the delete statements are not executed before the insert statements, we are getting unique key violations from the database.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Closed: (CAY-1289) Order delete statements before insert
statements when committing changes to the database
Posted by "Andrey Razumovsky (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/CAY-1289?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Andrey Razumovsky closed CAY-1289.
----------------------------------
Resolution: Duplicate
This is actually duplicate of CAY-536. Maybe you'll find some useful information there..
> Order delete statements before insert statements when committing changes to the database
> ----------------------------------------------------------------------------------------
>
> Key: CAY-1289
> URL: https://issues.apache.org/jira/browse/CAY-1289
> Project: Cayenne
> Issue Type: Bug
> Components: Cayenne Core Library
> Affects Versions: 3.0M6
> Environment: Java 1.6, Windows XP, JBoss
> Reporter: Patrick Mayweg
>
> When committing changes to the database, the delete statements should be excuted before the insert statements.
> We often remove old objects and create new objects for the same unique key values.
> If the delete statements are not executed before the insert statements, we are getting unique key violations from the database.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Commented: (CAY-1289) Order delete statements before insert
statements when committing changes to the database
Posted by "Andrus Adamchik (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/CAY-1289?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12763380#action_12763380 ]
Andrus Adamchik commented on CAY-1289:
--------------------------------------
It is not that simple. Suggested fix will most certainly break other (arguably more common) cases. A few suggestions:
1. Instead of DELETE/INSERT pair, use UPDATE
2. Use manual transaction to wrap two sequential ObjectContext commits - one to delete the objects, and another to insert the new ones. This will ensure the right commit order and atomic rollback:
http://cayenne.apache.org/doc/understanding-transactions.html
> Order delete statements before insert statements when committing changes to the database
> ----------------------------------------------------------------------------------------
>
> Key: CAY-1289
> URL: https://issues.apache.org/jira/browse/CAY-1289
> Project: Cayenne
> Issue Type: Bug
> Components: Cayenne Core Library
> Affects Versions: 3.0M6
> Environment: Java 1.6, Windows XP, JBoss
> Reporter: Patrick Mayweg
>
> When committing changes to the database, the delete statements should be excuted before the insert statements.
> We often remove old objects and create new objects for the same unique key values.
> If the delete statements are not executed before the insert statements, we are getting unique key violations from the database.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.