Fix replica identity check for a partitioned table.
authorAmit Kapila <akapila@postgresql.org>
Tue, 16 Aug 2022 09:55:41 +0000 (15:25 +0530)
committerAmit Kapila <akapila@postgresql.org>
Tue, 16 Aug 2022 09:55:41 +0000 (15:25 +0530)
commit0d5bd3a6cc3e4cd2fb44e2714e52a684cc7bbc25
tree44ebfaa4ccca6baefb6a30a5f7762b6f0b6baf35
parentf4c32cdd1cc3e759d8e300664ec553a16bcb6c37
Fix replica identity check for a partitioned table.

The current publisher code checks if UPDATE or DELETE can be executed with
the replica identity of the table even if it's a partitioned table. We can
skip checking the replica identity for partitioned tables because the
operations are actually performed on the leaf partitions (not the
partitioned table).

Reported-by: Brad Nicholson
Author: Hou Zhijie
Reviewed-by: Peter Smith, Amit Kapila
Backpatch-through: 13
Discussion: https://postgr.es/m/CAMMnM%3D8i5DohH%3DYKzV0_wYuYSYvuOJoL9F5nzXTc%2ByzsG1f6rg%40mail.gmail.com
src/backend/executor/execReplication.c
src/test/regress/expected/publication.out
src/test/regress/sql/publication.sql