mirror of
https://github.com/postgres/postgres.git
synced 2025-06-26 12:21:12 +03:00
Avoid projecting tuples unnecessarily in Gather and Gather Merge.
It's most often the case that the target list for the Gather (Merge)
node matches the target list supplied by the underlying plan node;
when this is so, we can avoid the overhead of projecting.
This depends on commit f455e1125e
for
proper functioning.
Idea by Andres Freund. Patch by me. Review by Amit Kapila.
Discussion: http://postgr.es/m/CA+TgmoZ0ZL=cesZFq8c9NnfK6bqy-wwUd3_74iYGodYrSoQ7Fw@mail.gmail.com
This commit is contained in:
@ -485,6 +485,8 @@ extern void ExecAssignResultTypeFromTL(PlanState *planstate);
|
||||
extern TupleDesc ExecGetResultType(PlanState *planstate);
|
||||
extern void ExecAssignProjectionInfo(PlanState *planstate,
|
||||
TupleDesc inputDesc);
|
||||
extern void ExecConditionalAssignProjectionInfo(PlanState *planstate,
|
||||
TupleDesc inputDesc, Index varno);
|
||||
extern void ExecFreeExprContext(PlanState *planstate);
|
||||
extern void ExecAssignScanType(ScanState *scanstate, TupleDesc tupDesc);
|
||||
extern void ExecAssignScanTypeFromOuterPlan(ScanState *scanstate);
|
||||
|
Reference in New Issue
Block a user