Thread: pgsql-server/src backend/catalog/heap.c backen ...

pgsql-server/src backend/catalog/heap.c backen ...

From
tgl@postgresql.org (Tom Lane)
Date:
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.