聚集Limit下推优化

This commit is contained in:
‘ljy’
2023-05-29 14:43:02 +08:00
parent 5d6882b3d8
commit 658aea19b8
40 changed files with 2588 additions and 63 deletions

View File

@ -410,6 +410,7 @@ typedef struct AggStatePerPhaseData {
FmgrInfo* eqfunctions; /* per-grouping-field equality fns */
Agg* aggnode; /* Agg node for phase data */
Sort* sortnode; /* Sort node for input ordering for phase */
SortGroup* sortGroupNode; /* SortGroup node for input ordering for phase */
AggStrategy aggstrategy; /* strategy mode */
ExprState *evaltrans; /* evaluation of transition functions */
} AggStatePerPhaseData;

View File

@ -0,0 +1,26 @@
/* -------------------------------------------------------------------------
*
* nodeSortGroup.h
* support for the openGauss executor module
*
*
* Portions Copyright (c) 1996-2012, PostgreSQL Global Development Group
* Portions Copyright (c) 1994, Regents of the University of California
* Portions Copyright (c) 2022, openGauss Contributors
*
* src/include/executor/nodeSortGroup.h
*
* -------------------------------------------------------------------------
*/
#ifndef NODESORTGROUP_H
#define NODESORTGROUP_H
#include "nodes/execnodes.h"
extern SortGroupState *ExecInitSortGroup(SortGroup *node, EState *estate, int eflags);
extern void ExecEndSortGroup(SortGroupState *node);
extern void ExecReScanSortGroup(SortGroupState *node);
#endif /*NODESORTGROUP_H*/