Обсуждение: pgsql: The 8.1 planner removes WHERE quals from the plan when the quals

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

pgsql: The 8.1 planner removes WHERE quals from the plan when the quals

От
tgl@postgresql.org (Tom Lane)
Дата:
Log Message:
-----------
The 8.1 planner removes WHERE quals from the plan when the quals are
implied by the predicate of a partial index being used to scan a table.
However, this optimization is unsafe in an UPDATE, DELETE, or SELECT FOR
UPDATE query, because the quals need to be rechecked by EvalPlanQual if
there's an update conflict.  Per example from Jean-Samuel Reynaud.

Modified Files:
--------------
    pgsql/src/backend/optimizer/plan:
        createplan.c (r1.208 -> r1.209)

(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/optimizer/plan/createplan.c.diff?r1=1.208&r2=1.209)