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 20081111181344.1C4947545A4@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_3_STABLE

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

(http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/optimizer/path/allpaths.c?r1=1.168.2.2&r2=1.168.2.3)
    pgsql/src/backend/optimizer/prep:
        prepunion.c (r1.146 -> r1.146.2.1)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/optimizer/prep/prepunion.c?r1=1.146&r2=1.146.2.1)
    pgsql/src/include/optimizer:
        prep.h (r1.59 -> r1.59.2.1)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/include/optimizer/prep.h?r1=1.59&r2=1.59.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: Get rid of adjust_appendrel_attr_needed(), which has been broken