Forbid SJE with result relation
authorAlexander Korotkov <akorotkov@postgresql.org>
Tue, 9 Jan 2024 08:01:22 +0000 (10:01 +0200)
committerAlexander Korotkov <akorotkov@postgresql.org>
Tue, 9 Jan 2024 08:01:22 +0000 (10:01 +0200)
commit8c441c082797f22ae96f50b641a8ef3f65c92b8d
treeebc1da408c3be4f1f09a09195bc006e6079c4a05
parent30b4955a4668887044568743debef804b14418ca
Forbid SJE with result relation

The target relation for INSERT/UPDATE/DELETE/MERGE has a different behavior
than other relations in EvalPlanQual() and RETURNING clause.  This is why we
forbid target relation to be either source or target relation in SJE.
It's not clear if we could ever support this.

Reported-by: Alexander Lakhin
Discussion: https://postgr.es/m/b9e8f460-f9a6-0e9b-e8ba-60d59f0bc22c%40gmail.com
src/backend/optimizer/plan/analyzejoins.c
src/test/regress/expected/join.out
src/test/regress/expected/updatable_views.out
src/test/regress/sql/join.sql