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

From tgl@postgresql.org (Tom Lane)
Subject pgsql: Refactor ExecProject and associated routines so that fast-path
Date
Msg-id 20090402223930.2488C754ADE@cvs.postgresql.org
Whole thread Raw
List pgsql-committers
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)

pgsql-committers by date:

Previous
From: momjian@postgresql.org (Bruce Momjian)
Date:
Subject: pgsql: Revert DTrace patch from Robert Lor
Next
From: momjian@postgresql.org (Bruce Momjian)
Date:
Subject: pgsql: Document that Solaris can't use effective_io_concurrency because