On Wed, Dec 27, 2017 at 9:40 PM, Tsunakawa, Takayuki <tsunakawa.ta...@jp.fujitsu.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.
If I understand correctly, XactLastRecEnd can be set by, for example, a HOT cleanup record, so that doesn't seem like a good thing to use. Whether we need to use 2PC across remote nodes seems like it shouldn't depend on whether a local SELECT statement happened to do a HOT cleanup or not. -- Robert Haas EnterpriseDB: http://www.enterprisedb.com The Enterprise PostgreSQL Company