Re: [bug] Logical Decoding of relation rewrite with toast does not reset toast_hash
От | Dilip Kumar |
---|---|
Тема | Re: [bug] Logical Decoding of relation rewrite with toast does not reset toast_hash |
Дата | |
Msg-id | CAFiTN-suMDbyfJbx4tg9_XmwGmVdna8XBt4AJVNA09RU+oXCww@mail.gmail.com обсуждение исходный текст |
Ответ на | Re: [bug] Logical Decoding of relation rewrite with toast does not reset toast_hash (Amit Kapila <amit.kapila16@gmail.com>) |
Список | pgsql-hackers |
On Mon, Aug 9, 2021 at 2:07 PM Amit Kapila <amit.kapila16@gmail.com> 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. > 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. I agree with Amit, that setting relrewrite for the toast relation as well is better as we can simply avoid processing the toast tuple as well in such cases. -- Regards, Dilip Kumar EnterpriseDB: http://www.enterprisedb.com
В списке pgsql-hackers по дате отправления: