Dear Sawada-san, Thank you for reviewing HEAD patch! PSA v3 patch.
> +# Test that we can force the top transaction to do timetravel when one of sub > +# transactions needs that. This is necessary when we restart decoding > from RUNNING_XACT > +# without the wal to associate subtransaction to its top transaction. > > I don't think the second sentence is necessary. > > --- > The last decoding > +# starts from the first checkpoint and NEW_CID of "s0_truncate" > doesn't mark the top > +# transaction as catalog modifying transaction. In this scenario, the > enforcement sets > +# needs_timetravel to true even if the top transaction is regarded as > that it does not > +# have catalog changes and thus the decoding works without a > contradition that one > +# subtransaction needed timetravel while its top transaction didn't. > > I don't understand the last sentence, probably it's a long sentence. > > How about the following description? > > # Test that we can handle the case where only subtransaction is marked > as containing > # catalog changes. The last decoding starts from NEW_CID generated by > "s0_truncate" and > # marks only the subtransaction as containing catalog changes but we > don't create the > # association between top-level transaction and subtransaction yet. > When decoding the > # commit record of the top-level transaction, we must force the > top-level transaction > # to do timetravel since one of its subtransactions is marked as > containing catalog changes. Seems good, I replaced all of comments to yours. > + elog(DEBUG2, "forced transaction %u to do timetravel due to one of > its subtransaction", > + xid); > + needs_timetravel = true; > > I think "one of its subtransaction" should be "one of its subtransactions". Fixed. Best Regards, Hayato Kuroda FUJITSU LIMITED
HEAD-v3-0001-Fix-assertion-failure-during-logical-decoding.patch
Description: HEAD-v3-0001-Fix-assertion-failure-during-logical-decoding.patch