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;
