> > Why is there cmax in tuple ? cxxx is used to determine > > if tuple was inserted/deleted by current command or > > past command. Because one command can't both insert > > and delete the same tuple, only something like "cupd" > > might be needed and flag which tells you whether cupd > > is time of insert or delete. This saves 4byte from > > header .. > > If a tuple was inserted and updated in current transaction, > how could we judge if the tuple was valid for a given > ScanCommandId ? > However there could be other improvements. Ahh I did not know that there is need to test tuple for validity for some past cid. I thought that we only need to know whether tuple has been updated by current cid to ensure that it will not be scanned again in the same cid... Where am I wrong ? devik