]> git.ipfire.org Git - thirdparty/sqlalchemy/sqlalchemy.git/commitdiff
- Cls.column.collate("some collation") now
authorMike Bayer <mike_mp@zzzcomputing.com>
Sun, 23 Oct 2011 16:00:31 +0000 (12:00 -0400)
committerMike Bayer <mike_mp@zzzcomputing.com>
Sun, 23 Oct 2011 16:00:31 +0000 (12:00 -0400)
    works.  [ticket:1776]

CHANGES
lib/sqlalchemy/sql/operators.py
test/orm/test_query.py

diff --git a/CHANGES b/CHANGES
index 7cb3694e9b351b638a15ac855269019f3ddb84d7..742a32eae7325b5d3b0f398262586faf9cacefea 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -61,6 +61,9 @@ CHANGES
     after from_statement() were called.
     [ticket:2199].
 
+  - Cls.column.collate("some collation") now
+    works.  [ticket:1776]
+
 - sql
   - Fixed two subtle bugs involving column 
     correspondence in a selectable,
index a85b38f2665a92882a7b84830e233d41e7e4c04d..68deb9698117ee53d2fc1b05bcd1c0088b895c41 100644 (file)
@@ -29,14 +29,14 @@ def as_():
 def exists():
     raise NotImplementedError()
 
-def is_():
-    raise NotImplementedError()
+def is_(a, b):
+    return a.is_(b)
 
-def isnot():
-    raise NotImplementedError()
+def isnot(a, b):
+    return a.isnot(b)
 
-def collate():
-    raise NotImplementedError()
+def collate(a, b):
+    return a.collate(b)
 
 def op(a, opstring, b):
     return a.op(opstring)(b)
index 9c89b837b92bd442ee656f6526f524a571a96b3b..873cd42b42136d28cf1fe6278f616f0df93e3a32 100644 (file)
@@ -619,6 +619,13 @@ class OperatorTest(QueryTest, AssertsCompiledSQL):
         self._test(User.id.between('a', 'b'),
                    "users.id BETWEEN :id_1 AND :id_2")
 
+    def test_collate(self):
+        self._test(collate(User.id, 'binary'),
+                   "users.id COLLATE binary")
+
+        self._test(User.id.collate('binary'),
+                   "users.id COLLATE binary")
+
     def test_selfref_between(self):
         ualias = aliased(User)
         self._test(User.id.between(ualias.id, ualias.id), "users.id BETWEEN users_1.id AND users_1.id")