From: Mike Bayer Date: Wed, 5 Dec 2007 21:13:36 +0000 (+0000) Subject: - tables with schemas can still be used in sqlite, firebird, X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=e0fa592169e9f1bb3d263d3cd8967e0925ca9733;p=thirdparty%2Fsqlalchemy%2Fsqlalchemy.git - tables with schemas can still be used in sqlite, firebird, schema name just gets dropped [ticket:890] --- 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__":