Re: [bug] Logical Decoding of relation rewrite with toast does not reset toast_hash - Mailing list pgsql-hackers

From Drouvot, Bertrand
Subject Re: [bug] Logical Decoding of relation rewrite with toast does not reset toast_hash
Date
Msg-id 40f5f659-91be-7fea-873e-471a0cfa2e45@amazon.com
Whole thread Raw
In response to Re: [bug] Logical Decoding of relation rewrite with toast does not reset toast_hash  (Amit Kapila <amit.kapila16@gmail.com>)
Responses Re: [bug] Logical Decoding of relation rewrite with toast does not reset toast_hash  (Amit Kapila <amit.kapila16@gmail.com>)
Re: [bug] Logical Decoding of relation rewrite with toast does not reset toast_hash  (Amit Kapila <amit.kapila16@gmail.com>)
List pgsql-hackers
Hi Amit,

On 8/9/21 10:37 AM, Amit Kapila wrote:
> On Fri, Jul 9, 2021 at 12:22 PM Drouvot, Bertrand <bdrouvot@amazon.com> wrote:
>> Please find enclosed a patch proposal to:
>>
>> * Avoid the failed assertion on current master and generate the error message instead (should the code reach that
stage).
>> * Reset the toast_hash in case of relation rewrite with toast (so that the logical decoding in the above repro is
working).
>>
> I think instead of resetting toast_hash for this case why don't we set
> 'relrewrite' for toast tables as well during rewrite? If we do that
> then we will simply skip assembling toast chunks for the toast table.

Thanks for looking at it!

I do agree, that would be even better than the current patch approach: 
I'll work on it.

> In make_new_heap(), we are calling NewHeapCreateToastTable() to create
> toast table where we can pass additional information (probably
> 'toastid'), if required to set 'relrewrite'. Additionally, let's add a
> test case if possible for this.
+ 1 for the test case, it will be added in the next version of the patch.
>
> BTW, I see this as an Open Item for PG-14 [1] which seems wrong to me
> as this is a bug from previous versions. I am not sure who added it

Me neither.

> but do you see any reason for this to consider as an open item for
> PG-14?

No, I don't see any reasons as this is a bug from previous versions.

Thanks

Bertrand




pgsql-hackers by date:

Previous
From: Dilip Kumar
Date:
Subject: Re: [bug] Logical Decoding of relation rewrite with toast does not reset toast_hash
Next
From: Amit Kapila
Date:
Subject: Re: Column Filtering in Logical Replication