]> git.ipfire.org Git - thirdparty/sqlalchemy/sqlalchemy.git/commitdiff
avoid __nonzero__ on ClauseElements
authorPhilip Jenvey <pjenvey@underboss.org>
Thu, 1 Oct 2009 21:27:12 +0000 (21:27 +0000)
committerPhilip Jenvey <pjenvey@underboss.org>
Thu, 1 Oct 2009 21:27:12 +0000 (21:27 +0000)
lib/sqlalchemy/dialects/mssql/base.py

index b190af7b2050df34bab6ca4bf8c5857d1b86fd64..9964a28436938f0478e5b0fae420415f7f670fae 100644 (file)
@@ -1193,12 +1193,12 @@ class MSDialect(default.DefaultDialect):
     def has_table(self, connection, tablename, schema=None):
         current_schema = schema or self.default_schema_name
         columns = ischema.columns
-        s = sql.select([columns],
-                   current_schema
-                       and sql.and_(columns.c.table_name==tablename, columns.c.table_schema==current_schema)
-                       or columns.c.table_name==tablename,
-                   )
-
+        if current_schema:
+            whereclause = sql.and_(columns.c.table_name==tablename,
+                                   columns.c.table_schema==current_schema)
+        else:
+            whereclause = columns.c.table_name==tablename
+        s = sql.select([columns], whereclause)
         c = connection.execute(s)
         return c.first() is not None
 
@@ -1278,11 +1278,12 @@ class MSDialect(default.DefaultDialect):
         # Get base columns
         current_schema = schema or self.default_schema_name
         columns = ischema.columns
-        s = sql.select([columns],
-                   current_schema
-                       and sql.and_(columns.c.table_name==tablename, columns.c.table_schema==current_schema)
-                       or columns.c.table_name==tablename,
-                   order_by=[columns.c.ordinal_position])
+        if current_schema:
+            whereclause = sql.and_(columns.c.table_name==tablename,
+                                   columns.c.table_schema==current_schema)
+        else:
+            whereclause = columns.c.table_name==tablename
+        s = sql.select([columns], whereclause, order_by=[columns.c.ordinal_position])
         c = connection.execute(s)
         cols = []
         while True: