| From: | Ajin Cherian <itsajin(at)gmail(dot)com> |
|---|---|
| To: | Amit Kapila <amit(dot)kapila16(at)gmail(dot)com> |
| Cc: | Euler Taveira <euler(at)eulerto(dot)com>, "houzj(dot)fnst(at)fujitsu(dot)com" <houzj(dot)fnst(at)fujitsu(dot)com>, Greg Nancarrow <gregn4422(at)gmail(dot)com>, vignesh C <vignesh21(at)gmail(dot)com>, Peter Smith <smithpb2250(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-22 11:29:43 |
| Message-ID: | CAFPTHDaqWcefAoVsurJDQ6bKK9_U2wNCWEuOrkt70ZKspfWhGw@mail.gmail.com |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-hackers |
On Tue, Dec 21, 2021 at 5:19 PM Amit Kapila <amit(dot)kapila16(at)gmail(dot)com> wrote:
>
> Yeah, deforming tuples again can have a significant cost but what is
> the need to maintain tmp_new_tuple in relsyncentry. I think that is
> required in rare cases, so we can probably allocate/deallocate when
> required.
Fixed this.
>
> Few other comments:
> ==================
> 1.
> TupleTableSlot *scantuple; /* tuple table slot for row filter */
> + TupleTableSlot *new_tuple; /* slot for storing deformed new tuple
> during updates */
> + TupleTableSlot *old_tuple; /* slot for storing deformed old tuple
> during updates */
>
> I think it is better to name these as scan_slot, new_slot, old_slot to
> avoid confusion with tuples.
>
Fixed this.
> 2.
> +++ b/src/backend/replication/logical/proto.c
> @@ -19,6 +19,7 @@
> #include "replication/logicalproto.h"
> #include "utils/lsyscache.h"
> #include "utils/syscache.h"
> +#include "executor/executor.h"
>
> The include is in wrong order. We keep includes in alphabatic order.
>
Fixed this.
> 3.
> @@ -832,6 +847,7 @@ logicalrep_write_tuple(StringInfo out, Relation
> rel, HeapTuple tuple, bool binar
>
> ReleaseSysCache(typtup);
> }
> +
> }
>
> Spurious addition.
>
Fixed this.
regards,
Ajin Cherian
| Attachment | Content-Type | Size |
|---|---|---|
| v53-0002-Row-filter-updates-based-on-old-new-tuples.patch | application/octet-stream | 23.4 KB |
| v53-0003-Row-filter-tab-auto-complete-and-pgdump.patch | application/octet-stream | 5.6 KB |
| v53-0001-Row-filter-for-logical-replication.patch | application/octet-stream | 132.3 KB |
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Simon Riggs | 2021-12-22 11:35:56 | Re: support for MERGE |
| Previous Message | Ashutosh Sharma | 2021-12-22 10:56:18 | Re: [Proposal] Fully WAL logged CREATE DATABASE - No Checkpoints |