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 feee39ba-7e17-5a6c-521c-bcfccd53afcf@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  ("Drouvot, Bertrand" <bdrouvot@amazon.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 1:12 PM, Amit Kapila wrote:
> On Mon, Aug 9, 2021 at 3:37 PM Drouvot, Bertrand <bdrouvot@amazon.com> wrote:
>> 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.
>>
> Thanks, please see, if you can prepare patches for the back-branches as well.

Please find attached the new version that:

- sets "relwrewrite" for the toast.

- contains a new test case.

As far preparing the patches for the back-branches: I will do it for 
sure, but I would prefer that we agree on a polished version on current 
master first.

Thanks

Bertrand


Attachment

pgsql-hackers by date:

Previous
From: Amit Kapila
Date:
Subject: Re: Added schema level support for publication.
Next
From: Yura Sokolov
Date:
Subject: Re: Bug in huge simplehash