Awesome. It worked. Can we possibly log a Jira about H2 auto increment feature and record it in RELEASE-NOTES? It should help us down the line in documenting 3.1 improvements.
Andrus On Oct 9, 2010, at 7:05 PM, Michael Gentry wrote: > H2 1.1.119 ran tests successfully locally, so I've committed the POM > and hopefully Hudson will build cleanly now. > > mrg > > > On Sat, Oct 9, 2010 at 11:29 AM, Andrus Adamchik <[email protected]> > wrote: >> 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; >>> >> >> >
