server/sources/rql2sql.py
branchstable
changeset 3866 2783c166ad1a
parent 3852 03121ca1f85e
child 3987 f85ef29f6214
equal deleted inserted replaced
3865:f9778a00e47f 3866:2783c166ad1a
   169         # reinsert solutions for invariants
   169         # reinsert solutions for invariants
   170         for sol in newsols:
   170         for sol in newsols:
   171             for invvar, vartype in invariants[id(sol)].iteritems():
   171             for invvar, vartype in invariants[id(sol)].iteritems():
   172                 sol[invvar] = vartype
   172                 sol[invvar] = vartype
   173         for sol in existssols:
   173         for sol in existssols:
   174             for invvar, vartype in invariants[id(sol)].iteritems():
   174             try:
   175                 sol[invvar] = vartype
   175                 for invvar, vartype in invariants[id(sol)].iteritems():
       
   176                     sol[invvar] = vartype
       
   177             except KeyError:
       
   178                 continue
   176     if len(newsols) > 1:
   179     if len(newsols) > 1:
   177         if rewrite_unstable_outer_join(rqlst, newsols, unstable, schema):
   180         if rewrite_unstable_outer_join(rqlst, newsols, unstable, schema):
   178             # remove variables extracted to subqueries from solutions
   181             # remove variables extracted to subqueries from solutions
   179             newsols = _new_solutions(rqlst, newsols)
   182             newsols = _new_solutions(rqlst, newsols)
   180     return newsols, existssols, unstable
   183     return newsols, existssols, unstable