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; >
