Обсуждение: pgsql: Teach planagg.c that partial indexes specifying WHERE foo IS NOT

Поиск
Список
Период
Сортировка

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

От
tgl@postgresql.org (Tom Lane)
Дата:
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)