Обсуждение: pgsql: Refactor ExecProject and associated routines so that fast-path

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

pgsql: Refactor ExecProject and associated routines so that fast-path

От
tgl@postgresql.org (Tom Lane)
Дата:
Log Message:
-----------
Refactor ExecProject and associated routines so that fast-path code is used
for simple Var targetlist entries all the time, even when there are other
entries that are not simple Vars.  Also, ensure that we prefetch attributes
(with slot_getsomeattrs) for all Vars in the targetlist, even those buried
within expressions.  In combination these changes seem to significantly
reduce the runtime for cases where tlists are mostly but not exclusively
Vars.  Per my proposal of yesterday.

Modified Files:
--------------
    pgsql/src/backend/executor:
        execQual.c (r1.243 -> r1.244)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/executor/execQual.c?r1=1.243&r2=1.244)
        execUtils.c (r1.157 -> r1.158)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/executor/execUtils.c?r1=1.157&r2=1.158)
    pgsql/src/include/nodes:
        execnodes.h (r1.202 -> r1.203)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/include/nodes/execnodes.h?r1=1.202&r2=1.203)