On Tue, Jul 16, 2019 at 9:52 PM Robert Haas <robertmh...@gmail.com> wrote: > > On Tue, Jul 16, 2019 at 7:13 AM Amit Kapila <amit.kapil...@gmail.com> wrote: > > > I also strongly suspect it is altogether wrong to do > > > this before CommitSubTransaction sets s->state to TRANS_COMMIT; what > > > if a subxact callback throws an error? > > > > Are you worried that it might lead to the execution of actions twice? > > No, I'm worried that you are running code that is part of the commit > path before the transaction has actually committed. > CommitSubTransaction() is full of stuff which basically propagates > whatever the subtransaction did out to the parent transaction, and all > of that code runs after we've ruled out the possibility of an abort, > but this very-similar-looking code runs while it's still possible for > an abort to happen. That seems unlikely to be correct, and even if it > is, it seems needlessly inconsistent. >
Fair point, will change as per your suggestion. -- With Regards, Amit Kapila. EnterpriseDB: http://www.enterprisedb.com