Re: IN, BETWEEN, spec compliance, and odd operator names

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Dimitri Fontaine <dfontaine(at)hi-media(dot)com>
Cc: pgsql-hackers(at)postgresql(dot)org, Gregory Stark <stark(at)enterprisedb(dot)com>, "Martijn van Oosterhout" <kleptog(at)svana(dot)org>
Subject: Re: IN, BETWEEN, spec compliance, and odd operator names
Date: 2008-08-25 19:43:08
Message-ID: 8415.1219693388@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Dimitri Fontaine <dfontaine(at)hi-media(dot)com> writes:
> ... I don't really see any theorical need for opclass if
> it's not for indexing.

Well, if we were starting from a green field, we might design it
differently, but I see little point in changing the system structure
now that it's established. You need *some* representation for the
properties and relationships of sets of operators, and so far the btree
and hash index opclasses have matched up quite well with what other
parts of the system wanted to know; so why duplicate that information?

> My formulation was "outright wrong", as you would say, but I hope to
> have explained a little better what I'm on: there's not enough direct
> semantic information concerning operators for the planner to take full
> profit out if it. It this assertion more true?

Not really. I can see an argument that there might be something we wish
to know about groups of operators that can't reasonably be expressed
within the opclass infrastructure, and in that situation maybe it would
be time to invent something else. But it hasn't come up yet.

Note that new properties of *individual* operators would just be handled
by adding columns to pg_operator, and aren't really relevant to this
discussion.

regards, tom lane

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Nathan Boley 2008-08-25 19:44:04 Re: IN, BETWEEN, spec compliance, and odd operator names
Previous Message Dimitri Fontaine 2008-08-25 19:19:55 Re: IN, BETWEEN, spec compliance, and odd operator names