pgsql: Get rid of adjust_appendrel_attr_needed(), which has been broken - Mailing list pgsql-committers

From tgl@postgresql.org (Tom Lane)
Subject pgsql: Get rid of adjust_appendrel_attr_needed(), which has been broken
Date
Msg-id 20081111181354.5D7AB7545A4@cvs.postgresql.org
Whole thread Raw
List pgsql-committers
Log Message:
-----------
Get rid of adjust_appendrel_attr_needed(), which has been broken ever since
we extended the appendrel mechanism to support UNION ALL optimization.  The
reason nobody noticed was that we are not actually using attr_needed data for
appendrel children; hence it seems more reasonable to rip it out than fix it.
Back-patch to 8.2 because an Assert failure is possible in corner cases.
Per examination of an example from Jim Nasby.

In HEAD, also get rid of AppendRelInfo.col_mappings, which is quite inadequate
to represent UNION ALL situations; depend entirely on translated_vars instead.

Tags:
----
REL8_2_STABLE

Modified Files:
--------------
    pgsql/src/backend/optimizer/path:
        allpaths.c (r1.154.2.2 -> r1.154.2.3)

(http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/optimizer/path/allpaths.c?r1=1.154.2.2&r2=1.154.2.3)
    pgsql/src/backend/optimizer/prep:
        prepunion.c (r1.134.2.1 -> r1.134.2.2)

(http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/optimizer/prep/prepunion.c?r1=1.134.2.1&r2=1.134.2.2)
    pgsql/src/include/optimizer:
        prep.h (r1.57 -> r1.57.2.1)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/include/optimizer/prep.h?r1=1.57&r2=1.57.2.1)

pgsql-committers by date:

Previous
From: tgl@postgresql.org (Tom Lane)
Date:
Subject: pgsql: Get rid of adjust_appendrel_attr_needed(), which has been broken
Next
From: tgl@postgresql.org (Tom Lane)
Date:
Subject: pgsql: Ensure that the phrels sets of PlaceHolderVars appearing in an