On Thu, Mar 16, 2023 at 7:20 AM Peter Smith <smithpb2250@gmail.com> wrote:
>
> PSA v4 which addresses both of your review comments.
Looks like a reasonable change to me.
A nitpick: how about using rbtxn_get_toptxn instead of an explicit
variable toptxn for single use?
1.
Change
ReorderBufferTXN *toptxn = rbtxn_get_toptxn(txn);
TestDecodingTxnData *txndata = toptxn->output_plugin_private;
To
TestDecodingTxnData *txndata = rbtxn_get_toptxn(txn)->output_plugin_private;
2.
Change
ReorderBufferTXN *toptxn = rbtxn_get_toptxn(txn);
toptxn->txn_flags |= RBTXN_HAS_STREAMABLE_CHANGE;
To
rbtxn_get_toptxn(txn)->txn_flags |= RBTXN_HAS_STREAMABLE_CHANGE;
3.
Change
/*
* Update the total size in top level as well. This is later used to
* compute the decoding stats.
*/
toptxn = rbtxn_get_toptxn(txn);
if (addition)
{
txn->size += sz;
rb->size += sz;
/* Update the total size in the top transaction. */
toptxn->total_size += sz;
}
else
{
Assert((rb->size >= sz) && (txn->size >= sz));
txn->size -= sz;
rb->size -= sz;
/* Update the total size in the top transaction. */
toptxn->total_size -= sz;
}
To
/*
* Update the total size in top level as well. This is later used to
* compute the decoding stats.
*/
if (addition)
{
txn->size += sz;
rb->size += sz;
rbtxn_get_toptxn(txn)->total_size += sz;
}
else
{
Assert((rb->size >= sz) && (txn->size >= sz));
txn->size -= sz;
rb->size -= sz;
rbtxn_get_toptxn(txn)->total_size -= sz;
}
--
Bharath Rupireddy
PostgreSQL Contributors Team
RDS Open Source Databases
Amazon Web Services: https://aws.amazon.com