On Tue, Jan 9, 2018 at 11:38 PM, Robert Haas <robertmh...@gmail.com> wrote:
> 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.

Yes, that's right.

> 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.

So I think we need to check if the top transaction is invalid or not as well.

Regards,

--
Masahiko Sawada
NIPPON TELEGRAPH AND TELEPHONE CORPORATION
NTT Open Source Software Center

Reply via email to