]> git.ipfire.org Git - thirdparty/sqlalchemy/sqlalchemy.git/commitdiff
fix to oracle function select, users table in test should be non-sequence
authorMike Bayer <mike_mp@zzzcomputing.com>
Sat, 17 Dec 2005 19:35:00 +0000 (19:35 +0000)
committerMike Bayer <mike_mp@zzzcomputing.com>
Sat, 17 Dec 2005 19:35:00 +0000 (19:35 +0000)
lib/sqlalchemy/databases/oracle.py
test/tables.py

index 163d387bc47760809e512663a25296198a131d6c..ae1445759d8b6b07d5a5bc21c8877bcdb6b71022 100644 (file)
@@ -230,6 +230,9 @@ class OracleSchemaDropper(ansisql.ANSISchemaDropper):
         self.execute()
 
 class OracleDefaultRunner(ansisql.ANSIDefaultRunner):
+    def exec_default_sql(self, default):
+        c = sql.select([default.arg], from_obj=["DUAL"], engine=self.engine).compile()
+        return self.proxy(str(c), c.get_params()).fetchone()[0]
+    
     def visit_sequence(self, seq):
-        c = self.proxy("select %s.nextval from dual" % seq.name)
-        return c.fetchone()[0]
+        return self.exec_default_sql(seq.name + ".nextval")
index 807ecf764814f1bc16dd87bb3000b0ebf12e5801..d0d06924888758f769080b3b33c892ca552c608b 100644 (file)
@@ -12,7 +12,7 @@ db = testbase.db
 
 
 users = Table('users', db,
-    Column('user_id', Integer, Sequence('user_id_seq', optional=False), primary_key = True),
+    Column('user_id', Integer, Sequence('user_id_seq', optional=True), primary_key = True),
     Column('user_name', String(40)),
 )