From 29dcaa2b0ae2d26b36ec624be80f56e03ab9095e Mon Sep 17 00:00:00 2001 From: Mike Bayer Date: Tue, 9 Feb 2016 18:05:40 -0500 Subject: - 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 --- test/sql/test_text.py | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'test/sql/test_text.py') 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)").\ -- cgit v1.2.1