pgsql: Install checks in executor startup to ensure that the tuples

From: tgl(at)postgresql(dot)org (Tom Lane)
To: pgsql-committers(at)postgresql(dot)org
Subject: pgsql: Install checks in executor startup to ensure that the tuples
Date: 2008-08-08 17:01:34
Message-ID: 20080808170134.671CC755315@cvs.postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-committers

Log Message:
-----------
Install checks in executor startup to ensure that the tuples produced by an
INSERT or UPDATE will match the target table's current rowtype. In pre-8.3
releases inconsistency can arise with stale cached plans, as reported by
Merlin Moncure. (We patched the equivalent hazard on the SELECT side in Feb
2007; I'm not sure why we thought there was no risk on the insertion side.)
In 8.3 and HEAD this problem should be impossible due to plan cache
invalidation management, but it seems prudent to make the check anyway.

Back-patch as far as 8.0. 7.x versions lack ALTER COLUMN TYPE, so there
seems no way to abuse a stale plan comparably.

Tags:
----
REL8_1_STABLE

Modified Files:
--------------
pgsql/src/backend/executor:
execMain.c (r1.256.2.6 -> r1.256.2.7)
(http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/executor/execMain.c?r1=1.256.2.6&r2=1.256.2.7)

Browse pgsql-committers by date

  From Date Subject
Next Message Tom Lane 2008-08-08 17:01:41 pgsql: Install checks in executor startup to ensure that the tuples
Previous Message Tom Lane 2008-08-08 17:01:26 pgsql: Install checks in executor startup to ensure that the tuples