On Fri, Apr 26, 2019 at 2:19 PM Peter Geoghegan <p...@bowt.ie> wrote:
> itemid.h introduces the struct ItemIdData as follows: > > /* > * An item pointer (also called line pointer) on a buffer page > > Meanwhile, itemptr.h introduces the struct ItemPointerData as follows: > > /* > * ItemPointer: > * > * This is a pointer to an item within a disk page of a known file > * (for example, a cross-link from an index to its parent table). > > It doesn't seem reasonable to assume that you should know the > difference based on context. The two concepts are closely related. An > ItemPointerData points to a block, as well as the, uh, item pointer > within that block. > > This ambiguity is avoidable, and should be avoided. Agree. > ISTM that the > least confusing way of removing the ambiguity would be to no longer > refer to ItemIds as item pointers, without changing anything else. > How about we rename ItemPointerData to TupleIdentifier or ItemIdentifier instead and leave ItemPointer or Item confined to AM term, where item can be tuple, datum or anything else ?