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

From: tgl(at)postgresql(dot)org (Tom Lane)
To: pgsql-committers(at)postgresql(dot)org
Subject: pgsql: The 8.1 planner removes WHERE quals from the plan when the quals
Date: 2006-04-25 16:54:27
Message-ID: 20060425165427.18A7711F609A@postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-committers

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.

Tags:
----
REL8_1_STABLE

Modified Files:
--------------
pgsql/src/backend/optimizer/plan:
createplan.c (r1.202.2.2 -> r1.202.2.3)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/optimizer/plan/createplan.c.diff?r1=1.202.2.2&r2=1.202.2.3)

Browse pgsql-committers by date

  From Date Subject
Next Message Tom Lane 2006-04-25 18:58:37 pgsql: Back out the rest of the RESET CONNECTION patch.
Previous Message Tom Lane 2006-04-25 16:54:10 pgsql: The 8.1 planner removes WHERE quals from the plan when the quals