From: Mike Bayer Date: Sat, 25 Feb 2006 07:22:01 +0000 (+0000) Subject: clauseelement.compile() totally works without an engine X-Git-Tag: rel_0_1_3~38 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=4b08fe4dd4ab301ac3c60c47468bc7b316c78a12;p=thirdparty%2Fsqlalchemy%2Fsqlalchemy.git clauseelement.compile() totally works without an engine --- diff --git a/lib/sqlalchemy/sql.py b/lib/sqlalchemy/sql.py index 8ebf7624ef..666a9d18cf 100644 --- a/lib/sqlalchemy/sql.py +++ b/lib/sqlalchemy/sql.py @@ -1275,6 +1275,8 @@ class Select(SelectBaseMixin, FromClause): if self._engine is not None: return self._engine for f in self._froms.values(): + if f is self: + continue e = f.engine if e is not None: self._engine = e diff --git a/test/select.py b/test/select.py index 788e39f7b5..eb21022108 100644 --- a/test/select.py +++ b/test/select.py @@ -57,9 +57,7 @@ addresses = table('addresses', class SQLTest(PersistTest): def runtest(self, clause, result, engine = None, params = None, checkparams = None): - if engine is None: - engine = db - c = clause.compile(engine, params) + c = clause.compile(parameters = params, engine=engine) self.echo("\nSQL String:\n" + str(c) + repr(c.get_params())) cc = re.sub(r'\n', '', str(c)) self.assert_(cc == result, str(c) + "\n does not match \n" + result)