summaryrefslogtreecommitdiff
path: root/lib/sqlalchemy/sql.py
diff options
context:
space:
mode:
authorMike Bayer <mike_mp@zzzcomputing.com>2006-05-12 17:11:46 +0000
committerMike Bayer <mike_mp@zzzcomputing.com>2006-05-12 17:11:46 +0000
commit91065e84c43b89320a5c604af4484c28df065187 (patch)
tree8041a9abfdfe8ee5802fabfeac2cd696c580e26e /lib/sqlalchemy/sql.py
parentbf0f6bfe4ae7cce8e952b64938eb74a03b315cef (diff)
downloadsqlalchemy-91065e84c43b89320a5c604af4484c28df065187.tar.gz
added != support for None -> foo IS NOT NULL
Diffstat (limited to 'lib/sqlalchemy/sql.py')
-rw-r--r--lib/sqlalchemy/sql.py8
1 files changed, 6 insertions, 2 deletions
diff --git a/lib/sqlalchemy/sql.py b/lib/sqlalchemy/sql.py
index 8c10a44d9..5edfe6f1f 100644
--- a/lib/sqlalchemy/sql.py
+++ b/lib/sqlalchemy/sql.py
@@ -540,8 +540,12 @@ class CompareMixin(object):
def _compare(self, operator, obj):
if _is_literal(obj):
if obj is None:
- if operator != '=':
- raise ArgumentError("Only '=' operator can be used with NULL")
+ if operator == '=':
+ return BooleanExpression(self._compare_self(), null(), 'IS')
+ elif operator == '!=':
+ return BooleanExpression(self._compare_self(), null(), 'IS NOT')
+ else:
+ raise exceptions.ArgumentError("Only '='/'!=' operators can be used with NULL")
return BooleanExpression(self._compare_self(), null(), 'IS')
else:
obj = self._bind_param(obj)