summaryrefslogtreecommitdiff
path: root/lib/sqlalchemy/sql
diff options
context:
space:
mode:
authorMike Bayer <mike_mp@zzzcomputing.com>2013-10-12 20:04:55 -0400
committerMike Bayer <mike_mp@zzzcomputing.com>2013-10-12 20:13:27 -0400
commitd8c17e2a6f41d0aad331678e916f1aa4f07e4f7b (patch)
treea8390553ad61d5da567dd5f03515b614da2f88b7 /lib/sqlalchemy/sql
parente488bb47e4bd21ff0a09ce23e1adf00ba64d5d57 (diff)
downloadsqlalchemy-d8c17e2a6f41d0aad331678e916f1aa4f07e4f7b.tar.gz
- Fixed bug in default compiler plus those of postgresql, mysql, and
mssql to ensure that any literal SQL expression values are rendered directly as literals, instead of as bound parameters, within a CREATE INDEX statement. [ticket:2742] - don't need expression_as_ddl(); literal_binds and include_table take care of this functionality. Conflicts: lib/sqlalchemy/sql/util.py
Diffstat (limited to 'lib/sqlalchemy/sql')
-rw-r--r--lib/sqlalchemy/sql/compiler.py7
-rw-r--r--lib/sqlalchemy/sql/util.py2
2 files changed, 6 insertions, 3 deletions
diff --git a/lib/sqlalchemy/sql/compiler.py b/lib/sqlalchemy/sql/compiler.py
index 13bf47c0b..0a1fcdfab 100644
--- a/lib/sqlalchemy/sql/compiler.py
+++ b/lib/sqlalchemy/sql/compiler.py
@@ -2031,7 +2031,7 @@ class DDLCompiler(engine.Compiled):
use_schema=include_table_schema),
', '.join(
self.sql_compiler.process(expr,
- include_table=False) for
+ include_table=False, literal_binds=True) for
expr in index.expressions)
)
return text
@@ -2121,8 +2121,9 @@ class DDLCompiler(engine.Compiled):
if constraint.name is not None:
text += "CONSTRAINT %s " % \
self.preparer.format_constraint(constraint)
- sqltext = sql_util.expression_as_ddl(constraint.sqltext)
- text += "CHECK (%s)" % self.sql_compiler.process(sqltext)
+ text += "CHECK (%s)" % self.sql_compiler.process(constraint.sqltext,
+ include_table=False,
+ literal_binds=True)
text += self.define_constraint_deferrability(constraint)
return text
diff --git a/lib/sqlalchemy/sql/util.py b/lib/sqlalchemy/sql/util.py
index fdc5bb372..ecb26e2ea 100644
--- a/lib/sqlalchemy/sql/util.py
+++ b/lib/sqlalchemy/sql/util.py
@@ -270,6 +270,8 @@ def expression_as_ddl(clause):
into detached column constructs so that the parent table
identifier is not included.
+ .. deprecated:: this function is removed in 0.9.0.
+
"""
def repl(element):
if isinstance(element, expression.BindParameter):