From c18a04affd117cd6d7deb5b389de81b040b749a1 Mon Sep 17 00:00:00 2001 From: Marat Sharafutdinov Date: Wed, 18 Dec 2019 10:39:59 -0500 Subject: Add CTE prefixes Added support for prefixes to the :class:`.CTE` construct, to allow support for Postgresql 12 "MATERIALIZED" and "NOT MATERIALIZED" phrases. Pull request courtesy Marat Sharafutdinov. Fixes: #5040 Closes: #5043 Pull-request: https://github.com/sqlalchemy/sqlalchemy/pull/5043 Pull-request-sha: d1b9059a0b6dae8dc2479ac670999b4af07908e0 Change-Id: I2e9cb5d7f85961ec98ee51965de5b3ec4a97be2f --- lib/sqlalchemy/sql/compiler.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'lib/sqlalchemy/sql/compiler.py') diff --git a/lib/sqlalchemy/sql/compiler.py b/lib/sqlalchemy/sql/compiler.py index 4ec3b93ea..807b01c24 100644 --- a/lib/sqlalchemy/sql/compiler.py +++ b/lib/sqlalchemy/sql/compiler.py @@ -1851,7 +1851,8 @@ class SQLCompiler(Compiled): kwargs["positional_names"] = self.cte_positional[cte] = [] assert kwargs.get("subquery", False) is False - text += " AS \n(%s)" % ( + text += " AS %s\n(%s)" % ( + self._generate_prefixes(cte, cte._prefixes, **kwargs), cte.element._compiler_dispatch( self, asfrom=True, **kwargs ), -- cgit v1.2.1