summaryrefslogtreecommitdiff
path: root/test/sql
diff options
context:
space:
mode:
authorMike Bayer <mike_mp@zzzcomputing.com>2007-02-02 18:58:11 +0000
committerMike Bayer <mike_mp@zzzcomputing.com>2007-02-02 18:58:11 +0000
commit5ce214c7d43a0a0f57785a512272ec2102139fa2 (patch)
tree9e0adc28c0d75f99fd60fc3b1abb0e2b6a59ae0a /test/sql
parentab0a6cf6a8f08db03991ddd5fedee6abfae75a0c (diff)
downloadsqlalchemy-5ce214c7d43a0a0f57785a512272ec2102139fa2.tar.gz
- sequences on a non-pk column will properly fire off on INSERT for PG/oracle
Diffstat (limited to 'test/sql')
-rw-r--r--test/sql/defaults.py23
1 files changed, 19 insertions, 4 deletions
diff --git a/test/sql/defaults.py b/test/sql/defaults.py
index d5aac19fd..9d426ab0d 100644
--- a/test/sql/defaults.py
+++ b/test/sql/defaults.py
@@ -161,15 +161,30 @@ class AutoIncrementTest(PersistTest):
class SequenceTest(PersistTest):
@testbase.supported('postgres', 'oracle')
def setUpAll(self):
- global cartitems
- cartitems = Table("cartitems", db,
+ global cartitems, sometable, metadata
+ metadata = BoundMetaData(testbase.db)
+ cartitems = Table("cartitems", metadata,
Column("cart_id", Integer, Sequence('cart_id_seq'), primary_key=True),
Column("description", String(40)),
Column("createdate", DateTime())
)
+ sometable = Table( 'Manager', metadata,
+ Column( 'obj_id', Integer, Sequence('obj_id_seq'), ),
+ Column( 'name', type= String, ),
+ Column( 'id', Integer, primary_key= True, ),
+ )
- cartitems.create()
+ metadata.create_all()
+ def testseqnonpk(self):
+ """test sequences fire off as defaults on non-pk columns"""
+ sometable.insert().execute(name="somename")
+ sometable.insert().execute(name="someother")
+ assert sometable.select().execute().fetchall() == [
+ (1, "somename", 1),
+ (2, "someother", 2),
+ ]
+
@testbase.supported('postgres', 'oracle')
def testsequence(self):
cartitems.insert().execute(description='hi')
@@ -196,7 +211,7 @@ class SequenceTest(PersistTest):
@testbase.supported('postgres', 'oracle')
def tearDownAll(self):
- cartitems.drop()
+ metadata.drop_all()
if __name__ == "__main__":
testbase.main()