summaryrefslogtreecommitdiff
path: root/test/sql/test_compiler.py
diff options
context:
space:
mode:
authorMichael Trier <mtrier@gmail.com>2010-12-19 19:25:33 -0500
committerMichael Trier <mtrier@gmail.com>2010-12-19 19:25:33 -0500
commit15ea17d7f882fec3f892a22612da4827780c8dae (patch)
tree95470fa103945fecc63ce28045be46e1e5f61c1d /test/sql/test_compiler.py
parent0e8112d32290382b1b38f84bb254543a533ae995 (diff)
downloadsqlalchemy-15ea17d7f882fec3f892a22612da4827780c8dae.tar.gz
Added NULLS FIRST and NULLS LAST support.
It's implemented as an extension to the asc() and desc() operators, called nullsfirst() and nullslast(). [ticket:723]
Diffstat (limited to 'test/sql/test_compiler.py')
-rw-r--r--test/sql/test_compiler.py31
1 files changed, 31 insertions, 0 deletions
diff --git a/test/sql/test_compiler.py b/test/sql/test_compiler.py
index bc0a2e9c3..b34eaeaae 100644
--- a/test/sql/test_compiler.py
+++ b/test/sql/test_compiler.py
@@ -921,6 +921,37 @@ class SelectTest(TestBase, AssertsCompiledSQL):
"OR mytable.myid = :myid_2 OR mytable.myid = :myid_3"
)
+ def test_order_by_nulls(self):
+ self.assert_compile(
+ table2.select(order_by = [table2.c.otherid, table2.c.othername.desc().nullsfirst()]),
+ "SELECT myothertable.otherid, myothertable.othername FROM "
+ "myothertable ORDER BY myothertable.otherid, myothertable.othername DESC NULLS FIRST"
+ )
+
+ self.assert_compile(
+ table2.select(order_by = [table2.c.otherid, table2.c.othername.desc().nullslast()]),
+ "SELECT myothertable.otherid, myothertable.othername FROM "
+ "myothertable ORDER BY myothertable.otherid, myothertable.othername DESC NULLS LAST"
+ )
+
+ self.assert_compile(
+ table2.select(order_by = [table2.c.otherid.nullslast(), table2.c.othername.desc().nullsfirst()]),
+ "SELECT myothertable.otherid, myothertable.othername FROM "
+ "myothertable ORDER BY myothertable.otherid NULLS LAST, myothertable.othername DESC NULLS FIRST"
+ )
+
+ self.assert_compile(
+ table2.select(order_by = [table2.c.otherid.nullsfirst(), table2.c.othername.desc()]),
+ "SELECT myothertable.otherid, myothertable.othername FROM "
+ "myothertable ORDER BY myothertable.otherid NULLS FIRST, myothertable.othername DESC"
+ )
+
+ self.assert_compile(
+ table2.select(order_by = [table2.c.otherid.nullsfirst(), table2.c.othername.desc().nullslast()]),
+ "SELECT myothertable.otherid, myothertable.othername FROM "
+ "myothertable ORDER BY myothertable.otherid NULLS FIRST, myothertable.othername DESC NULLS LAST"
+ )
+
def test_orderby_groupby(self):
self.assert_compile(
table2.select(order_by = [table2.c.otherid, asc(table2.c.othername)]),