From: Mike Bayer Date: Sun, 8 Jan 2006 07:11:51 +0000 (+0000) Subject: key/value params on execute() are based off the from objects, not the select list X-Git-Tag: rel_0_1_0~154 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=976b55b08c00716034d827ac27f51796bfeddd0a;p=thirdparty%2Fsqlalchemy%2Fsqlalchemy.git key/value params on execute() are based off the from objects, not the select list --- diff --git a/lib/sqlalchemy/ansisql.py b/lib/sqlalchemy/ansisql.py index 92db3b1ba2..f0e0203e9b 100644 --- a/lib/sqlalchemy/ansisql.py +++ b/lib/sqlalchemy/ansisql.py @@ -278,25 +278,24 @@ class ANSICompiler(sql.Compiled): whereclause = select.whereclause - # look at our own parameters, see if they - # are all present in the form of BindParamClauses. if - # not, then append to the above whereclause column conditions - # matching those keys - if self.parameters is not None: - revisit = False - for c in inner_columns.values(): - if sql.is_column(c) and self.parameters.has_key(c.key) and not self.binds.has_key(c.key): - value = self.parameters[c.key] - else: - continue - clause = c==value - clause.accept_visitor(self) - whereclause = sql.and_(clause, whereclause) - self.visit_compound(whereclause) - froms = [] for f in select.froms: + if self.parameters is not None: + # look at our own parameters, see if they + # are all present in the form of BindParamClauses. if + # not, then append to the above whereclause column conditions + # matching those keys + for c in f.columns: + if sql.is_column(c) and self.parameters.has_key(c.key) and not self.binds.has_key(c.key): + value = self.parameters[c.key] + else: + continue + clause = c==value + clause.accept_visitor(self) + whereclause = sql.and_(clause, whereclause) + self.visit_compound(whereclause) + # special thingy used by oracle to redefine a join w = self.get_whereclause(f) if w is not None: