Remove incorrect assertion for INSERT in logical replication's publisher
authorMichael Paquier <[email protected]>
Sun, 12 Jan 2020 13:43:45 +0000 (22:43 +0900)
committerMichael Paquier <[email protected]>
Sun, 12 Jan 2020 13:43:45 +0000 (22:43 +0900)
commit1088729e84cc382270c592ac8c57c323836f40ca
tree05ddb601fc00640814e3ac87e5e1cfd881acd584
parent2c0cdc8183654c090c9a1e2f1b5e96ba4634e16a
Remove incorrect assertion for INSERT in logical replication's publisher

On the publisher, it was assumed that an INSERT change cannot happen for
a relation with no replica identity.  However this is true only for a
change that needs references to old rows, aka UPDATE or DELETE, so
trying to use logical replication with a relation that has no replica
identity led to an assertion failure in the publisher when issuing an
INSERT.  This commit removes the incorrect assertion, and adds more
regression tests to provide coverage for relations without replica
identity.

Reported-by: Neha Sharma
Author: Dilip Kumar, Michael Paquier
Reviewed-by: Andres Freund
Discussion: https://postgr.es/m/CANiYTQsL1Hb8_Km08qd32svrqNumXLJeoGo014O7VZymgOhZEA@mail.gmail.com
Backpatch-through: 10
src/backend/replication/logical/proto.c
src/test/subscription/t/001_rep_changes.pl