Skip to content

Commit f3d1255

Browse files
committed
fix: update with join
1 parent 18af447 commit f3d1255

File tree

4 files changed

+5
-5
lines changed

4 files changed

+5
-5
lines changed

pypika/dialects/postgresql.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -160,7 +160,7 @@ def get_sql(self, with_alias: bool = False, subquery: bool = False, **kwargs: An
160160
querystring += self._set_sql(**kwargs)
161161

162162
if self._joins:
163-
self._from.append(self._update_table)
163+
self._from.append(self._update_table.as_(self._update_table.get_table_name() + "_"))
164164

165165
if self._from:
166166
querystring += self._from_sql(**kwargs)

pypika/dialects/sqlite.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,7 @@ def get_sql(self, **kwargs: Any) -> str:
6565
querystring += self._set_sql(**kwargs)
6666

6767
if self._joins:
68-
self._from.append(self._update_table)
68+
self._from.append(self._update_table.as_(self._update_table.get_table_name() + "_"))
6969

7070
if self._from:
7171
querystring += self._from_sql(**kwargs)

tests/dialects/test_postgresql.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -297,6 +297,6 @@ def test_return_field_from_join_table(self):
297297
)
298298

299299
self.assertEqual(
300-
'UPDATE "abc" SET "foo"=\'bar\' FROM "abc" JOIN "xyz" ON "xyz"."id"="abc"."xyz" WHERE "abc"."foo"=0 RETURNING "xyz"."a"',
300+
'UPDATE "abc" SET "foo"=\'bar\' FROM "abc" "abc_" JOIN "xyz" ON "xyz"."id"="abc"."xyz" WHERE "abc"."foo"=0 RETURNING "xyz"."a"',
301301
str(q),
302302
)

tests/test_updates.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -176,7 +176,7 @@ def test_update_with_join(self):
176176
.set(self.table_abc.lname, self.table_def.lname)
177177
)
178178
self.assertEqual(
179-
'UPDATE "abc" SET "lname"="def"."lname" FROM "abc" JOIN "def" ON "def"."abc_id"="abc"."id"',
179+
'UPDATE "abc" SET "lname"="def"."lname" FROM "abc" "abc_" JOIN "def" ON "def"."abc_id"="abc"."id"',
180180
str(q),
181181
)
182182

@@ -207,7 +207,7 @@ def test_update_with_join(self):
207207
.set(self.table_abc.lname, self.table_def.lname)
208208
)
209209
self.assertEqual(
210-
'UPDATE "abc" SET "lname"="def"."lname" FROM "abc" JOIN "def" ON "def"."abc_id"="abc"."id"',
210+
'UPDATE "abc" SET "lname"="def"."lname" FROM "abc" "abc_" JOIN "def" ON "def"."abc_id"="abc"."id"',
211211
str(q),
212212
)
213213

0 commit comments

Comments
 (0)