On Tue, Oct 26, 2021 at 3:24 PM Peter Smith <smithpb2...@gmail.com> wrote: > > PSA new set of patches: > > v34-0001 = the "main" patch from Euler. No change > > v34-0002 = tab auto-complete. No change > > v34-0003 = cache updates. Addresses Tomas review comment #3 [1]. > > v34-0004 = filter validation replica identity. Addresses Tomas review > comment #8 and #9 [1]. > > v34-0005 = filter validation walker. Addresses Tomas review comment #6 [1] > > v34-0006 = support old/new tuple logic for row-filters. Modified, but > no functional change. >
Regarding the v34-0006 patch, shouldn't it also include an update to the rowfilter_expr_checker() function added by the v34-0002 patch, for validating the referenced row-filter columns in the case of UPDATE? I was thinking something like the following (or is it more complex than this?): diff --git a/src/backend/catalog/pg_publication.c b/src/backend/catalog/pg_publication.c index dc2f4597e6..579e727b10 100644 --- a/src/backend/catalog/pg_publication.c +++ b/src/backend/catalog/pg_publication.c @@ -162,12 +162,10 @@ rowfilter_expr_checker(Publication *pub, ParseState *pstate, Node *rfnode, Relat rowfilter_validator(relname, rfnode); /* - * Rule 2: For "delete", check that filter cols are also valid replica - * identity cols. - * - * TODO - check later for publish "update" case. + * Rule 2: For "delete" and "update", check that filter cols are also + * valid replica identity cols. */ - if (pub->pubactions.pubdelete) + if (pub->pubactions.pubdelete || pub->pubactions.pubupdate) { char replica_identity = rel->rd_rel->relreplident; Regards, Greg Nancarrow Fujitsu Australia