RE: row filtering for logical replication

From: "houzj(dot)fnst(at)fujitsu(dot)com" <houzj(dot)fnst(at)fujitsu(dot)com>
To: Peter Smith <smithpb2250(at)gmail(dot)com>
Cc: Amit Kapila <amit(dot)kapila16(at)gmail(dot)com>, Euler Taveira <euler(at)eulerto(dot)com>, Greg Nancarrow <gregn4422(at)gmail(dot)com>, vignesh C <vignesh21(at)gmail(dot)com>, Ajin Cherian <itsajin(at)gmail(dot)com>, "tanghy(dot)fnst(at)fujitsu(dot)com" <tanghy(dot)fnst(at)fujitsu(dot)com>, Dilip Kumar <dilipbalaut(at)gmail(dot)com>, Rahila Syed <rahilasyed90(at)gmail(dot)com>, Peter Eisentraut <peter(dot)eisentraut(at)enterprisedb(dot)com>, Önder Kalacı <onderkalaci(at)gmail(dot)com>, japin <japinli(at)hotmail(dot)com>, Michael Paquier <michael(at)paquier(dot)xyz>, David Steele <david(at)pgmasters(dot)net>, Craig Ringer <craig(at)2ndquadrant(dot)com>, Amit Langote <amitlangote09(at)gmail(dot)com>, PostgreSQL Hackers <pgsql-hackers(at)lists(dot)postgresql(dot)org>
Subject: RE: row filtering for logical replication
Date: 2021-12-28 13:03:17
Message-ID: TYAPR01MB57240C054D95F0AE55618D2C94439@TYAPR01MB5724.jpnprd01.prod.outlook.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Mon, Dec 27, 2021 9:19 PM Hou Zhijie <houzj(dot)fnst(at)fujitsu(dot)com> wrote:
> On Mon, Dec 27, 2021 9:16 PM houzj(dot)fnst(at)fujitsu(dot)com <houzj(dot)fnst(at)fujitsu(dot)com>
> wrote:
> > On Thur, Dec 23, 2021 4:28 PM Peter Smith <smithpb2250(at)gmail(dot)com> wrote:
> > > Here is the v54* patch set:
> >
> > Attach the v55 patch set which add the following testcases in 0002 patch.

When reviewing the row filter patch, I found few things that could be improved.
1) We could transform the same row filter expression twice when
ALTER PUBLICATION ... SET TABLE WHERE (...). Because we invoke
GetTransformedWhereClause in both AlterPublicationTables() and
publication_add_relation(). I was thinking it might be better if we only
transform the expression once in AlterPublicationTables().

2) When transforming the expression, we didn’t set the correct p_sourcetext.
Since we need to transforming serval expressions which belong to different
relations, I think it might be better to pass queryString down to the actual
transform function and set p_sourcetext to the actual queryString.

Attach a top up patch 0004 which did the above changes.

Best regards,
Hou zj

Attachment Content-Type Size
v55-0003-Row-filter-tab-auto-complete-and-pgdump.patch application/octet-stream 5.6 KB
v55-0001-Row-filter-for-logical-replication.patch application/octet-stream 132.2 KB
v55-0002-Row-filter-updates-based-on-old-new-tuples.patch application/octet-stream 34.5 KB
v55-0004-top-up-refactor-node-parse-part.patch application/octet-stream 18.6 KB

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Godfrin, Philippe E 2021-12-28 13:10:53 toast tables and toast indexes
Previous Message Pavel Stehule 2021-12-28 08:57:28 Re: sequences vs. synchronous replication