equal
deleted
inserted
replaced
586 # merge conditions |
586 # merge conditions |
587 if lidx < ridx: |
587 if lidx < ridx: |
588 rconditions.append(condition) |
588 rconditions.append(condition) |
589 else: |
589 else: |
590 lconditions.append(condition) |
590 lconditions.append(condition) |
591 else: |
591 elif louter is None: |
592 if louter is not None: |
|
593 raise BadRQLQuery() |
|
594 # merge chains |
592 # merge chains |
595 self.outer_chains.remove(lchain) |
593 self.outer_chains.remove(lchain) |
|
594 rchain += lchain |
596 self.mark_as_used_in_outer_join(leftalias) |
595 self.mark_as_used_in_outer_join(leftalias) |
597 rchain += lchain |
|
598 for alias, (aouter, aconditions, achain) in outer_tables.iteritems(): |
596 for alias, (aouter, aconditions, achain) in outer_tables.iteritems(): |
599 if achain is lchain: |
597 if achain is lchain: |
600 outer_tables[alias] = (aouter, aconditions, rchain) |
598 outer_tables[alias] = (aouter, aconditions, rchain) |
|
599 else: |
|
600 raise BadRQLQuery() |
601 |
601 |
602 # sql generation helpers ################################################### |
602 # sql generation helpers ################################################### |
603 |
603 |
604 def tables_sql(self, outer_chains=None): |
604 def tables_sql(self, outer_chains=None): |
605 """generate SQL for FROM clause""" |
605 """generate SQL for FROM clause""" |