From e0fa592169e9f1bb3d263d3cd8967e0925ca9733 Mon Sep 17 00:00:00 2001 From: Mike Bayer Date: Wed, 5 Dec 2007 21:13:36 +0000 Subject: [PATCH] - tables with schemas can still be used in sqlite, firebird, schema name just gets dropped [ticket:890] --- CHANGES | 3 +++ lib/sqlalchemy/ansisql.py | 2 +- test/engine/reflection.py | 9 ++++++--- 3 files changed, 10 insertions(+), 4 deletions(-) diff --git a/CHANGES b/CHANGES index 12e1782f8d..fc71cb4ae0 100644 --- a/CHANGES +++ b/CHANGES @@ -1,6 +1,9 @@ 0.3.12 - sql - func. objects can be pickled/unpickled [ticket:844] + - tables with schemas can still be used in sqlite, firebird, + schema name just gets dropped [ticket:890] + - orm - query.get() and related functions (like many-to-one lazyloading) generate randomly-generated bind parameter names, to prevent diff --git a/lib/sqlalchemy/ansisql.py b/lib/sqlalchemy/ansisql.py index e7146fb3d9..a901df74f7 100644 --- a/lib/sqlalchemy/ansisql.py +++ b/lib/sqlalchemy/ansisql.py @@ -1072,7 +1072,7 @@ class ANSIIdentifierPreparer(object): if name is None: name = table.name result = self.__generic_obj_format(table, name) - if use_schema and getattr(table, "schema", None): + if not self.omit_schema and use_schema and getattr(table, "schema", None): result = self.__generic_obj_format(table, table.schema) + "." + result return result diff --git a/test/engine/reflection.py b/test/engine/reflection.py index 5fbdf5ea9d..5c014ea466 100644 --- a/test/engine/reflection.py +++ b/test/engine/reflection.py @@ -595,7 +595,6 @@ class CreateDropTest(PersistTest): class SchemaTest(PersistTest): # this test should really be in the sql tests somewhere, not engine - @testbase.unsupported('sqlite') def testiteration(self): metadata = MetaData() table1 = Table('table1', metadata, @@ -616,8 +615,12 @@ class SchemaTest(PersistTest): gen.traverse(table2) buf = buf.getvalue() print buf - assert buf.index("CREATE TABLE someschema.table1") > -1 - assert buf.index("CREATE TABLE someschema.table2") > -1 + if testbase.db.dialect.preparer().omit_schema: + assert buf.index("CREATE TABLE table1") > -1 + assert buf.index("CREATE TABLE table2") > -1 + else: + assert buf.index("CREATE TABLE someschema.table1") > -1 + assert buf.index("CREATE TABLE someschema.table2") > -1 if __name__ == "__main__": -- 2.47.2