On 3/5/23 06:49, jacktby@gmail.com wrote:
> Here are the comments in src/include/utils/snapshot.h.
> /*
> * For normal MVCC snapshot this contains the all xact IDs that are in
> * progress, unless the snapshot was taken during recovery in which case
> * it's empty. For historic MVCC snapshots, the meaning is inverted, i.e.
> * it contains *committed* transactions between xmin and xmax.
> *
> * note: all ids in xip[] satisfy xmin <= xip[i] < xmax
> */
> TransactionId *xip;
> I can't understand the historic MVCC snapshots? can you give me a scenario
> to describe this?
From the same file:
/*
* A tuple is visible iff it follows the rules of SNAPSHOT_MVCC, but
* supports being called in timetravel context (for decoding catalog
* contents in the context of logical decoding).
*/
SNAPSHOT_HISTORIC_MVCC,
> ------------------------------------------------------------------------
> jacktby@gmail.com
--
Adrian Klaver
adrian.klaver@aklaver.com