pgsql: Fix Assert failure for MERGE into a partitioned table with RLS.

2023-02-22 Thread Dean Rasheed
Fix Assert failure for MERGE into a partitioned table with RLS.

In ExecInitPartitionInfo(), the Assert when building the WITH CHECK
OPTION list for the new partition assumed that the command would be an
INSERT or UPDATE, but it can also be a MERGE. This can be triggered by
a MERGE into a partitioned table with RLS checks to enforce.

Fix, and back-patch to v15, where MERGE was introduced.

Discussion: 
https://postgr.es/m/CAEZATCWWFtQmW67F3XTyMU5Am10Oxa_b8oe0x%2BNu5Mo%2BCdRErg%40mail.gmail.com

Branch
--
REL_15_STABLE

Details
---
https://git.postgresql.org/pg/commitdiff/d8c3b65db58db0a074dc9f7e27846e22e9dc579f

Modified Files
--
src/backend/executor/execPartition.c | 10 +++---
src/test/regress/expected/merge.out  | 12 
src/test/regress/sql/merge.sql   | 12 
3 files changed, 31 insertions(+), 3 deletions(-)



pgsql: Fix Assert failure for MERGE into a partitioned table with RLS.

2023-02-22 Thread Dean Rasheed
Fix Assert failure for MERGE into a partitioned table with RLS.

In ExecInitPartitionInfo(), the Assert when building the WITH CHECK
OPTION list for the new partition assumed that the command would be an
INSERT or UPDATE, but it can also be a MERGE. This can be triggered by
a MERGE into a partitioned table with RLS checks to enforce.

Fix, and back-patch to v15, where MERGE was introduced.

Discussion: 
https://postgr.es/m/CAEZATCWWFtQmW67F3XTyMU5Am10Oxa_b8oe0x%2BNu5Mo%2BCdRErg%40mail.gmail.com

Branch
--
master

Details
---
https://git.postgresql.org/pg/commitdiff/0d3b49d4af7509032c847bfc956aac98d30644bf

Modified Files
--
src/backend/executor/execPartition.c | 10 +++---
src/test/regress/expected/merge.out  | 12 
src/test/regress/sql/merge.sql   | 12 
3 files changed, 31 insertions(+), 3 deletions(-)