summaryrefslogtreecommitdiff
path: root/test/sql/query.py
diff options
context:
space:
mode:
authorMike Bayer <mike_mp@zzzcomputing.com>2007-10-04 03:19:38 +0000
committerMike Bayer <mike_mp@zzzcomputing.com>2007-10-04 03:19:38 +0000
commitf67fcd182277e6347ad0b97e265ccb24a4e5bd49 (patch)
tree9f25ed7aa0a47b1075f03ba47fdd756815e7d7b8 /test/sql/query.py
parentc25fa30febb2fc7ac21fe1379ee03595c7c6a8b6 (diff)
downloadsqlalchemy-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/query.py')
-rw-r--r--test/sql/query.py44
1 files changed, 0 insertions, 44 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