Refactor ExecProject and associated routines so that fast-path code is used
authorTom Lane <tgl@sss.pgh.pa.us>
Thu, 2 Apr 2009 22:39:30 +0000 (22:39 +0000)
committerTom Lane <tgl@sss.pgh.pa.us>
Thu, 2 Apr 2009 22:39:30 +0000 (22:39 +0000)
commitfea47db3a229fee71e1e08243d675f090bd2305c
treeea1f4c8a77420a1fba47ae60edcff398c29766a8
parentcee252084de8be0ecb6a04acb2e7e2e5b9b531e3
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.
src/backend/executor/execQual.c
src/backend/executor/execUtils.c
src/include/nodes/execnodes.h