expression would not escape properly, e.g. ``some\:\:expr``, as is most
commonly required when rendering Postgresql-style CAST expressions.
fixes #3644
:version: 1.0.12
:released:
+ .. change::
+ :tags: bug, postgresql
+ :tickets: 3644
+
+ 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.
+
.. change::
:tags: bug, sql
:tickets: 3643
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)").\