Thread: pgsql: Teach planagg.c that partial indexes specifying WHERE foo IS NOT

pgsql: Teach planagg.c that partial indexes specifying WHERE foo IS NOT

From
tgl@postgresql.org (Tom Lane)
Date:
Log Message:
-----------
Teach planagg.c that partial indexes specifying WHERE foo IS NOT NULL can be
used to perform MIN(foo) or MAX(foo), since we want to discard null rows in
the indexscan anyway.  (This would probably fall out for free if we were
injecting the IS NOT NULL clause somewhere earlier, but given the current
anatomy of the MIN/MAX optimization code we have to do it explicitly.
Fortunately, very little added code is needed.)  Per a discussion with
Henk de Wit.

Modified Files:
--------------
    pgsql/src/backend/optimizer/plan:
        planagg.c (r1.32 -> r1.33)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/optimizer/plan/planagg.c?r1=1.32&r2=1.33)