]> git.ipfire.org Git - thirdparty/sqlalchemy/sqlalchemy.git/commitdiff
some test fixup for oracle
authorMike Bayer <mike_mp@zzzcomputing.com>
Wed, 2 Apr 2008 16:12:07 +0000 (16:12 +0000)
committerMike Bayer <mike_mp@zzzcomputing.com>
Wed, 2 Apr 2008 16:12:07 +0000 (16:12 +0000)
test/dialect/oracle.py
test/orm/query.py
test/testlib/schema.py

index 4e9960012b14c146ebf73a747128fb174e6e5cd7..d88ad27e9df8f8c58adebe8773f617de131a6c78 100644 (file)
@@ -179,7 +179,7 @@ class SchemaReflectionTest(TestBase, AssertsCompiledSQL):
         parent = Table('parent', meta, autoload=True, schema='ed')
         child = Table('child', meta, autoload=True, schema='ed')
 
-        self.assert_compile(parent.join(child), "ed.parent JOIN ed.child ON parent.id = child.parent_id")
+        self.assert_compile(parent.join(child), "ed.parent JOIN ed.child ON ed.parent.id = ed.child.parent_id")
         select([parent, child]).select_from(parent.join(child)).execute().fetchall()
 
     def test_reflect_local_to_remote(self):
@@ -188,7 +188,7 @@ class SchemaReflectionTest(TestBase, AssertsCompiledSQL):
             meta = MetaData(testing.db)
             lcl = Table('localtable', meta, autoload=True)
             parent = meta.tables['ed.parent']
-            self.assert_compile(parent.join(lcl), "ed.parent JOIN localtable ON parent.id = localtable.parent_id")
+            self.assert_compile(parent.join(lcl), "ed.parent JOIN localtable ON ed.parent.id = localtable.parent_id")
             select([parent, lcl]).select_from(parent.join(lcl)).execute().fetchall()
         finally:
             testing.db.execute("DROP TABLE localtable")
@@ -198,7 +198,7 @@ class SchemaReflectionTest(TestBase, AssertsCompiledSQL):
         parent = Table('parent', meta, autoload=True, schema='ed')
         child = Table('child', meta, autoload=True, schema='ed')
 
-        self.assert_compile(parent.join(child), "ed.parent JOIN ed.child ON parent.id = child.parent_id")
+        self.assert_compile(parent.join(child), "ed.parent JOIN ed.child ON ed.parent.id = ed.child.parent_id")
         select([parent, child]).select_from(parent.join(child)).execute().fetchall()
       
     def test_reflect_alt_owner_synonyms(self):
@@ -207,7 +207,7 @@ class SchemaReflectionTest(TestBase, AssertsCompiledSQL):
             meta = MetaData(testing.db)
             lcl = Table('localtable', meta, autoload=True, oracle_resolve_synonyms=True)
             parent = meta.tables['ed.ptable']
-            self.assert_compile(parent.join(lcl), "ed.ptable JOIN localtable ON ptable.id = localtable.parent_id")
+            self.assert_compile(parent.join(lcl), "ed.ptable JOIN localtable ON ed.ptable.id = localtable.parent_id")
             select([parent, lcl]).select_from(parent.join(lcl)).execute().fetchall()
         finally:
             testing.db.execute("DROP TABLE localtable")
@@ -216,7 +216,7 @@ class SchemaReflectionTest(TestBase, AssertsCompiledSQL):
         meta = MetaData(testing.db)
         parent = Table('ptable', meta, autoload=True, schema='ed', oracle_resolve_synonyms=True)
         child = Table('ctable', meta, autoload=True, schema='ed', oracle_resolve_synonyms=True)
-        self.assert_compile(parent.join(child), "ed.ptable JOIN ed.ctable ON ptable.id = ctable.parent_id")
+        self.assert_compile(parent.join(child), "ed.ptable JOIN ed.ctable ON ed.ptable.id = ed.ctable.parent_id")
         select([parent, child]).select_from(parent.join(child)).execute().fetchall()
 
  
index 285c14fbfe0795a23f757da6ca17268967eff42c..691babf7f093ff530d93a01d197a94b581ffece6 100644 (file)
@@ -1251,7 +1251,7 @@ class SelfReferentialTest(ORMTest):
     def define_tables(self, metadata):
         global nodes
         nodes = Table('nodes', metadata,
-            Column('id', Integer, primary_key=True),
+            Column('id', Integer, primary_key=True, test_needs_autoincrement=True),
             Column('parent_id', Integer, ForeignKey('nodes.id')),
             Column('data', String(30)))
     
@@ -1330,7 +1330,7 @@ class SelfReferentialM2MTest(ORMTest):
     def define_tables(self, metadata):
         global nodes, node_to_nodes
         nodes = Table('nodes', metadata,
-            Column('id', Integer, primary_key=True),
+            Column('id', Integer, primary_key=True, test_needs_autoincrement=True),
             Column('data', String(30)))
             
         node_to_nodes =Table('node_to_nodes', metadata,
index feea8355b6b488563dba59c6ed3bb3ab5c841c65..37f3591aded32420ce99c2e3380ab503885a5b6e 100644 (file)
@@ -53,6 +53,11 @@ def Table(*args, **kw):
                 if fk.onupdate is None:
                     fk.onupdate = 'CASCADE'
 
+    if testing.against('oracle'):
+        pk_seqs = [col for col in args if isinstance(col, schema.Column)
+           and col.primary_key and getattr(col, '_needs_autoincrement', False)]
+        for c in pk_seqs:
+            c.args.append(schema.Sequence(args[0] + '_' + c.name + '_seq', optional=True))
     return schema.Table(*args, **kw)
 
 
@@ -66,9 +71,8 @@ def Column(*args, **kw):
     test_opts = dict([(k,kw.pop(k)) for k in kw.keys()
                       if k.startswith('test_')])
 
+    c = schema.Column(*args, **kw)
     if testing.against('oracle'):
         if 'test_needs_autoincrement' in test_opts:
-            args = list(args)
-            args.append(schema.Sequence(args[0] + "_seq", optional=True)) 
-
-    return schema.Column(*args, **kw)
+            c._needs_autoincrement = True
+    return c