From: | vignesh C <vignesh21(at)gmail(dot)com> |
---|---|
To: | "Hayato Kuroda (Fujitsu)" <kuroda(dot)hayato(at)fujitsu(dot)com> |
Cc: | Shubham Khanna <khannashubham1197(at)gmail(dot)com>, Amit Kapila <amit(dot)kapila16(at)gmail(dot)com>, Masahiko Sawada <sawada(dot)mshk(at)gmail(dot)com>, Rajendra Kumar Dangwal <dangwalrajendra888(at)gmail(dot)com>, "pgsql-hackers(at)lists(dot)postgresql(dot)org" <pgsql-hackers(at)lists(dot)postgresql(dot)org>, "euler(at)eulerto(dot)com" <euler(at)eulerto(dot)com>, Peter Smith <smithpb2250(at)gmail(dot)com> |
Subject: | Re: Pgoutput not capturing the generated columns |
Date: | 2024-10-29 09:40:44 |
Message-ID: | CALDaNm1oc-+uav380Z1k6gCZY5GJn5ZYKRexwM+qqGiRinUS-Q@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
On Tue, 29 Oct 2024 at 11:19, Hayato Kuroda (Fujitsu)
<kuroda(dot)hayato(at)fujitsu(dot)com> wrote:
>
> Dear Shubham,
>
> Thanks for updating the patch! Here are my comments for v44.
>
> 01. fetch_remote_table_info()
>
> `bool *remotegencolpresent` is accessed unconditionally, but it can cause crash
> if NULL is passed to the function. Should we add an Assert to verify it?
I have not made any changes for this as I felt it is not required.
Also Amit felt the same way as in [1].
> 02. fetch_remote_table_info()
>
> ```
> + if (server_version >= 180000)
> + *remotegencolpresent |= DatumGetBool(slot_getattr(slot, 5, &isnull));
> +
> ```
>
> Can we add Assert(!isnull) like other parts?
Included it.
> 03. fetch_remote_table_info()
>
> Also, we do not have to reach here once *remotegencolpresent becomes true.
> Based on 02 and 03, how about below?
>
> ```
> if (server_version >= 180000 && !(*remotegencolpresent))
> {
> *remotegencolpresent |= DatumGetBool(slot_getattr(slot, 5, &isnull));
> Assert(!isnull);
> }
> ```
Modified
> 04. pgoutput_column_list_init()
>
> + if (att->attgenerated)
> + {
> + if (bms_is_member(att->attnum, cols))
> + gencolpresent = true;
> +
> continue;
> + }
>
> I'm not sure it is correct. Why do you skip the generated column even when it is in
> the column list? Also, can you add comments what you want to do?
Modified it now and added comments.
The v45 version attached has the changes for the same.
Regards,
Vignesh
Attachment | Content-Type | Size |
---|---|---|
v45-0001-Allow-logical-replication-to-publish-generated-c.patch | text/x-patch | 20.4 KB |
From | Date | Subject | |
---|---|---|---|
Next Message | David Rowley | 2024-10-29 09:47:22 | Re: Add ExprState hashing for GROUP BY and hashed SubPlans |
Previous Message | Heikki Linnakangas | 2024-10-29 09:39:03 | Re: define pg_structiszero(addr, s, r) |