Обсуждение: pgsql: Get rid of ExecAssignResultTypeFromOuterPlan() and make all plan

Поиск
Список
Период
Сортировка

pgsql: Get rid of ExecAssignResultTypeFromOuterPlan() and make all plan

От
tgl@svr1.postgresql.org (Tom Lane)
Дата:
Log Message:
-----------
Get rid of ExecAssignResultTypeFromOuterPlan() and make all plan node types
generate their output tuple descriptors from their target lists (ie, using
ExecAssignResultTypeFromTL()).  We long ago fixed things so that all node
types have minimally valid tlists, so there's no longer any good reason to
have two different ways of doing it.  This change is needed to fix bug
reported by Hayden James: the fix of 2005-11-03 to emit the correct column
names after optimizing away a SubqueryScan node didn't work if the new
top-level plan node used ExecAssignResultTypeFromOuterPlan to generate its
tupdesc, since the next plan node down won't have the correct column labels.

Tags:
----
REL8_1_STABLE

Modified Files:
--------------
    pgsql/src/backend/executor:
        execUtils.c (r1.126.2.2 -> r1.126.2.3)

(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/executor/execUtils.c.diff?r1=1.126.2.2&r2=1.126.2.3)
        nodeHash.c (r1.96.2.1 -> r1.96.2.2)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/executor/nodeHash.c.diff?r1=1.96.2.1&r2=1.96.2.2)
        nodeLimit.c (r1.22 -> r1.22.2.1)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/executor/nodeLimit.c.diff?r1=1.22&r2=1.22.2.1)
        nodeMaterial.c (r1.50 -> r1.50.2.1)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/executor/nodeMaterial.c.diff?r1=1.50&r2=1.50.2.1)
        nodeSetOp.c (r1.18 -> r1.18.2.1)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/executor/nodeSetOp.c.diff?r1=1.18&r2=1.18.2.1)
        nodeSort.c (r1.51 -> r1.51.2.1)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/executor/nodeSort.c.diff?r1=1.51&r2=1.51.2.1)
        nodeUnique.c (r1.48.2.1 -> r1.48.2.2)

(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/executor/nodeUnique.c.diff?r1=1.48.2.1&r2=1.48.2.2)
    pgsql/src/include/executor:
        executor.h (r1.120 -> r1.120.2.1)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/include/executor/executor.h.diff?r1=1.120&r2=1.120.2.1)