Skip to content

Commit 01bd9b7

Browse files
committed
Added quote chars to 'with' aliases
1 parent 1c9646f commit 01bd9b7

File tree

4 files changed

+7
-6
lines changed

4 files changed

+7
-6
lines changed

pypika/queries.py

+2-1
Original file line numberDiff line numberDiff line change
@@ -1381,7 +1381,8 @@ def _apply_pagination(self, querystring: str, **kwargs) -> str:
13811381

13821382
def _with_sql(self, **kwargs: Any) -> str:
13831383
return "WITH " + ",".join(
1384-
clause.name + " AS (" + clause.get_sql(subquery=False, with_alias=False, **kwargs) + ") "
1384+
format_quotes(clause.name, kwargs.get('alias_quote_char') or kwargs.get('quote_char')) +
1385+
" AS (" + clause.get_sql(subquery=False, with_alias=False, **kwargs) + ") "
13851386
for clause in self._with
13861387
)
13871388

pypika/tests/test_inserts.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -165,7 +165,7 @@ def test_insert_with_statement(self):
165165

166166
q = Query().with_(sub_query, 'sub_qs').into(self.table_abc).select(aliased.id).from_(aliased)
167167
self.assertEqual(
168-
'WITH sub_qs AS (SELECT "id" FROM "abc") INSERT INTO "abc" SELECT "sub_qs"."id" FROM sub_qs', str(q)
168+
'WITH "sub_qs" AS (SELECT "id" FROM "abc") INSERT INTO "abc" SELECT "sub_qs"."id" FROM sub_qs', str(q)
169169
)
170170

171171

pypika/tests/test_selects.py

+3-3
Original file line numberDiff line numberDiff line change
@@ -1291,7 +1291,7 @@ def test_with(self):
12911291
test_query = Query.with_(sub_query, "an_alias").from_(AliasedQuery("an_alias")).select("*")
12921292

12931293
self.assertEqual(
1294-
'WITH an_alias AS (SELECT "fizz" FROM "efg") SELECT * FROM an_alias',
1294+
'WITH "an_alias" AS (SELECT "fizz" FROM "efg") SELECT * FROM an_alias',
12951295
str(test_query),
12961296
)
12971297

@@ -1305,7 +1305,7 @@ def test_join_with_with(self):
13051305
.select("*")
13061306
)
13071307
self.assertEqual(
1308-
'WITH an_alias AS (SELECT "fizz" FROM "efg") '
1308+
'WITH "an_alias" AS (SELECT "fizz" FROM "efg") '
13091309
'SELECT * FROM "abc" JOIN an_alias ON "an_alias"."fizz"="abc"."buzz"',
13101310
str(test_query),
13111311
)
@@ -1314,7 +1314,7 @@ def test_select_from_with_returning(self):
13141314
sub_query = PostgreSQLQuery.into(self.table_abc).insert(1).returning('*')
13151315
test_query = Query.with_(sub_query, "an_alias").from_(AliasedQuery("an_alias")).select("*")
13161316
self.assertEqual(
1317-
'WITH an_alias AS (INSERT INTO "abc" VALUES (1) RETURNING *) SELECT * FROM an_alias', str(test_query)
1317+
'WITH "an_alias" AS (INSERT INTO "abc" VALUES (1) RETURNING *) SELECT * FROM an_alias', str(test_query)
13181318
)
13191319

13201320

pypika/tests/test_updates.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -88,7 +88,7 @@ def test_update_with_statement(self):
8888
.where(self.table_abc.comp.eq(an_alias.alias_comp))
8989
)
9090
self.assertEqual(
91-
'WITH an_alias AS (SELECT "fizz" FROM "efg") '
91+
'WITH "an_alias" AS (SELECT "fizz" FROM "efg") '
9292
'UPDATE "abc" SET "lname"="an_alias"."long_name" FROM an_alias '
9393
'WHERE "abc"."comp"="an_alias"."alias_comp"',
9494
str(q),

0 commit comments

Comments
 (0)