Amit Kapila wrote: > How will you decide just based on oldest xmin whether the tuple is visible or > not? How will you take decisions about tuples which have xmax set?
In our use case, GetOldestXmin is used by an original maintainer process[es] to an original control table[s]. The table can be concurrently read or inserted in any transactions. However, rows in the table can be deleted (set xmax) only by the maintainer process. Then, one control table can be processed by only one maintainer process at once. So I do MVCC as following. - The maintainer's transaction: - If xmax is set, simply ignore the tuple. - For other tuples, read tuples if GetOldestXmin() > xmin. - Other transactions: Do ordinal MVCC using his XID. Note: A control table relates to a normal table relation, so get oldest xmin as to the normal table. -- Regards, Eiji Seki Fujitsu -- Sent via pgsql-hackers mailing list (firstname.lastname@example.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers