On Mon, Nov 23, 2020 at 10:35 PM Amit Kapila <amit.kapil...@gmail.com> wrote: > For the first two, as the xact is still not visible to others so we > don't need to make it behave like a committed txn. To make the (DDL) > changes visible to the current txn, the message > REORDER_BUFFER_CHANGE_INTERNAL_COMMAND_ID copies the snapshot which > fills the subxip array. This will be sufficient to make the changes > visible to the current txn. For the third, I have checked the code > that whenever we have any change message the base snapshot gets set > via SnapBuildProcessChange. It is possible that I have missed > something but I don't want to call SnapbuildCommittedTxn in > DecodePrepare unless we have a clear reason for the same so leaving it > for now. Can you or someone see any reason for the same?
I reviewed and tested this and like you said, SnapBuildProcessChange sets the base snapshot for every change. I did various tests using DDL updates and haven't seen any issues so far. I agree with your analysis. regards, Ajin