On Thu, 12 Dec 2024 at 08:14, Hayato Kuroda (Fujitsu) <kuroda.hay...@fujitsu.com> wrote: > > Dear Shubham, > > > Thank you for pointing this out and for suggesting the changes. I > > agree with your approach. > > Also, I found a mistake in getopt_long and fixed it in this version of > > the patch. > > The attached patch contains the suggested changes. > > Thanks for updating the patch. I think the patch looks mostly OK. > > Regarding the test code - I think we should directly refer the > pg_subscription catalog, > and confirm that subtwophase is 'p'. IIUC, we can wait until > all subscriptions. Subtwophasestate are 'e', by using poll_query_until() and > [1]. > > [1]: SELECT count(1) = 0 FROM pg_subscription WHERE subtwophasestate NOT IN > ('e');
Yes, that approach is better. Also this is not required after checking using pg_subscription: +# Prepare a transaction on the publisher +$node_p->safe_psql( + $db1, qq[ + BEGIN; + INSERT INTO tbl1 SELECT generate_series(1, 10); + PREPARE TRANSACTION 'test_prepare'; +]); + # Start subscriber $node_s->start; +# Verify that the prepared transaction is replicated to the subscriber +my $count_prepared_s = + $node_s->safe_psql($db1, "SELECT count(*) FROM pg_prepared_xacts;"); + +is($count_prepared_s, qq(1), 'Prepared transaction replicated to subscriber'); Regards, Vignesh