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

From: tgl(at)postgresql(dot)org (Tom Lane)
To: pgsql-committers(at)postgresql(dot)org
Subject: pgsql: Refactor ExecProject and associated routines so that fast-path
Date: 2009-04-02 22:39:30
Message-ID: 20090402223930.2488C754ADE@cvs.postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: 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)

Browse pgsql-committers by date

  From Date Subject
Next Message Bruce Momjian 2009-04-02 22:44:10 pgsql: Document that Solaris can't use effective_io_concurrency because
Previous Message Bruce Momjian 2009-04-02 20:59:10 pgsql: Revert DTrace patch from Robert Lor