Thread: pgsql: Teach the planner to treat a partial unique index as proving a

pgsql: Teach the planner to treat a partial unique index as proving a

From
tgl@postgresql.org (Tom Lane)
Date:
Log Message:
-----------
Teach the planner to treat a partial unique index as proving a variable is
unique for a particular query, if the index predicate is satisfied.  This
requires a bit of reordering of operations so that we check the predicates
before doing any selectivity estimates, but shouldn't really cause any
noticeable slowdown.  Per a comment from Michal Politowski.

Modified Files:
--------------
    pgsql/src/backend/optimizer/path:
        allpaths.c (r1.179 -> r1.180)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/optimizer/path/allpaths.c?r1=1.179&r2=1.180)
        indxpath.c (r1.235 -> r1.236)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/optimizer/path/indxpath.c?r1=1.235&r2=1.236)
        orindxpath.c (r1.87 -> r1.88)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/optimizer/path/orindxpath.c?r1=1.87&r2=1.88)
    pgsql/src/backend/optimizer/util:
        plancat.c (r1.154 -> r1.155)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/optimizer/util/plancat.c?r1=1.154&r2=1.155)
    pgsql/src/backend/utils/adt:
        selfuncs.c (r1.258 -> r1.259)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/utils/adt/selfuncs.c?r1=1.258&r2=1.259)