summaryrefslogtreecommitdiff
path: root/lib/sqlalchemy/sql/compiler.py
diff options
context:
space:
mode:
authormike bayer <mike_mp@zzzcomputing.com>2022-04-14 12:38:43 +0000
committerGerrit Code Review <gerrit@ci3.zzzcomputing.com>2022-04-14 12:38:43 +0000
commit997e4dfae98fc68463fa5121c2ce95498ad238d1 (patch)
tree20e2629903b3ab2cf377d5115a5a4bc199d71929 /lib/sqlalchemy/sql/compiler.py
parent42c20b015d01ced441c42a8a6c5e9ed823316682 (diff)
parent428262a2d5374613f4a4cf925bbd9e94e0e34acc (diff)
downloadsqlalchemy-997e4dfae98fc68463fa5121c2ce95498ad238d1.tar.gz
Merge "implement multi-element expression constructs" into main
Diffstat (limited to 'lib/sqlalchemy/sql/compiler.py')
-rw-r--r--lib/sqlalchemy/sql/compiler.py18
1 files changed, 18 insertions, 0 deletions
diff --git a/lib/sqlalchemy/sql/compiler.py b/lib/sqlalchemy/sql/compiler.py
index 522a0bd4a..9c074db33 100644
--- a/lib/sqlalchemy/sql/compiler.py
+++ b/lib/sqlalchemy/sql/compiler.py
@@ -2013,6 +2013,24 @@ class SQLCompiler(Compiled):
return self._generate_delimited_list(clauselist.clauses, sep, **kw)
+ def visit_expression_clauselist(self, clauselist, **kw):
+ operator_ = clauselist.operator
+
+ disp = self._get_operator_dispatch(
+ operator_, "expression_clauselist", None
+ )
+ if disp:
+ return disp(clauselist, operator_, **kw)
+
+ try:
+ opstring = OPERATORS[operator_]
+ except KeyError as err:
+ raise exc.UnsupportedCompilationError(self, operator_) from err
+ else:
+ return self._generate_delimited_list(
+ clauselist.clauses, opstring, **kw
+ )
+
def visit_case(self, clause, **kwargs):
x = "CASE "
if clause.value is not None: