Hi Andrus.
I have some CAY-52 attachments that need deleting.
http://objectstyle.org/jira/secure/ViewIssue.jspa?key=CAY-52
First off, the attachment orderDataMap.map.xml doesn't seem to be
accessible. This may be a bug in the JIRA software. As far as I know,
orderDataMap.xml is the same file renamed and reuploaded, and is accessible.
Second, Achim Dreyer found a non-optimistic-locking bug in my 1.1M3 patch
which was corrected in my 1.1M4 patch.
Third, I cleaned up my 1.1M4 patch to correctly log and to add test cases.
This leaves 3 data files and 3 old patches (2 of which are defective) which
should probably be removed.
1. error.txt (12 kb)
2. OptimisticLocking-1.1M3.zip (10 kb)
3. OptimisticLocking.patch-1.1M3.txt (31 kb)
5. OptimisticLocking.patch-1.1M4.txt (29 kb)
6. orderDataMap.map.xml (39 kb)
7. orderDataMap.xml (39 kb)
I expect the following patch to be my final patch.
4. OptimisticLocking.patch-1.1M4-2.txt (44 kb)
This patch was mostly a cleanup to make the patch presentable to the public
(fixing logging and adding testcases). I have now been using my optimistic
locking patch for several weeks with each-and-every entity, attribute, and
relationship set for optimistic-locking on both OpenBase 8.0 and Oracle 9i.
While bugs may remain, it's unlikely that they will occur in my environment.
If there are no objections, I will probably announce this patch on the
cayenne-user mailing list in a week (I want to make sure Achim doesn't find
any SQL server (or other) issues).
I hope this provides enough of a framework for a committer to investigate
adding optimistic locking to 1.1.
In my opinion, there are no other designs compatible with Cayenne for
implementing optimistic locking. There may be minor tweaking with how some
of my code is organized, but I don't think there are reasonable alternatives
for implementing optimistic locking.
As to improvements, there are batch optimizations that could be made for
adaptors that can handle NULL as a parameter value for "UPDATE ... WHERE
locking_attribute = ?" statements rather than requiring "UPDATE ... WHERE
locking_attribute IS NULL", but that's beyond my interests to fix, and I
don't have the knowledge to know which adaptors those would be, other than
OpenBase. I do know that Oracle does not handle that case.
-Mike
This archive was generated by hypermail 2.0.0 : Tue Mar 16 2004 - 17:30:22 EST