From: | Zhihong Yu <zyu(at)yugabyte(dot)com> |
---|---|
To: | Tomas Vondra <tomas(dot)vondra(at)enterprisedb(dot)com> |
Cc: | Mark Dilger <mark(dot)dilger(at)enterprisedb(dot)com>, PostgreSQL Developers <pgsql-hackers(at)lists(dot)postgresql(dot)org> |
Subject: | Re: Use extended statistics to estimate (Var op Var) clauses |
Date: | 2021-06-14 01:46:13 |
Message-ID: | CALNJ-vRAa-rW-bbB6N2TUc8q3ORedA57rsAUKFGeW9q9dYvA_Q@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
On Sun, Jun 13, 2021 at 1:29 PM Tomas Vondra <tomas(dot)vondra(at)enterprisedb(dot)com>
wrote:
> Hi,
>
> Here is a slightly updated version of the patch - rebased to current
> master and fixing some minor issues to handle expressions (and not just
> the Var nodes as before).
>
> The changes needed to support (Expr op Expr) are mostly mechanical,
> though I'm sure the code needs some cleanup. The main issue I ran into
> is the special case clauselist_selectivity, which does
>
> if (list_length(clauses) == 1)
> return clause_selectivity_ext(...);
>
> which applies to cases like "WHERE a < b" which can now be handled by
> extended statistics, thanks to this patch. But clause_selectivity_ext
> only used to call restriction_selectivity for these clauses, which does
> not use extended statistics, of course.
>
> I considered either getting rid of the special case, passing everything
> through extended stats, including cases with a single clause. But that
> ends up affecting e.g. OR clauses, so I tweaked clause_selectivity_ext a
> bit, which seems like a better approach.
>
>
> regards
>
> --
> Tomas Vondra
> EnterpriseDB: http://www.enterprisedb.com
> The Enterprise PostgreSQL Company
>
Hi,
- for (i = 0; i < mcvlist->nitems; i++)
+ if (cst) /* Expr op Const */
It seems the Const op Expr is also covered by this if branch. Hence the
comment should include this case.
Cheers
From | Date | Subject | |
---|---|---|---|
Next Message | Noah Misch | 2021-06-14 01:46:15 | Re: Continuing instability in insert-conflict-specconflict test |
Previous Message | Zhihong Yu | 2021-06-14 01:36:42 | Re: unnesting multirange data types |