summaryrefslogtreecommitdiff
path: root/test/sql
diff options
context:
space:
mode:
authorMike Bayer <mike_mp@zzzcomputing.com>2016-02-09 18:05:40 -0500
committerMike Bayer <mike_mp@zzzcomputing.com>2016-02-09 18:05:40 -0500
commit29dcaa2b0ae2d26b36ec624be80f56e03ab9095e (patch)
treecf77c6d841eec6fcabac2e869560735332e33b46 /test/sql
parentff3be95620b6505943b2d7e4688abc29dca3e493 (diff)
downloadsqlalchemy-29dcaa2b0ae2d26b36ec624be80f56e03ab9095e.tar.gz
- Fixed bug in :func:`.expression.text` construct where a double-colon
expression would not escape properly, e.g. ``some\:\:expr``, as is most commonly required when rendering Postgresql-style CAST expressions. fixes #3644
Diffstat (limited to 'test/sql')
-rw-r--r--test/sql/test_text.py11
1 files changed, 11 insertions, 0 deletions
diff --git a/test/sql/test_text.py b/test/sql/test_text.py
index 78c3282ac..20cb2a6fb 100644
--- a/test/sql/test_text.py
+++ b/test/sql/test_text.py
@@ -281,6 +281,17 @@ class BindParamTest(fixtures.TestBase, AssertsCompiledSQL):
dialect="postgresql"
)
+ def test_escaping_double_colons(self):
+ self.assert_compile(
+ text(
+ "SELECT * FROM pg_attribute WHERE "
+ "attrelid = :tab\:\:regclass"),
+ "SELECT * FROM pg_attribute WHERE "
+ "attrelid = %(tab)s::regclass",
+ params={'tab': None},
+ dialect="postgresql"
+ )
+
def test_text_in_select_nonfrom(self):
generate_series = text("generate_series(:x, :y, :z) as s(a)").\