Re: Better management of mergejoinable operators

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: andrew(at)supernews(dot)com
Cc: pgsql-hackers(at)postgresql(dot)org
Subject: Re: Better management of mergejoinable operators
Date: 2006-12-13 21:32:52
Message-ID: 11782.1166045572@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

I wrote:
> The real question on the table is whether it's worth distinguishing
> between mergejoinable equality operators and transitive equality
> operators. I suggest that it probably isn't --- do you have any
> examples with more real-world application than the x = 2y case?

The proposal I just sent in effectively eliminates the concept of a
mergejoinable operator as such --- instead, it uses btree opclass
semantics to decide what's mergejoinable. I believe this eliminates
the possibility of using mergejoins for cases like Andrew's x = 2y
operator. Again, has anyone got any real-world examples where it'd
be important to be able to handle such things via mergejoin?

(Note: you can of course mergejoin a query like "WHERE x = 2*y", because
the *operator* is still the vanilla mergejoinable equality. Funny stuff
in the computation of the merge keys isn't a problem.)

regards, tom lane

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Tom Lane 2006-12-13 21:40:47 Re: Vacuum, analyze, and setting reltuples of pg_class
Previous Message Tom Lane 2006-12-13 21:27:09 Operator class group proposal