Re: [HACKERS] logical decoding of two-phase transactions
От | Dilip Kumar |
---|---|
Тема | Re: [HACKERS] logical decoding of two-phase transactions |
Дата | |
Msg-id | CAFiTN-vfjVkEE4R90ztF6LtbeCFOyJkj9M1S29-YWwSzPkr7Eg@mail.gmail.com обсуждение исходный текст |
Ответ на | Re: [HACKERS] logical decoding of two-phase transactions (Amit Kapila <amit.kapila16@gmail.com>) |
Список | pgsql-hackers |
On Mon, Sep 21, 2020 at 10:20 AM Amit Kapila <amit.kapila16@gmail.com> wrote: > > On Sun, Sep 20, 2020 at 11:01 AM Dilip Kumar <dilipbalaut@gmail.com> wrote: > > > > On Fri, Sep 18, 2020 at 6:02 PM Ajin Cherian <itsajin@gmail.com> wrote: > > > > > > > 3. > > > > + /* > > + * If it's ROLLBACK PREPARED then handle it via callbacks. > > + */ > > + if (TransactionIdIsValid(xid) && > > + !SnapBuildXactNeedsSkip(ctx->snapshot_builder, buf->origptr) && > > + parsed->dbId == ctx->slot->data.database && > > + !FilterByOrigin(ctx, origin_id) && > > + ReorderBufferTxnIsPrepared(ctx->reorder, xid, parsed->twophase_gid)) > > + { > > + ReorderBufferFinishPrepared(ctx->reorder, xid, buf->origptr, buf->endptr, > > + commit_time, origin_id, origin_lsn, > > + parsed->twophase_gid, false); > > + return; > > + } > > > > > > I think we have already checked !SnapBuildXactNeedsSkip, parsed->dbId > > == ctx->slot->data.database and !FilterByOrigin in DecodePrepare > > so if those are not true then we wouldn't have prepared this > > transaction i.e. ReorderBufferTxnIsPrepared will be false so why do we > > need > > to recheck this conditions. > > > > Yeah, probably we should have Assert for below three conditions: > + !SnapBuildXactNeedsSkip(ctx->snapshot_builder, buf->origptr) && > + parsed->dbId == ctx->slot->data.database && > + !FilterByOrigin(ctx, origin_id) && +1 -- Regards, Dilip Kumar EnterpriseDB: http://www.enterprisedb.com
В списке pgsql-hackers по дате отправления: