I suggest filing a bug with H2 and downgrading down, until we (hopefully) find a version that is free of that bug but still supports auto-increment. If that doesn't work, we can switch tests to file-based URLs.
Andrus
On Oct 9, 2010, at 6:23 PM, Michael Gentry wrote:
> Hi,
>
> I just did an experiment. Using H2 against a file (/tmp/CayenneTest)
> it worked fine (returned one record). Against an in memory DB it
> failed (returned 3 records). Seems like there is a bug in H2
> somewhere. Thoughts on how we should handle this?
>
> Thanks,
>
> mrg
>
> PS. Here is the SQL:
>
>
> CREATE TABLE ARTIST (ARTIST_ID BIGINT NOT NULL, ARTIST_NAME CHAR(254)
> NOT NULL, DATE_OF_BIRTH DATE NULL, PRIMARY KEY (ARTIST_ID));
> CREATE TABLE PAINTING (ARTIST_ID BIGINT NULL, ESTIMATED_PRICE
> DECIMAL(10, 2) NULL, GALLERY_ID INTEGER NULL, PAINTING_DESCRIPTION
> VARCHAR(255) NULL, PAINTING_ID INTEGER NOT NULL, PAINTING_TITLE
> VARCHAR(255) NOT NULL, PRIMARY KEY (PAINTING_ID));
>
> INSERT INTO ARTIST (ARTIST_ID, ARTIST_NAME) VALUES (33001, 'B');
> INSERT INTO ARTIST (ARTIST_ID, ARTIST_NAME) VALUES (33002, 'A');
> INSERT INTO ARTIST (ARTIST_ID, ARTIST_NAME) VALUES (33003, 'D');
> INSERT INTO PAINTING (PAINTING_ID, ARTIST_ID, PAINTING_TITLE,
> ESTIMATED_PRICE) VALUES (33009, 33001, 'X', 5000);
> INSERT INTO PAINTING (PAINTING_ID, ARTIST_ID, PAINTING_TITLE,
> ESTIMATED_PRICE) VALUES (33010, 33001, 'Y', 5000);
> INSERT INTO PAINTING (PAINTING_ID, ARTIST_ID, PAINTING_TITLE,
> ESTIMATED_PRICE) VALUES (33011, 33002, 'Z', 5000);
>
> SELECT t0.DATE_OF_BIRTH AS ec0_0, t0.ARTIST_ID AS ec0_2,
> t0.ARTIST_NAME AS ec0_1 FROM ARTIST t0 LEFT OUTER JOIN PAINTING t1 ON
> (t0.ARTIST_ID = t1.ARTIST_ID) WHERE t1.PAINTING_ID IS NULL;
>
This archive was generated by hypermail 2.0.0 : Sat Oct 09 2010 - 15:30:12 UTC