On Tue, May 25, 2021 at 1:49 PM Dilip Kumar <dilipbal...@gmail.com> wrote:
> On Tue, May 25, 2021 at 1:45 PM Pavan Deolasee <pavan.deola...@gmail.com> > wrote: > > > > I am not entirely sure if it works correctly. I'd tried something > similar, but the downstream node using > > my output plugin gets NULL values for the toast columns. It's a bit > hard to demonstrate that with the > > test_decoding plugin, but if you have some other mechanism to test that > change with an actual downstream > > node receiving and applying changes, it will be useful to test with that. > > Okay, I will test that. Thanks. > > I modified test_decoding to print the tuples (like in the non-streamed case) and included your proposed fix. PFA When the transaction is streamed, I see: ``` + opening a streamed block for transaction + table public.toasted: INSERT: id[integer]:9001 other[text]:'bbb' data[text]:'ccc' + table public.toasted: INSERT: id[integer]:9002 other[text]:'ddd' data[text]:'eee' + table public.toasted: INSERT: id[integer]:9003 other[text]:'bar' data[text]:unchanged-toast-datum <snipped> ``` For a non-streamed case, the `data[text]` column shows the actual data. That probably manifests into NULL data when downstream handles it. Thanks, Pavan -- Pavan Deolasee EnterpriseDB: https://www.enterprisedb.com
stream_toasted_txn_print_tuples.patch
Description: Binary data