Re: ContextCommit refactoring

From: Andrus Adamchik (andru..bjectstyle.org)
Date: Wed Mar 05 2003 - 02:04:31 EST

  • Next message: Craig Miskell: "Re: ContextCommit refactoring"

    Andriy,

    I am continuing on ContextCommit... When I switch
    DataContext.commitChanges() to ContextCommit locally, I am down to 2
    failed unit tests, not bad at all ;). Most important - now BatchQueries
    use the same logging mechanism as the rest of Cayenne, so they are much
    easier to debug.

    But suddenly I started having a bunch integrity problems with regression
    tests that didn't happen before. From looking at my changes, I couldn't
    figure out what may have caused this, there was no changes to the order
    of the queries what so ever.

    So I approached this from another end. I turned on SQL debugging of
    regression test batches, and discovered that there is only one kind of
    queries that fail: DELETE queries for the rows that reference themselves
    via an FK (and I think also rows that reference rows that reference
    themselves). From the RDBMS standpoint, having such row is totally
    acceptable I guess, though I don't think I ever had them in real life.

    Not sure if there are any other failures though...

    Ok, so via a wayback machine of CVS, I switched to ContextCommit, r1.11
    (the one that worked just yesterday) - the same problem.... So I wonder
    if any changes done in other parts of Cayenne may have affected this?

    Any insights?

    Andrus

    Andrus Adamchik wrote:
    > Andriy,
    >
    > I started looking at ContextCommit integration with the main commit
    > process. First thing I had to do is to refactor ContextCommit, creating
    > a helper class DataNodeCommitHelper to store some of the intermediate
    > data structures.
    >
    > After this change regression tests seem to pass just fine. Let me know
    > if you find any problems though. If we have to revert the changes, just
    > switch back to ContextCommit, CVS revision 1.11.
    >
    > Andrus



    This archive was generated by hypermail 2.0.0 : Wed Mar 05 2003 - 02:06:09 EST