On Sun, Aug 25, 2019 at 2:40 PM Tom Lane <t...@sss.pgh.pa.us> wrote: > > I was thinking of stashing an "equality is precise" flag in the > > metapage of each nbtree index, since we will only determine this once, > > at CREATE INDEX time. > > Sure.
I suppose that we'd add something new to CREATE OPERATOR CLASS to make this work? My instinct is to avoid adding things that are only meaningful for a single AM to interfaces like CREATE OPERATOR CLASS, but the system already has numerous dependencies on B-Tree opclasses that seem comparable to me. There is a single case where nbtree stores a type that differs from the type actually being indexed by the operator class: the "name" case, where the underlying storage type is actually cstring. I'm not sure whether or not this needs to be treated as its own kind of special case. I suppose that we can ignore it completely, because we're not directly concerned with the physical representation used within an index. In fact, a major goal for this new infrastructure is that nbtree gets to fully own the representation (it just needs to know about the high level or logical requirements). -- Peter Geoghegan