1210 self._test('Any X,S,U WHERE X in_state S, X todo_by U', |
1210 self._test('Any X,S,U WHERE X in_state S, X todo_by U', |
1211 [('FetchStep', [('Any X,S WHERE X in_state S, S is State, X is Note', |
1211 [('FetchStep', [('Any X,S WHERE X in_state S, S is State, X is Note', |
1212 [{'X': 'Note', 'S': 'State'}])], |
1212 [{'X': 'Note', 'S': 'State'}])], |
1213 [self.cards, self.system], None, {'X': 'table0.C0', 'S': 'table0.C1'}, []), |
1213 [self.cards, self.system], None, {'X': 'table0.C0', 'S': 'table0.C1'}, []), |
1214 ('UnionStep', None, None, |
1214 ('UnionStep', None, None, |
1215 [('OneFetchStep', [('Any X,S,U WHERE X in_state S, X todo_by U, S is State, U is CWUser, X is Note', |
1215 [('OneFetchStep', [('Any X,S,U WHERE X in_state S, X todo_by U, S is State, U is Personne, X is Affaire', |
|
1216 [{'X': 'Affaire', 'S': 'State', 'U': 'Personne'}])], |
|
1217 None, None, [self.system], {}, []), |
|
1218 ('OneFetchStep', [('Any X,S,U WHERE X todo_by U, S is State, U is CWUser, X is Note', |
1216 [{'X': 'Note', 'S': 'State', 'U': 'CWUser'}])], |
1219 [{'X': 'Note', 'S': 'State', 'U': 'CWUser'}])], |
1217 None, None, [self.system], {'X': 'table0.C0', 'S': 'table0.C1'}, []), |
1220 None, None, [self.system], {'X': 'table0.C0', 'S': 'table0.C1'}, []), |
1218 ('OneFetchStep', [('Any X,S,U WHERE X in_state S, X todo_by U, S is State, U is Personne, X is Affaire', |
|
1219 [{'X': 'Affaire', 'S': 'State', 'U': 'Personne'}])], |
|
1220 None, None, [self.system], {}, []), |
|
1221 ]) |
1221 ]) |
1222 ]) |
1222 ]) |
1223 |
1223 |
1224 def test_relation_restriction_need_split(self): |
1224 def test_relation_restriction_need_split(self): |
1225 self._test('Any X,U WHERE X in_state S, S name "pending", X todo_by U', |
1225 self._test('Any X,U WHERE X in_state S, S name "pending", X todo_by U', |
2454 [self.system], |
2454 [self.system], |
2455 {'T': 'table1.C0', 'TD': 'table1.C1', 'U': 'table1.C2', 'UL': 'table1.C3'}, |
2455 {'T': 'table1.C0', 'TD': 'table1.C1', 'U': 'table1.C2', 'UL': 'table1.C3'}, |
2456 [])], |
2456 [])], |
2457 {'x': 999999}) |
2457 {'x': 999999}) |
2458 |
2458 |
|
2459 def test_nonregr_dont_readd_already_processed_relation(self): |
|
2460 self._test('Any WO,D,SO WHERE WO is Note, D tags WO, WO in_state SO', |
|
2461 [('FetchStep', |
|
2462 [('Any WO,SO WHERE WO in_state SO, SO is State, WO is Note', |
|
2463 [{'SO': 'State', 'WO': 'Note'}])], |
|
2464 [self.cards, self.system], None, |
|
2465 {'SO': 'table0.C1', 'WO': 'table0.C0'}, |
|
2466 []), |
|
2467 ('OneFetchStep', |
|
2468 [('Any WO,D,SO WHERE D tags WO, D is Tag, SO is State, WO is Note', |
|
2469 [{'D': 'Tag', 'SO': 'State', 'WO': 'Note'}])], |
|
2470 None, None, [self.system], |
|
2471 {'SO': 'table0.C1', 'WO': 'table0.C0'}, |
|
2472 []) |
|
2473 ]) |
2459 |
2474 |
2460 class MSPlannerTwoSameExternalSourcesTC(BasePlannerTC): |
2475 class MSPlannerTwoSameExternalSourcesTC(BasePlannerTC): |
2461 """test planner related feature on a 3-sources repository: |
2476 """test planner related feature on a 3-sources repository: |
2462 |
2477 |
2463 * 2 rql sources supporting Card |
2478 * 2 rql sources supporting Card |