Digamos que eu tenha duas transações A e B. A transação A começa primeiro. então a transação B é iniciada, insere alguns dados e confirma. Portanto, da transação A (ainda não confirmada), posso ver que os dados foram confirmados pela transação B. Como a transação A começa antes da transação B, seu XID seria menor que o XID da transação B. Pelo que entendi, a transação A só pode ver linhas que são modificados ou inseridos por transações cujo XID é menor que a transação A.
No exemplo acima (nível de isolamento de leitura confirmada), o XID da transação atual é 741, por que ele pode ver os dados que foram confirmados pela transação cujo XID é 742?
Desculpe, acho que meu exemplo não foi claro o suficiente. Iniciei duas transações A e B simultaneamente, deixei a transação B atualizar e inserir alguns dados, e a transação A pode ver esses dados após a confirmação da transação B. Então, eu me pergunto como as regras do MVCC funcionam no nível de isolamento de leitura confirmada.