]> git.ipfire.org Git - thirdparty/sqlalchemy/sqlalchemy.git/commitdiff
clauseelement.compile() totally works without an engine
authorMike Bayer <mike_mp@zzzcomputing.com>
Sat, 25 Feb 2006 07:22:01 +0000 (07:22 +0000)
committerMike Bayer <mike_mp@zzzcomputing.com>
Sat, 25 Feb 2006 07:22:01 +0000 (07:22 +0000)
lib/sqlalchemy/sql.py
test/select.py

index 8ebf7624efebe370928f3580c707c54b6ac9b3a4..666a9d18cfe202892354de733bc3831fe437c6b8 100644 (file)
@@ -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
index 788e39f7b5e07a62c04c207678d26484e7f69c80..eb21022108b1538cb0f466a977187d76d92e6b5c 100644 (file)
@@ -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)