Hi, On 2019-04-15 12:50:14 -0700, Peter Geoghegan wrote: > On Mon, Apr 15, 2019 at 9:16 AM Ashwin Agrawal <aagra...@pivotal.io> wrote: > > Would like to know more specifics on this Peter. We may be having different > > context on hybrid row/column design. > > I'm confused about how close your idea of a TID is to the traditional > definition from heapam (and even zheap). If it's a purely logical > identifier, then why would it have two components like a TID? Is that > just a short-term convenience or something?
There's not much of an alternative currently. Indexes require tid looking things, and as a consequence (and some other comparatively small changes that'd be required) tableam does too. And there's a few places that imbue additional meaning into the higher bits of ip_posid too, so not all of them are valid (It can't currently be zero - or ItemPointerIsValid fails, it can't be larger than MaxOffsetNumber - that's used to allocate things in e.g. indexes, tidbmap.c etc). That's one of the reasons why I've been trying to get you to get on board with allowing different leaf-level "item pointer equivalents" widths inside nbtree... Greetings, Andres Freund