Final optimistic locking patch available / CAY-52 attachments need deleting

From: Mike Kienenberger (mkienen..laska.net)
Date: Tue Mar 16 2004 - 17:31:01 EST

  • Next message: Andriy Shapochka: "Re: OutOfMemoryError while running test suite on Oracle 9i"

    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