Andrew Dunstan <[EMAIL PROTECTED]> writes:
> Tom Lane wrote:
>>> 3. Leave the existing op names as-is in core and contrib, but consider
>>>    them deprecated and add new ops with consistently-chosen names.
>>>    (The new ops introduced by GIN should only exist with the new names.)

> You're right. I misread your original proposal.  I vote for #3.

OK, so if everyone is leaning to #3, the name game remains to be played.
Do we all agree on this:

        "x @> y" means "x contains y"
        "x @< y" means "x is contained in y"

Are we all prepared to sign a solemn oath to commit hara-kiri if we
invent a new datatype that gets this wrong?  No?  Maybe these still
aren't obvious enough.

BTW, even with the gist_consistent hack there's still a bit of a
technical problem: pg_operator can represent the knowledge that @> and
@< are commutators, and that @ and ~ are commutators, but not (at the
same time) that @> and @ are commutators.  This is not a fatal objection
but it's a tad annoying --- I think there are cases where the planner
would miss possible optimizations if it can't see this.  Anybody see a
suitably low-cost fix?  Does it not matter if every GIST opclass has
mappings for both operator pairs?

                        regards, tom lane

---------------------------(end of broadcast)---------------------------
TIP 9: In versions below 8.0, the planner will ignore your desire to
       choose an index scan if your joining column's datatypes do not
       match

Reply via email to