diff options
| author | Mike Bayer <mike_mp@zzzcomputing.com> | 2007-10-04 03:19:38 +0000 |
|---|---|---|
| committer | Mike Bayer <mike_mp@zzzcomputing.com> | 2007-10-04 03:19:38 +0000 |
| commit | f67fcd182277e6347ad0b97e265ccb24a4e5bd49 (patch) | |
| tree | 9f25ed7aa0a47b1075f03ba47fdd756815e7d7b8 /test/sql | |
| parent | c25fa30febb2fc7ac21fe1379ee03595c7c6a8b6 (diff) | |
| download | sqlalchemy-f67fcd182277e6347ad0b97e265ccb24a4e5bd49.tar.gz | |
- move PG RETURNING tests to postgres dialect test
- added server_version_info() support for PG dialect
- exclude PG versions < 8.4 for RETURNING tests
Diffstat (limited to 'test/sql')
| -rw-r--r-- | test/sql/query.py | 44 | ||||
| -rw-r--r-- | test/sql/select.py | 28 |
2 files changed, 0 insertions, 72 deletions
diff --git a/test/sql/query.py b/test/sql/query.py index b4afbbade..3fbf33e60 100644 --- a/test/sql/query.py +++ b/test/sql/query.py @@ -564,50 +564,6 @@ class QueryTest(PersistTest): r = s.execute().fetchall() assert len(r) == 1 - @testing.supported('postgres') - def test_update_returning(self): - meta = MetaData(testbase.db) - table = Table('tables', meta, - Column('id', Integer, primary_key=True), - Column('persons', Integer), - Column('full', Boolean) - ) - table.create() - try: - table.insert().execute([{'persons': 5, 'full': False}, {'persons': 3, 'full': False}]) - - result = table.update(table.c.persons > 4, dict(full=True), postgres_returning=[table.c.id]).execute() - self.assertEqual(result.fetchall(), [(1,)]) - - result2 = select([table.c.id, table.c.full]).order_by(table.c.id).execute() - self.assertEqual(result2.fetchall(), [(1,True),(2,False)]) - finally: - table.drop() - - @testing.supported('postgres') - def test_insert_returning(self): - meta = MetaData(testbase.db) - table = Table('tables', meta, - Column('id', Integer, primary_key=True), - Column('persons', Integer), - Column('full', Boolean) - ) - table.create() - try: - result = table.insert(postgres_returning=[table.c.id]).execute({'persons': 1, 'full': False}) - - self.assertEqual(result.fetchall(), [(1,)]) - - # Multiple inserts only return the last row - result2 = table.insert(postgres_returning=[table]).execute( - [{'persons': 2, 'full': False}, {'persons': 3, 'full': True}]) - - self.assertEqual(result2.fetchall(), [(3,3,True)]) - - result3 = table.insert(postgres_returning=[(table.c.id*2).label('double_id')]).execute({'persons': 4, 'full': False}) - self.assertEqual([dict(row) for row in result3], [{'double_id':8}]) - finally: - table.drop() class CompoundTest(PersistTest): """test compound statements like UNION, INTERSECT, particularly their ability to nest on diff --git a/test/sql/select.py b/test/sql/select.py index 4cdac97d8..8096b0c97 100644 --- a/test/sql/select.py +++ b/test/sql/select.py @@ -1185,34 +1185,6 @@ class CRUDTest(SQLCompileTest): u = table1.update(table1.c.name==s) self.assert_compile(u, "UPDATE mytable SET myid=:myid, name=:name, description=:description WHERE mytable.name = (SELECT myothertable.othername FROM myothertable WHERE myothertable.otherid = mytable.myid)") - @testing.supported('postgres') - def testupdatereturning(self): - dialect = postgres.dialect() - - u = update(table1, values=dict(name='foo'), postgres_returning=[table1.c.myid, table1.c.name]) - self.assert_compile(u, "UPDATE mytable SET name=%(name)s RETURNING mytable.myid, mytable.name", dialect=dialect) - - u = update(table1, values=dict(name='foo'), postgres_returning=[table1]) - self.assert_compile(u, "UPDATE mytable SET name=%(name)s "\ - "RETURNING mytable.myid, mytable.name, mytable.description", dialect=dialect) - - u = update(table1, values=dict(name='foo'), postgres_returning=[func.length(table1.c.name)]) - self.assert_compile(u, "UPDATE mytable SET name=%(name)s RETURNING length(mytable.name)", dialect=dialect) - - @testing.supported('postgres') - def testinsertreturning(self): - dialect = postgres.dialect() - - i = insert(table1, values=dict(name='foo'), postgres_returning=[table1.c.myid, table1.c.name]) - self.assert_compile(i, "INSERT INTO mytable (name) VALUES (%(name)s) RETURNING mytable.myid, mytable.name", dialect=dialect) - - i = insert(table1, values=dict(name='foo'), postgres_returning=[table1]) - self.assert_compile(i, "INSERT INTO mytable (name) VALUES (%(name)s) "\ - "RETURNING mytable.myid, mytable.name, mytable.description", dialect=dialect) - - i = insert(table1, values=dict(name='foo'), postgres_returning=[func.length(table1.c.name)]) - self.assert_compile(i, "INSERT INTO mytable (name) VALUES (%(name)s) RETURNING length(mytable.name)", dialect=dialect) - def testdelete(self): self.assert_compile(delete(table1, table1.c.myid == 7), "DELETE FROM mytable WHERE mytable.myid = :mytable_myid") |
