> And does DISJOINT map to: > > SELECT * FROM ARTIST WHERE ARTIST_NAME LIKE 'X%' FETCH LIMIT 10; > SELECT * FROM PAINTING WHERE true;
Effectively yes. With some extra nastiness like joins inherited from the parent query. > Are you proposing this new join type be: > > SELECT * FROM ARTIST WHERE ARTIST_NAME LIKE 'X%' FETCH LIMIT 10; > SELECT * FROM PAINTING WHERE ARTIST_ID IN (123, 124, ....) Yes. Andrus On Jan 30, 2012, at 1:12 PM, Aristedes Maniatis wrote: > On 30/01/12 8:21 PM, Andrus Adamchik wrote: >> >> On Jan 30, 2012, at 12:13 PM, Aristedes Maniatis wrote: >> >>> Isn't this just a bug in the old DISJOINT approach rather than a new type >>> of prefetch? What is the use-case for fetching all related records in the >>> database when you have a fetch limit? >> >> This is not a bug, rather a limitation of the algorithm. DISJOINT approach >> is based on the root query qualifier transposed for the related entity. It >> has no way of knowing which root objects will get below the fetch limit. >> >> Root: >> >> SELECT * FROM ARTIST WHERE ARTIST_NAME LIKE 'X%' FETCH LIMIT 10; >> >> Prefetch >> >> SELECT PAINTING.* FROM PAINTING JOIN ARTIST ON (..) WHERE >> ARTIST.ARTIST_NAME LIKE 'X%' FETCH LIMIT ???? >> >> Andrus > > And does DISJOINT map to: > > SELECT * FROM ARTIST WHERE ARTIST_NAME LIKE 'X%' FETCH LIMIT 10; > SELECT * FROM PAINTING WHERE true; > > > Are you proposing this new join type be: > > SELECT * FROM ARTIST WHERE ARTIST_NAME LIKE 'X%' FETCH LIMIT 10; > SELECT * FROM PAINTING WHERE ARTIST_ID IN (123, 124, ....) > > > > Ari > > > -- > --------------------------> > Aristedes Maniatis > GPG fingerprint CBFB 84B4 738D 4E87 5E5C 5EFA EF6A 7D2E 3E49 102A >
