Re: PATCH: add support for IN and @> in functional-dependency statistics use

Tomas Vondra <tomas.vondra@2ndquadrant.com>

From: Tomas Vondra <tomas.vondra@2ndquadrant.com>
To: Dean Rasheed <dean.a.rasheed@gmail.com>
Cc: Pierre Ducroquet <p.psql@pinaraf.info>, PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>
Date: 2020-03-17T17:05:17Z
Lists: pgsql-hackers
On Tue, Mar 17, 2020 at 04:14:26PM +0000, Dean Rasheed wrote:
>On Tue, 17 Mar 2020 at 15:37, Tomas Vondra <tomas.vondra@2ndquadrant.com> wrote:
>>
>> On Tue, Mar 17, 2020 at 12:42:52PM +0000, Dean Rasheed wrote:
>>
>> >The other thing that I'm still concerned about is the possibility of
>> >returning estimates with P(a,b) > P(a) or P(b). I think that such a
>> >thing becomes much more likely with the new types of clause supported
>> >here, because they now allow multiple values from each column, where
>> >before we only allowed one. I took another look at the patch I posted
>> >on the other thread, and I've convinced myself that it's correct.
>> >Attached is an updated version, with some cosmetic tidying up and now
>> >with some additional regression tests.
>>
>> Yeah, I agree that's something we need to fix. Do you plan to push the
>> fix, or do you want me to do it?
>>
>
>I can push it. Have you had a chance to review it?
>

Not yet, I'll take a look today.


regards

-- 
Tomas Vondra                  http://www.2ndQuadrant.com
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services



Commits

  1. Prevent functional dependency estimates from exceeding column estimates.

  2. Recognize some OR clauses as compatible with functional dependencies

  3. Use multi-variate MCV lists to estimate ScalarArrayOpExpr

  4. Use functional dependencies to estimate ScalarArrayOpExpr