Re: Cayenne CRUD tester and found bugs (1.2M4)

From: Mikaël Cluseau (nwr..wrk.dyndns.org)
Date: Tue Jun 21 2005 - 18:39:54 EDT

  • Next message: Andrus Adamchik: "1.2 User Guide On Wiki"

    Le lundi 20 juin 2005 à 22:22 -0400, Andrus Adamchik a écrit :
    > This finally forced me to install JDK 1.5 on my Mac and upgrade to
    > Eclipse 3.1 :-)

    All this is fine, you'll see ;-) Java 5 saved me some hours (no more
    than HiveMind currently promises but enough to justify :-)) but... the
    problem for public projects is :

    $ javac -source 1.5 -target 1.4
    javac: source release 1.5 requires target release 1.5

    Worth to warn...

    >
    > Anyway, I found a bug ... Integer vs. Long PK:
    >
    > http://objectstyle.org/jira/secure/ViewIssue.jspa?key=CAY-329
    >
    > Once we fix it, I guess we should upload the automated tester to the
    > examples section on Wiki.

    100% ok, this will definitely help finding bugs in extremes case I seem
    to love exploring :-)

    >
    > Andrus
    >
    > On Jun 14, 2005, at 6:14 PM, Mikaël Cluseau wrote:
    >
    > > Sure, I packaged the CRUD test for your convenience. Any code there is
    > > free of use for the Cayenne project (incl. CayenneDataBean, I
    > > thought it
    > > could be of interest). There no licence, it is left to your
    > > discretion.
    > >
    > > This is an Eclipse project export, I understood it would help :-) I
    > > included my cayenne.jar and the corresponding sources.
    > >
    > > http://nwrk.dyndns.org/~nwrk/CayenneTesting.tar.gz
    > >
    > > Le lundi 13 juin 2005 à 19:42 -0400, Andrus Adamchik a écrit :
    > >
    > >> A similar problem was identified for byte[] PKs (http://
    > >> objectstyle.org/jira/secure/ViewIssue.jspa?key=CAY-323). It was shown
    > >> that the problem is in Util.nullSafeEquals() not doing deep array
    > >> comparison. However I've never seen it happen for the int ObjectIds.
    > >> So it must be something else.
    > >>
    > >> Do you have a test case that I can run to reproduce it?
    > >>
    > >> Andrus
    > >>
    > >>
    > >> On Jun 11, 2005, at 4:38 PM, Mikaël Cluseau wrote:
    > >>
    > >>
    > >>> Le samedi 11 juin 2005 à 13:24 -0400, Andrus Adamchik a écrit :
    > >>>
    > >>>
    > >>>>> I'm writing an automated CRUD tester for Cayenne (I will
    > >>>>> contribute
    > >>>>> it ;-)).
    > >>>>>
    > >>>>>
    > >>>>
    > >>>> This would definitely be extremely handy.
    > >>>>
    > >>>>
    > >>>
    > >>> That will be done soon then :-)
    > >>>
    > >>>
    > >>>
    > >>>>> 1. I create a DataObject (mandatory attributes and relationships
    > >>>>> are filled with random values).
    > >>>>>
    > >>>>>
    > >>>>
    > >>>> I assume there is a "1.5. commit"?
    > >>>>
    > >>>>
    > >>>
    > >>> There are commits after each modifying step: create, commit,
    > >>> refetch,
    > >>> update, commit, delete, commit (and a hidden cleanup, commit). I
    > >>> updated
    > >>> to the latest CVS version. I traced the code deeper this time :-)
    > >>> and I
    > >>> think I've found why I have this problem.
    > >>>
    > >>> For some reason I still need to find, Cayenne wishes to replace the
    > >>> object's PK with the same value. The problem is that then, it
    > >>> does the
    > >>> following code, lines 604 and 605 of ObjectStore.java :
    > >>>
    > >>> objectMap.remove(id);
    > >>> dataRowCache.forgetSnapshot(id);
    > >>>
    > >>> And since the new ObjectId is the same as the old one, it
    > >>> effectively
    > >>> removes the objet for the cache. The update is (id is the primary
    > >>> key) :
    > >>>
    > >>> UPDATE schema.table SET id = ?, [...] WHERE id = ?
    > >>> [bind: 10001, [...], 10001]
    > >>>
    > >>> I checked, I never touch the PK, so I really don't get when Cayenne
    > >>> changes it... I'm using PostgreSQL, if there anything with the
    > >>> adaptor
    > >>> to check. Any idea?
    > >>>
    > >>>
    > >>>
    > >>
    > >>
    > >
    > >
    >



    This archive was generated by hypermail 2.0.0 : Tue Jun 21 2005 - 18:39:37 EDT