diff options
author | Mike Bayer <mike_mp@zzzcomputing.com> | 2008-05-24 23:34:04 +0000 |
---|---|---|
committer | Mike Bayer <mike_mp@zzzcomputing.com> | 2008-05-24 23:34:04 +0000 |
commit | fa42abd21323f9be5bbf9f8744e02271c9834691 (patch) | |
tree | 70753d805701adef2de94d3e69235531d89e32b1 /test/dialect/oracle.py | |
parent | 6510bfbcf785f38e7b4a3b2a9022c2ca7a780d31 (diff) | |
download | sqlalchemy-fa42abd21323f9be5bbf9f8744e02271c9834691.tar.gz |
oracle dialect takes schema name into account when checking for existing tables
of the same name. [ticket:709]
Diffstat (limited to 'test/dialect/oracle.py')
-rw-r--r-- | test/dialect/oracle.py | 40 |
1 files changed, 39 insertions, 1 deletions
diff --git a/test/dialect/oracle.py b/test/dialect/oracle.py index 24353152d..5ca906c35 100644 --- a/test/dialect/oracle.py +++ b/test/dialect/oracle.py @@ -156,7 +156,7 @@ WHERE ora_rn>5 AND ora_rn<=15", dialect=oracle.dialect(use_ansi=False)) "ON addresses.address_type_id = address_types_1.id WHERE addresses.user_id = :user_id_1 ORDER BY addresses.rowid, " "address_types.rowid") -class SchemaReflectionTest(TestBase, AssertsCompiledSQL): +class MultiSchemaTest(TestBase, AssertsCompiledSQL): """instructions: 1. create a user 'ed' in the oracle database. @@ -174,6 +174,44 @@ class SchemaReflectionTest(TestBase, AssertsCompiledSQL): __only_on__ = 'oracle' + def test_create_same_names_explicit_schema(self): + schema = testing.db.dialect.get_default_schema_name(testing.db.connect()) + meta = MetaData(testing.db) + parent = Table('parent', meta, + Column('pid', Integer, primary_key=True), + schema=schema + ) + child = Table('child', meta, + Column('cid', Integer, primary_key=True), + Column('pid', Integer, ForeignKey('scott.parent.pid')), + schema=schema + ) + meta.create_all() + try: + parent.insert().execute({'pid':1}) + child.insert().execute({'cid':1, 'pid':1}) + self.assertEquals(child.select().execute().fetchall(), [(1, 1)]) + finally: + meta.drop_all() + + def test_create_same_names_implicit_schema(self): + meta = MetaData(testing.db) + parent = Table('parent', meta, + Column('pid', Integer, primary_key=True), + ) + child = Table('child', meta, + Column('cid', Integer, primary_key=True), + Column('pid', Integer, ForeignKey('parent.pid')), + ) + meta.create_all() + try: + parent.insert().execute({'pid':1}) + child.insert().execute({'cid':1, 'pid':1}) + self.assertEquals(child.select().execute().fetchall(), [(1, 1)]) + finally: + meta.drop_all() + + def test_reflect_alt_owner_explicit(self): meta = MetaData(testing.db) parent = Table('parent', meta, autoload=True, schema='ed') |