diff options
| author | Sebastian Bank <sebastian.bank@uni-leipzig.de> | 2016-04-11 23:16:32 -0400 |
|---|---|---|
| committer | Mike Bayer <mike_mp@zzzcomputing.com> | 2016-06-06 15:53:25 -0400 |
| commit | 3351f5f93ca1968653becbed7f1ddef7afb96077 (patch) | |
| tree | 0bc2a08dd5809522e23eed7a47b9f11bf95ad4b2 /lib/sqlalchemy/dialects/sqlite/base.py | |
| parent | a5f92314edd45a2e411b0f5b3c4d4bec0c7d92f8 (diff) | |
| download | sqlalchemy-3351f5f93ca1968653becbed7f1ddef7afb96077.tar.gz | |
Add IS (NOT) DISTINCT FROM operators
None / True / False render as literals.
For SQLite, "IS" is used as SQLite lacks
"IS DISTINCT FROM" but its "IS" operator acts
this way for NULL.
Doctext-author: Mike Bayer <mike_mp@zzzcomputing.com>
Change-Id: I9227b81f7207b42627a0349d14d40b46aa756cce
Pull-request: https://github.com/zzzeek/sqlalchemy/pull/248
Diffstat (limited to 'lib/sqlalchemy/dialects/sqlite/base.py')
| -rw-r--r-- | lib/sqlalchemy/dialects/sqlite/base.py | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/lib/sqlalchemy/dialects/sqlite/base.py b/lib/sqlalchemy/dialects/sqlite/base.py index 5109ff3a7..07e4592ba 100644 --- a/lib/sqlalchemy/dialects/sqlite/base.py +++ b/lib/sqlalchemy/dialects/sqlite/base.py @@ -849,6 +849,14 @@ class SQLiteCompiler(compiler.SQLCompiler): # sqlite has no "FOR UPDATE" AFAICT return '' + def visit_is_distinct_from_binary(self, binary, operator, **kw): + return "%s IS NOT %s" % (self.process(binary.left), + self.process(binary.right)) + + def visit_isnot_distinct_from_binary(self, binary, operator, **kw): + return "%s IS %s" % (self.process(binary.left), + self.process(binary.right)) + class SQLiteDDLCompiler(compiler.DDLCompiler): |
