summaryrefslogtreecommitdiff
path: root/test/sql/select.py
diff options
context:
space:
mode:
authorMike Bayer <mike_mp@zzzcomputing.com>2008-02-08 22:57:45 +0000
committerMike Bayer <mike_mp@zzzcomputing.com>2008-02-08 22:57:45 +0000
commit842934f40cba8a6d5266c0f86306c8c1f067dd0f (patch)
tree36fc1f816467546c9ea9e6e1661b041d1b906c9a /test/sql/select.py
parent1b228e848183b34046fc2ef34206344f88876f3a (diff)
downloadsqlalchemy-842934f40cba8a6d5266c0f86306c8c1f067dd0f.tar.gz
- added generative where(<criterion>) method to delete()
and update() constructs which return a new object with criterion joined to existing criterion via AND, just like select().where(). - compile assertions use assertEquals()
Diffstat (limited to 'test/sql/select.py')
-rw-r--r--test/sql/select.py5
1 files changed, 4 insertions, 1 deletions
diff --git a/test/sql/select.py b/test/sql/select.py
index 69d39ede6..54b1e87a2 100644
--- a/test/sql/select.py
+++ b/test/sql/select.py
@@ -1240,6 +1240,7 @@ class CRUDTest(SQLCompileTest):
def test_update(self):
self.assert_compile(update(table1, table1.c.myid == 7), "UPDATE mytable SET name=:name WHERE mytable.myid = :mytable_myid_1", params = {table1.c.name:'fred'})
+ self.assert_compile(table1.update().where(table1.c.myid==7).values({table1.c.myid:5}), "UPDATE mytable SET myid=:myid WHERE mytable.myid = :mytable_myid_1", checkparams={'myid':5, 'mytable_myid_1':7})
self.assert_compile(update(table1, table1.c.myid == 7), "UPDATE mytable SET name=:name WHERE mytable.myid = :mytable_myid_1", params = {'name':'fred'})
self.assert_compile(update(table1, values = {table1.c.name : table1.c.myid}), "UPDATE mytable SET name=mytable.myid")
self.assert_compile(update(table1, whereclause = table1.c.name == bindparam('crit'), values = {table1.c.name : 'hi'}), "UPDATE mytable SET name=:name WHERE mytable.name = :crit", params = {'crit' : 'notthere'}, checkparams={'crit':'notthere', 'name':'hi'})
@@ -1288,7 +1289,9 @@ class CRUDTest(SQLCompileTest):
def test_delete(self):
self.assert_compile(delete(table1, table1.c.myid == 7), "DELETE FROM mytable WHERE mytable.myid = :mytable_myid_1")
-
+ self.assert_compile(table1.delete().where(table1.c.myid == 7), "DELETE FROM mytable WHERE mytable.myid = :mytable_myid_1")
+ self.assert_compile(table1.delete().where(table1.c.myid == 7).where(table1.c.name=='somename'), "DELETE FROM mytable WHERE mytable.myid = :mytable_myid_1 AND mytable.name = :mytable_name_1")
+
def test_correlated_delete(self):
# test a non-correlated WHERE clause
s = select([table2.c.othername], table2.c.otherid == 7)