On Thu, Dec 28, 2017 at 11:08 AM, Masahiko Sawada <sawada.m...@gmail.com> wrote: > >> (1) >> Why don't you use the existing global variable MyXactFlags instead of the >> new TransactionDidWrite? Or, how about using XactLastRecEnd != 0 to >> determine the transaction did any writes? When the transaction only >> modified temporary tables on the local database and some data on one remote >> database, I think 2pc is unnecessary. > > Perhaps we can use (XactLastRecEnd != 0 && markXidCommitted) to see if > we did any writes on local node which requires the atomic commit. Will > fix. >
I haven't checked how much code it needs to track whether the local transaction wrote anything. But probably we can post-pone this optimization. If it's easy to incorporate, it's good to have in the first set itself. -- Best Wishes, Ashutosh Bapat EnterpriseDB Corporation The Postgres Database Company