# HG changeset patch # User Sylvain Thénault <sylvain.thenault@logilab.fr> # Date 1251285764 -7200 # Wed Aug 26 13:22:44 2009 +0200 # Node ID 094a19c247515f61b5a3f180df56c148db3ba0dc # Parent 16b3e87164d67b7474fde1537ebf351632ec66a1 cleanup diff --git a/ChangeLog b/ChangeLog --- a/ChangeLog +++ b/ChangeLog @@ -1,6 +1,14 @@ ChangeLog for RQL ================= + -- + * Union.locate_subquery now return a 2-uple (select subquery, column index in the subquery) + * new subquery_selection_index method on Union + * new root_selection_index method on VariableRef + +2009-08-18 -- 0.22.2 + * fixes to compile with different versions of gecode + 2009-05-04 -- 0.22.0 * consider subqueries in variables graph diff --git a/stmts.py b/stmts.py --- a/stmts.py +++ b/stmts.py @@ -115,16 +115,16 @@ def check_references(self): """test function""" - defined = self.defined_vars.copy() try: defined = self.aliases.copy() except AttributeError: - defined = self.defined_vars + defined = self.defined_vars.copy() else: defined.update(self.defined_vars) for subq in self.with_: subq.query.check_references() - varrefs = [vref for vref in self.get_nodes(nodes.VariableRef) if vref.stmt is self] + varrefs = [vref for vref in self.get_nodes(nodes.VariableRef) + if vref.stmt is self] try: _check_references(defined, varrefs) except: @@ -140,11 +140,6 @@ schema = None # ISchema annotated = False # set by the annotator -# def __init__(self): -# Node.__init__(self) -# # syntax tree meta-information -# self.stinfo = {} - # navigation helper methods ############################################# @property @@ -284,6 +279,7 @@ return alias.query._locate_subquery(alias.colnum, etype, kwargs) except AttributeError: + # term has no 'name' attribute pass for i, solution in enumerate(select.solutions): if term.get_type(solution, kwargs) == etype: @@ -300,7 +296,8 @@ self._subq_cache = {} except KeyError: pass - self._subq_cache[(col, etype)] = self._locate_subquery(col, etype, kwargs) + self._subq_cache[(col, etype)] = self._locate_subquery(col, etype, + kwargs) return self._subq_cache[(col, etype)] def subquery_selection_index(self, subselect, col):