CVSROOT: /cvsroot
Module name: pgsql-server
Changes by: tgl@postgresql.org 03/05/11 20:17:03
Modified files:
src/backend/catalog: heap.c
src/backend/optimizer/plan: createplan.c
src/backend/optimizer/prep: preptlist.c
src/backend/optimizer/util: plancat.c
src/test/regress/expected: alter_table.out
src/test/regress/sql: alter_table.sql
Log message:
Apply fixes for problems with dropped columns whose types have also been
dropped. The simplest fix for INSERT/UPDATE cases turns out to be for
preptlist.c to insert NULLs of a known-good type (I used INT4) rather
than making them match the deleted column's type. Since the representation
of NULL is actually datatype-independent, this should work fine.
I also re-reverted the patch to disable the use_physical_tlist optimization
in the presence of dropped columns. It still doesn't look worth the
trouble to be smarter, if there are no other bugs to fix.
Added a regression test to catch future problems in this area.