357 |
357 |
358 # DISTINCT, can use relation under exists scope as principal |
358 # DISTINCT, can use relation under exists scope as principal |
359 ('DISTINCT Any X,Y WHERE X name "CWGroup", Y eid IN(1, 2, 3), EXISTS(X read_permission Y)', |
359 ('DISTINCT Any X,Y WHERE X name "CWGroup", Y eid IN(1, 2, 3), EXISTS(X read_permission Y)', |
360 '''SELECT DISTINCT _X.cw_eid, rel_read_permission0.eid_to |
360 '''SELECT DISTINCT _X.cw_eid, rel_read_permission0.eid_to |
361 FROM cw_CWEType AS _X, read_permission_relation AS rel_read_permission0 |
361 FROM cw_CWEType AS _X, read_permission_relation AS rel_read_permission0 |
362 WHERE _X.cw_name=CWGroup AND rel_read_permission0.eid_to IN(1, 2, 3) AND EXISTS(SELECT 1 WHERE rel_read_permission0.eid_from=_X.cw_eid) |
|
363 UNION |
|
364 SELECT DISTINCT _X.cw_eid, rel_read_permission0.eid_to |
|
365 FROM cw_CWRType AS _X, read_permission_relation AS rel_read_permission0 |
|
366 WHERE _X.cw_name=CWGroup AND rel_read_permission0.eid_to IN(1, 2, 3) AND EXISTS(SELECT 1 WHERE rel_read_permission0.eid_from=_X.cw_eid)'''), |
362 WHERE _X.cw_name=CWGroup AND rel_read_permission0.eid_to IN(1, 2, 3) AND EXISTS(SELECT 1 WHERE rel_read_permission0.eid_from=_X.cw_eid)'''), |
367 |
363 |
368 # no distinct, Y can't be invariant |
364 # no distinct, Y can't be invariant |
369 ('Any X,Y WHERE X name "CWGroup", Y eid IN(1, 2, 3), EXISTS(X read_permission Y)', |
365 ('Any X,Y WHERE X name "CWGroup", Y eid IN(1, 2, 3), EXISTS(X read_permission Y)', |
370 '''SELECT _X.cw_eid, _Y.cw_eid |
366 '''SELECT _X.cw_eid, _Y.cw_eid |
371 FROM cw_CWEType AS _X, cw_CWGroup AS _Y |
367 FROM cw_CWEType AS _X, cw_CWGroup AS _Y |
372 WHERE _X.cw_name=CWGroup AND _Y.cw_eid IN(1, 2, 3) AND EXISTS(SELECT 1 FROM read_permission_relation AS rel_read_permission0 WHERE rel_read_permission0.eid_from=_X.cw_eid AND rel_read_permission0.eid_to=_Y.cw_eid) |
368 WHERE _X.cw_name=CWGroup AND _Y.cw_eid IN(1, 2, 3) AND EXISTS(SELECT 1 FROM read_permission_relation AS rel_read_permission0 WHERE rel_read_permission0.eid_from=_X.cw_eid AND rel_read_permission0.eid_to=_Y.cw_eid) |
373 UNION ALL |
369 UNION ALL |
374 SELECT _X.cw_eid, _Y.cw_eid |
370 SELECT _X.cw_eid, _Y.cw_eid |
375 FROM cw_CWEType AS _X, cw_RQLExpression AS _Y |
371 FROM cw_CWEType AS _X, cw_RQLExpression AS _Y |
376 WHERE _X.cw_name=CWGroup AND _Y.cw_eid IN(1, 2, 3) AND EXISTS(SELECT 1 FROM read_permission_relation AS rel_read_permission0 WHERE rel_read_permission0.eid_from=_X.cw_eid AND rel_read_permission0.eid_to=_Y.cw_eid) |
|
377 UNION ALL |
|
378 SELECT _X.cw_eid, _Y.cw_eid |
|
379 FROM cw_CWGroup AS _Y, cw_CWRType AS _X |
|
380 WHERE _X.cw_name=CWGroup AND _Y.cw_eid IN(1, 2, 3) AND EXISTS(SELECT 1 FROM read_permission_relation AS rel_read_permission0 WHERE rel_read_permission0.eid_from=_X.cw_eid AND rel_read_permission0.eid_to=_Y.cw_eid) |
|
381 UNION ALL |
|
382 SELECT _X.cw_eid, _Y.cw_eid |
|
383 FROM cw_CWRType AS _X, cw_RQLExpression AS _Y |
|
384 WHERE _X.cw_name=CWGroup AND _Y.cw_eid IN(1, 2, 3) AND EXISTS(SELECT 1 FROM read_permission_relation AS rel_read_permission0 WHERE rel_read_permission0.eid_from=_X.cw_eid AND rel_read_permission0.eid_to=_Y.cw_eid)'''), |
372 WHERE _X.cw_name=CWGroup AND _Y.cw_eid IN(1, 2, 3) AND EXISTS(SELECT 1 FROM read_permission_relation AS rel_read_permission0 WHERE rel_read_permission0.eid_from=_X.cw_eid AND rel_read_permission0.eid_to=_Y.cw_eid)'''), |
385 |
373 |
386 # DISTINCT but NEGED exists, can't be invariant |
374 # DISTINCT but NEGED exists, can't be invariant |
387 ('DISTINCT Any X,Y WHERE X name "CWGroup", Y eid IN(1, 2, 3), NOT EXISTS(X read_permission Y)', |
375 ('DISTINCT Any X,Y WHERE X name "CWGroup", Y eid IN(1, 2, 3), NOT EXISTS(X read_permission Y)', |
388 '''SELECT DISTINCT _X.cw_eid, _Y.cw_eid |
376 '''SELECT DISTINCT _X.cw_eid, _Y.cw_eid |
389 FROM cw_CWEType AS _X, cw_CWGroup AS _Y |
377 FROM cw_CWEType AS _X, cw_CWGroup AS _Y |
390 WHERE _X.cw_name=CWGroup AND _Y.cw_eid IN(1, 2, 3) AND NOT EXISTS(SELECT 1 FROM read_permission_relation AS rel_read_permission0 WHERE rel_read_permission0.eid_from=_X.cw_eid AND rel_read_permission0.eid_to=_Y.cw_eid) |
378 WHERE _X.cw_name=CWGroup AND _Y.cw_eid IN(1, 2, 3) AND NOT EXISTS(SELECT 1 FROM read_permission_relation AS rel_read_permission0 WHERE rel_read_permission0.eid_from=_X.cw_eid AND rel_read_permission0.eid_to=_Y.cw_eid) |
391 UNION |
379 UNION |
392 SELECT DISTINCT _X.cw_eid, _Y.cw_eid |
380 SELECT DISTINCT _X.cw_eid, _Y.cw_eid |
393 FROM cw_CWEType AS _X, cw_RQLExpression AS _Y |
381 FROM cw_CWEType AS _X, cw_RQLExpression AS _Y |
394 WHERE _X.cw_name=CWGroup AND _Y.cw_eid IN(1, 2, 3) AND NOT EXISTS(SELECT 1 FROM read_permission_relation AS rel_read_permission0 WHERE rel_read_permission0.eid_from=_X.cw_eid AND rel_read_permission0.eid_to=_Y.cw_eid) |
|
395 UNION |
|
396 SELECT DISTINCT _X.cw_eid, _Y.cw_eid |
|
397 FROM cw_CWGroup AS _Y, cw_CWRType AS _X |
|
398 WHERE _X.cw_name=CWGroup AND _Y.cw_eid IN(1, 2, 3) AND NOT EXISTS(SELECT 1 FROM read_permission_relation AS rel_read_permission0 WHERE rel_read_permission0.eid_from=_X.cw_eid AND rel_read_permission0.eid_to=_Y.cw_eid) |
|
399 UNION |
|
400 SELECT DISTINCT _X.cw_eid, _Y.cw_eid |
|
401 FROM cw_CWRType AS _X, cw_RQLExpression AS _Y |
|
402 WHERE _X.cw_name=CWGroup AND _Y.cw_eid IN(1, 2, 3) AND NOT EXISTS(SELECT 1 FROM read_permission_relation AS rel_read_permission0 WHERE rel_read_permission0.eid_from=_X.cw_eid AND rel_read_permission0.eid_to=_Y.cw_eid)'''), |
382 WHERE _X.cw_name=CWGroup AND _Y.cw_eid IN(1, 2, 3) AND NOT EXISTS(SELECT 1 FROM read_permission_relation AS rel_read_permission0 WHERE rel_read_permission0.eid_from=_X.cw_eid AND rel_read_permission0.eid_to=_Y.cw_eid)'''), |
403 |
383 |
404 # should generate the same query as above |
384 # should generate the same query as above |
405 ('DISTINCT Any X,Y WHERE X name "CWGroup", Y eid IN(1, 2, 3), NOT X read_permission Y', |
385 ('DISTINCT Any X,Y WHERE X name "CWGroup", Y eid IN(1, 2, 3), NOT X read_permission Y', |
406 '''SELECT DISTINCT _X.cw_eid, _Y.cw_eid |
386 '''SELECT DISTINCT _X.cw_eid, _Y.cw_eid |
407 FROM cw_CWEType AS _X, cw_CWGroup AS _Y |
387 FROM cw_CWEType AS _X, cw_CWGroup AS _Y |
408 WHERE _X.cw_name=CWGroup AND _Y.cw_eid IN(1, 2, 3) AND NOT EXISTS(SELECT 1 FROM read_permission_relation AS rel_read_permission0 WHERE rel_read_permission0.eid_from=_X.cw_eid AND rel_read_permission0.eid_to=_Y.cw_eid) |
388 WHERE _X.cw_name=CWGroup AND _Y.cw_eid IN(1, 2, 3) AND NOT EXISTS(SELECT 1 FROM read_permission_relation AS rel_read_permission0 WHERE rel_read_permission0.eid_from=_X.cw_eid AND rel_read_permission0.eid_to=_Y.cw_eid) |
409 UNION |
389 UNION |
410 SELECT DISTINCT _X.cw_eid, _Y.cw_eid |
390 SELECT DISTINCT _X.cw_eid, _Y.cw_eid |
411 FROM cw_CWEType AS _X, cw_RQLExpression AS _Y |
391 FROM cw_CWEType AS _X, cw_RQLExpression AS _Y |
412 WHERE _X.cw_name=CWGroup AND _Y.cw_eid IN(1, 2, 3) AND NOT EXISTS(SELECT 1 FROM read_permission_relation AS rel_read_permission0 WHERE rel_read_permission0.eid_from=_X.cw_eid AND rel_read_permission0.eid_to=_Y.cw_eid) |
|
413 UNION |
|
414 SELECT DISTINCT _X.cw_eid, _Y.cw_eid |
|
415 FROM cw_CWGroup AS _Y, cw_CWRType AS _X |
|
416 WHERE _X.cw_name=CWGroup AND _Y.cw_eid IN(1, 2, 3) AND NOT EXISTS(SELECT 1 FROM read_permission_relation AS rel_read_permission0 WHERE rel_read_permission0.eid_from=_X.cw_eid AND rel_read_permission0.eid_to=_Y.cw_eid) |
|
417 UNION |
|
418 SELECT DISTINCT _X.cw_eid, _Y.cw_eid |
|
419 FROM cw_CWRType AS _X, cw_RQLExpression AS _Y |
|
420 WHERE _X.cw_name=CWGroup AND _Y.cw_eid IN(1, 2, 3) AND NOT EXISTS(SELECT 1 FROM read_permission_relation AS rel_read_permission0 WHERE rel_read_permission0.eid_from=_X.cw_eid AND rel_read_permission0.eid_to=_Y.cw_eid)'''), |
392 WHERE _X.cw_name=CWGroup AND _Y.cw_eid IN(1, 2, 3) AND NOT EXISTS(SELECT 1 FROM read_permission_relation AS rel_read_permission0 WHERE rel_read_permission0.eid_from=_X.cw_eid AND rel_read_permission0.eid_to=_Y.cw_eid)'''), |
421 |
393 |
422 # neged relation, can't be inveriant |
394 # neged relation, can't be inveriant |
423 ('Any X,Y WHERE X name "CWGroup", Y eid IN(1, 2, 3), NOT X read_permission Y', |
395 ('Any X,Y WHERE X name "CWGroup", Y eid IN(1, 2, 3), NOT X read_permission Y', |
424 '''SELECT _X.cw_eid, _Y.cw_eid |
396 '''SELECT _X.cw_eid, _Y.cw_eid |
425 FROM cw_CWEType AS _X, cw_CWGroup AS _Y |
397 FROM cw_CWEType AS _X, cw_CWGroup AS _Y |
426 WHERE _X.cw_name=CWGroup AND _Y.cw_eid IN(1, 2, 3) AND NOT EXISTS(SELECT 1 FROM read_permission_relation AS rel_read_permission0 WHERE rel_read_permission0.eid_from=_X.cw_eid AND rel_read_permission0.eid_to=_Y.cw_eid) |
398 WHERE _X.cw_name=CWGroup AND _Y.cw_eid IN(1, 2, 3) AND NOT EXISTS(SELECT 1 FROM read_permission_relation AS rel_read_permission0 WHERE rel_read_permission0.eid_from=_X.cw_eid AND rel_read_permission0.eid_to=_Y.cw_eid) |
427 UNION ALL |
399 UNION ALL |
428 SELECT _X.cw_eid, _Y.cw_eid |
400 SELECT _X.cw_eid, _Y.cw_eid |
429 FROM cw_CWEType AS _X, cw_RQLExpression AS _Y |
401 FROM cw_CWEType AS _X, cw_RQLExpression AS _Y |
430 WHERE _X.cw_name=CWGroup AND _Y.cw_eid IN(1, 2, 3) AND NOT EXISTS(SELECT 1 FROM read_permission_relation AS rel_read_permission0 WHERE rel_read_permission0.eid_from=_X.cw_eid AND rel_read_permission0.eid_to=_Y.cw_eid) |
|
431 UNION ALL |
|
432 SELECT _X.cw_eid, _Y.cw_eid |
|
433 FROM cw_CWGroup AS _Y, cw_CWRType AS _X |
|
434 WHERE _X.cw_name=CWGroup AND _Y.cw_eid IN(1, 2, 3) AND NOT EXISTS(SELECT 1 FROM read_permission_relation AS rel_read_permission0 WHERE rel_read_permission0.eid_from=_X.cw_eid AND rel_read_permission0.eid_to=_Y.cw_eid) |
|
435 UNION ALL |
|
436 SELECT _X.cw_eid, _Y.cw_eid |
|
437 FROM cw_CWRType AS _X, cw_RQLExpression AS _Y |
|
438 WHERE _X.cw_name=CWGroup AND _Y.cw_eid IN(1, 2, 3) AND NOT EXISTS(SELECT 1 FROM read_permission_relation AS rel_read_permission0 WHERE rel_read_permission0.eid_from=_X.cw_eid AND rel_read_permission0.eid_to=_Y.cw_eid)'''), |
402 WHERE _X.cw_name=CWGroup AND _Y.cw_eid IN(1, 2, 3) AND NOT EXISTS(SELECT 1 FROM read_permission_relation AS rel_read_permission0 WHERE rel_read_permission0.eid_from=_X.cw_eid AND rel_read_permission0.eid_to=_Y.cw_eid)'''), |
439 |
403 |
440 ('Any MAX(X)+MIN(X), N GROUPBY N WHERE X name N, X is IN (Basket, Folder, Tag);', |
404 ('Any MAX(X)+MIN(X), N GROUPBY N WHERE X name N, X is IN (Basket, Folder, Tag);', |
441 '''SELECT (MAX(T1.C0) + MIN(T1.C0)), T1.C1 FROM (SELECT _X.cw_eid AS C0, _X.cw_name AS C1 |
405 '''SELECT (MAX(T1.C0) + MIN(T1.C0)), T1.C1 FROM (SELECT _X.cw_eid AS C0, _X.cw_name AS C1 |
442 FROM cw_Basket AS _X |
406 FROM cw_Basket AS _X |