Install checks in executor startup to ensure that the tuples produced by an
authorTom Lane <[email protected]>
Fri, 8 Aug 2008 17:01:18 +0000 (17:01 +0000)
committerTom Lane <[email protected]>
Fri, 8 Aug 2008 17:01:18 +0000 (17:01 +0000)
commit5e2ff20edf4bba7b1015abf18874f65192936901
treec77adc77fa8c0ed403620995be984605046e4195
parentd116bebda9eda46c960dcd2bf1cb5ee25223f5b7
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.
src/backend/executor/execMain.c