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:24:21 UTC