From: | Peter Geoghegan <pg(at)bowt(dot)ie> |
---|---|
To: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
Cc: | PostgreSQL Hackers <pgsql-hackers(at)lists(dot)postgresql(dot)org>, Anastasia Lubennikova <a(dot)lubennikova(at)postgrespro(dot)ru> |
Subject: | Re: Building infrastructure for B-Tree deduplication that recognizes when opclass equality is also equivalence |
Date: | 2019-08-25 21:18:12 |
Message-ID: | CAH2-Wzk46_Yyni9A2VJ4=yRhg3aQ5eQVhpdCgQF3L3PitZNyXA@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
On Sun, Aug 25, 2019 at 1:56 PM Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> wrote:
> Hmm, so that would exclude the optimization for numeric, float4/float8,
> and nondeterministic text collations. Anything else?
Any pseudo-type whose output function could possibly be dependent on
the output function of another type (in case it happens to be one of
the types that definitely aren't safe). Maybe we could make fine
distinctions about pseudo-type safety in certain contexts, but that
doesn't matter to the deduplication patch.
> I agree that teaching opclasses to say whether this is okay is a
> reasonable approach.
Great.
> > Consumers of this new infrastructure probably won't be limited to the
> > deduplication feature;
>
> Indeed, we run up against this sort of thing all the time in, eg, planner
> optimizations. I think some sort of "equality is precise" indicator
> would be really useful for a lot of things.
The case that I happened to think of was "collation strength
reduction". In other words, an optimization that has the planner use a
merge equijoin whose joinqual involves two text columns using the "C"
collation, even though the "C" collation isn't otherwise usable.
Perhaps there are far more compelling planner optimization that I
haven't considered, though. This idea probably has problems with
interesting sort orders that aren't actually that interesting.
--
Peter Geoghegan
From | Date | Subject | |
---|---|---|---|
Next Message | Peter Geoghegan | 2019-08-25 21:29:36 | Re: Building infrastructure for B-Tree deduplication that recognizes when opclass equality is also equivalence |
Previous Message | Tom Lane | 2019-08-25 20:56:13 | Re: Building infrastructure for B-Tree deduplication that recognizes when opclass equality is also equivalence |