From: | Alvaro Herrera <alvherre(at)2ndquadrant(dot)com> |
---|---|
To: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
Cc: | Andres Freund <andres(at)anarazel(dot)de>, pgsql-hackers(at)lists(dot)postgresql(dot)org |
Subject: | Re: Refactoring IndexPath representation of index conditions |
Date: | 2019-02-06 01:35:12 |
Message-ID: | 20190206013512.GA3101@alvherre.pgsql |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
On 2019-Feb-02, Tom Lane wrote:
> In any case I think it makes things simpler and clearer, which is
> worth a good deal.
Looking at the patch, I agree -- this is clearer than what was there
before.
> Another idea that I looked into is to not create RestrictInfos for
> derived indexqual clauses, with the hope that that would further
> reduce the added overhead for the commuted-clause case. However
> that crashed and burned when I found out that the extended-stats
> machinery punts when given a bare clause rather than a RestrictInfo.
> It could possibly be fixed to not do that, but it looks like the
> consequences would be extra lookups that'd probably cost more than
> we saved by omitting the RestrictInfo. Also, having RestrictInfos
> means that we can cache selectivity estimates across multiple
> calls. I'm not entirely sure how much that matters in this
> context, but it's probably not negligible.
Is it reasonable to give ext-stats the option to receive either a
"plain" clause or a RestrictInfo, and if the former have it construct
the RestrictInfo and return it? It seems a pity to waste effort to
cater for ext-stats, only to be used in the rare case where any
ext-stats actually exist ... most of the time, it'd be wasted effort.
--
Álvaro Herrera https://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services
From | Date | Subject | |
---|---|---|---|
Next Message | Alvaro Herrera | 2019-02-06 01:44:38 | Re: fast defaults in heap_getattr vs heap_deform_tuple |
Previous Message | David Rowley | 2019-02-06 01:26:30 | Re: Bogus lateral-reference-propagation logic in create_lateral_join_info |