diff options
| author | Mike Bayer <mike_mp@zzzcomputing.com> | 2007-02-02 18:58:11 +0000 |
|---|---|---|
| committer | Mike Bayer <mike_mp@zzzcomputing.com> | 2007-02-02 18:58:11 +0000 |
| commit | 5ce214c7d43a0a0f57785a512272ec2102139fa2 (patch) | |
| tree | 9e0adc28c0d75f99fd60fc3b1abb0e2b6a59ae0a /test/sql | |
| parent | ab0a6cf6a8f08db03991ddd5fedee6abfae75a0c (diff) | |
| download | sqlalchemy-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.py | 23 |
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() |
