On Wed, Nov 24, 2021 at 9:37 AM Alvaro Herrera <alvhe...@alvh.no-ip.org> wrote: > My mental model is that "tuple" (in the narrow context of heap vacuum) > is the variable-size on-disk representation of a row in a page; "line > pointer" is the fixed-size struct at the bottom of each page that > contains location, size and flags of a tuple: struct ItemIdData. The > TID is the address of a line pointer -- an ItemPointerData. > > What is an item? Is an item the same as a line pointer? That seems > confusing. I think "item" means the tuple as a whole. In that light, > using the term TID for some of the things that the patch renames to > "item" seems more appropriate.
Hmm. I think in my model an item and an item pointer and a line pointer are all the same thing, but a TID is different. When I talk about a TID, I mean the location of an item pointer, not its contents. So a TID is what tells me that I want block 5 and the 4th slot in the item pointer array. The item pointer tells me that the associate tuple is at a certain position in the page and has a certain length. -- Robert Haas EDB: http://www.enterprisedb.com