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 ?

Reply via email to