394 SELECT _X.cw_name |
394 SELECT _X.cw_name |
395 FROM cw_Tag AS _X |
395 FROM cw_Tag AS _X |
396 ORDER BY 1'''), |
396 ORDER BY 1'''), |
397 |
397 |
398 # DISTINCT, can use relation under exists scope as principal |
398 # DISTINCT, can use relation under exists scope as principal |
399 ('DISTINCT Any X,Y WHERE X name "CWGroup", Y eid IN(1, 2, 3), EXISTS(X read_permission Y)', |
399 ('DISTINCT Any X,Y WHERE X name "CWGroup", X is CWEType, Y eid IN(1, 2, 3), EXISTS(X read_permission Y)', |
400 '''SELECT DISTINCT _X.cw_eid, rel_read_permission0.eid_to |
400 '''SELECT DISTINCT _X.cw_eid, rel_read_permission0.eid_to |
401 FROM cw_CWEType AS _X, read_permission_relation AS rel_read_permission0 |
401 FROM cw_CWEType AS _X, read_permission_relation AS rel_read_permission0 |
402 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)'''), |
402 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)'''), |
403 |
403 |
404 # no distinct, Y can't be invariant |
404 # no distinct, Y can't be invariant |
405 ('Any X,Y WHERE X name "CWGroup", Y eid IN(1, 2, 3), EXISTS(X read_permission Y)', |
405 ('Any X,Y WHERE X name "CWGroup", X is CWEType, Y eid IN(1, 2, 3), EXISTS(X read_permission Y)', |
406 '''SELECT _X.cw_eid, _Y.cw_eid |
406 '''SELECT _X.cw_eid, _Y.cw_eid |
407 FROM cw_CWEType AS _X, cw_CWGroup AS _Y |
407 FROM cw_CWEType AS _X, cw_CWGroup AS _Y |
408 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) |
408 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) |
409 UNION ALL |
409 UNION ALL |
410 SELECT _X.cw_eid, _Y.cw_eid |
410 SELECT _X.cw_eid, _Y.cw_eid |
411 FROM cw_CWEType AS _X, cw_RQLExpression AS _Y |
411 FROM cw_CWEType AS _X, cw_RQLExpression AS _Y |
412 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)'''), |
412 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)'''), |
413 |
413 |
414 # DISTINCT but NEGED exists, can't be invariant |
414 # DISTINCT but NEGED exists, can't be invariant |
415 ('DISTINCT Any X,Y WHERE X name "CWGroup", Y eid IN(1, 2, 3), NOT EXISTS(X read_permission Y)', |
415 ('DISTINCT Any X,Y WHERE X name "CWGroup", X is CWEType, Y eid IN(1, 2, 3), NOT EXISTS(X read_permission Y)', |
416 '''SELECT DISTINCT _X.cw_eid, _Y.cw_eid |
416 '''SELECT DISTINCT _X.cw_eid, _Y.cw_eid |
417 FROM cw_CWEType AS _X, cw_CWGroup AS _Y |
417 FROM cw_CWEType AS _X, cw_CWGroup AS _Y |
418 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)) |
418 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)) |
419 UNION |
419 UNION |
420 SELECT DISTINCT _X.cw_eid, _Y.cw_eid |
420 SELECT DISTINCT _X.cw_eid, _Y.cw_eid |
421 FROM cw_CWEType AS _X, cw_RQLExpression AS _Y |
421 FROM cw_CWEType AS _X, cw_RQLExpression AS _Y |
422 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))'''), |
422 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))'''), |
423 |
423 |
424 # should generate the same query as above |
424 # should generate the same query as above |
425 ('DISTINCT Any X,Y WHERE X name "CWGroup", Y eid IN(1, 2, 3), NOT X read_permission Y', |
425 ('DISTINCT Any X,Y WHERE X name "CWGroup", X is CWEType, Y eid IN(1, 2, 3), NOT X read_permission Y', |
426 '''SELECT DISTINCT _X.cw_eid, _Y.cw_eid |
426 '''SELECT DISTINCT _X.cw_eid, _Y.cw_eid |
427 FROM cw_CWEType AS _X, cw_CWGroup AS _Y |
427 FROM cw_CWEType AS _X, cw_CWGroup AS _Y |
428 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)) |
428 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)) |
429 UNION |
429 UNION |
430 SELECT DISTINCT _X.cw_eid, _Y.cw_eid |
430 SELECT DISTINCT _X.cw_eid, _Y.cw_eid |
431 FROM cw_CWEType AS _X, cw_RQLExpression AS _Y |
431 FROM cw_CWEType AS _X, cw_RQLExpression AS _Y |
432 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))'''), |
432 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))'''), |
433 |
433 |
434 # neged relation, can't be inveriant |
434 # neged relation, can't be inveriant |
435 ('Any X,Y WHERE X name "CWGroup", Y eid IN(1, 2, 3), NOT X read_permission Y', |
435 ('Any X,Y WHERE X name "CWGroup", X is CWEType, Y eid IN(1, 2, 3), NOT X read_permission Y', |
436 '''SELECT _X.cw_eid, _Y.cw_eid |
436 '''SELECT _X.cw_eid, _Y.cw_eid |
437 FROM cw_CWEType AS _X, cw_CWGroup AS _Y |
437 FROM cw_CWEType AS _X, cw_CWGroup 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)) |
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)) |
439 UNION ALL |
439 UNION ALL |
440 SELECT _X.cw_eid, _Y.cw_eid |
440 SELECT _X.cw_eid, _Y.cw_eid |