Hi, - I re-read your comments in [0] and it looks like you've concern about - the 2 "if" I'm proposing above and the fast forward handling. Is that the case - or is your fast forward concern unrelated to my proposals?
In your proposals, we will just return when fast forward. But I think we need handle XLOG_HEAP2_NEW_CID or XLOG_HEAP_INPLACE even if we are fast forwarding as it decides whether the snapshot will track the transaction or not. During fast forward, if there is a transaction that generates XLOG_HEAP2_NEW_CID but no XLOG_XACT_INVALIDATIONS(I'm not sure), the snapshot won't track this transaction in your proposals, I think it's wrong from a build snapshot perspective. Although we don't decode anything during fast forward, the snapshot might be serialized to disk when CONSISTENT, it would be better to keep the snapshot correct. - Not sure what happened but it looks like your reply in [0] is not part of the - initial thread [1], but created a new thread instead, making the whole - conversation difficult to follow. I'm not sure what happened but I attach the new thread to the CF: https://commitfest.postgresql.org/49/5029 -- Regards, ChangAo Chen