PostgreSQL Source Code
git master
|
#include "nodes/execnodes.h"
Go to the source code of this file.
Data Structures | |
struct | AggStatePerTransData |
struct | AggStatePerAggData |
struct | AggStatePerGroupData |
struct | AggStatePerPhaseData |
struct | AggStatePerHashData |
Macros | |
#define | FIELDNO_AGGSTATEPERGROUPDATA_TRANSVALUE 0 |
#define | FIELDNO_AGGSTATEPERGROUPDATA_TRANSVALUEISNULL 1 |
#define | FIELDNO_AGGSTATEPERGROUPDATA_NOTRANSVALUE 2 |
Typedefs | |
typedef struct AggStatePerTransData | AggStatePerTransData |
typedef struct AggStatePerAggData | AggStatePerAggData |
typedef struct AggStatePerGroupData | AggStatePerGroupData |
typedef struct AggStatePerPhaseData | AggStatePerPhaseData |
typedef struct AggStatePerHashData | AggStatePerHashData |
Functions | |
AggState * | ExecInitAgg (Agg *node, EState *estate, int eflags) |
void | ExecEndAgg (AggState *node) |
void | ExecReScanAgg (AggState *node) |
Size | hash_agg_entry_size (int numAggs) |
Datum | aggregate_dummy (PG_FUNCTION_ARGS) |
#define FIELDNO_AGGSTATEPERGROUPDATA_NOTRANSVALUE 2 |
Definition at line 248 of file nodeAgg.h.
Referenced by llvm_compile_expr().
#define FIELDNO_AGGSTATEPERGROUPDATA_TRANSVALUE 0 |
Definition at line 243 of file nodeAgg.h.
Referenced by llvm_compile_expr().
#define FIELDNO_AGGSTATEPERGROUPDATA_TRANSVALUEISNULL 1 |
Definition at line 245 of file nodeAgg.h.
Referenced by llvm_compile_expr().
Datum aggregate_dummy | ( | PG_FUNCTION_ARGS | ) |
void ExecEndAgg | ( | AggState * | node | ) |
Definition at line 3308 of file nodeAgg.c.
References AggState::aggcontexts, ExecClearTuple(), ExecEndNode(), ExecFreeExprContext(), AggState::hashcontext, Max, AggState::maxsets, AggState::numtrans, outerPlan, outerPlanState, AggState::pertrans, ScanState::ps, ReScanExprContext(), AggState::sort_in, AggState::sort_out, AggStatePerTransData::sortstates, AggState::ss, ScanState::ss_ScanTupleSlot, and tuplesort_end().
Referenced by ExecEndNode().
Definition at line 2077 of file nodeAgg.c.
References ACL_EXECUTE, aclcheck_error(), ACLCHECK_OK, AggState::agg_done, AGG_HASHED, AGG_MIXED, AGG_PLAIN, AGG_SORTED, AggState::aggcontexts, AggStatePerAggData::aggdirectargs, Aggref::aggdirectargs, AGGFNOID, Aggref::aggfnoid, Aggref::agglevelsup, AggrefExprState::aggno, AggStatePerPhaseData::aggnode, AggStatePerHashData::aggnode, AggStatePerAggData::aggref, AggrefExprState::aggref, AggState::aggs, AggStatePerTransData::aggshared, Aggref::aggsplit, Agg::aggsplit, AggState::aggsplit, AggStatePerPhaseData::aggstrategy, Agg::aggstrategy, AggState::aggstrategy, Aggref::aggtranstype, Aggref::aggtype, Assert, bms_add_member(), bms_add_members(), bms_next_member(), build_aggregate_finalfn_expr(), build_hash_table(), build_pertrans_for_aggref(), castNode, Agg::chain, AggState::curperagg, AggState::curpertrans, AggState::current_set, DO_AGGSPLIT_COMBINE, DO_AGGSPLIT_DESERIALIZE, DO_AGGSPLIT_SERIALIZE, DO_AGGSPLIT_SKIPFINAL, ExprContext::ecxt_aggnulls, ExprContext::ecxt_aggvalues, elog, AggStatePerPhaseData::eqfunctions, ereport, errcode(), errmsg(), ERROR, AggStatePerPhaseData::evaltrans, EXEC_FLAG_BACKWARD, EXEC_FLAG_MARK, EXEC_FLAG_REWIND, ExecAgg(), ExecAssignExprContext(), ExecAssignProjectionInfo(), ExecBuildAggTrans(), ExecCreateScanSlotFromOuterPlan(), ExecInitExprList(), ExecInitExtraTupleSlot(), ExecInitNode(), ExecInitQual(), ExecInitResultTupleSlotTL(), PlanState::ExecProcNode, execTuplesMatchPrepare(), AggStatePerAggData::finalfn, AggStatePerAggData::finalfn_oid, find_compatible_peragg(), find_compatible_pertrans(), find_hash_columns(), fmgr_info(), fmgr_info_set_expr, FUNC_MAX_ARGS, get_aggregate_argtypes(), get_func_name(), get_typlenbyval(), GetAggInitVal(), GETSTRUCT, GetUserId(), AggStatePerPhaseData::grouped_cols, Agg::groupingSets, AggState::grp_firstTuple, Agg::grpColIdx, Agg::grpOperators, AggStatePerPhaseData::gset_lengths, AggState::hashcontext, HeapTupleIsValid, i, initialize_phase(), initValue(), AggState::input_done, Aggref::inputcollid, InvalidOid, InvokeFunctionExecuteHook, lcons_int(), Plan::lefttree, length(), lfirst, list_length(), list_nth_node, makeNode, Max, AggState::maxsets, NIL, AggState::numaggs, AggStatePerHashData::numCols, Agg::numCols, AggStatePerAggData::numFinalArgs, AggState::numphases, AggStatePerPhaseData::numsets, AggState::numtrans, OBJECT_AGGREGATE, OBJECT_FUNCTION, ObjectIdGetDatum, OidIsValid, outerPlan, outerPlanState, palloc(), palloc0(), AggState::peragg, AggState::pergroups, AggState::pertrans, pg_proc_aclcheck(), Agg::plan, PlanState::plan, PROCOID, AggState::projected_set, ScanState::ps, PlanState::ps_ExprContext, Plan::qual, PlanState::qual, ReleaseSysCache(), AggStatePerAggData::resulttypeByVal, AggStatePerAggData::resulttypeLen, SearchSysCache1(), select_current_set(), AggStatePerAggData::sharable, AggState::sort_in, AggState::sort_out, AggState::sort_slot, AggStatePerPhaseData::sortnode, AggState::ss, ScanState::ss_ScanTupleSlot, PlanState::state, SysCacheGetAttr(), AggState::tmpcontext, AggStatePerAggData::transno, and TupleTableSlot::tts_tupleDescriptor.
Referenced by ExecInitNode().
void ExecReScanAgg | ( | AggState * | node | ) |
Definition at line 3354 of file nodeAgg.c.
References AggState::agg_done, AGG_HASHED, AGG_MIXED, AggState::aggcontexts, Agg::aggParams, AggState::aggstrategy, bms_overlap(), build_hash_table(), PlanState::chgParam, ExprContext::ecxt_aggnulls, ExprContext::ecxt_aggvalues, ExecClearTuple(), ExecReScan(), AggState::grp_firstTuple, AggState::hashcontext, AggStatePerHashData::hashiter, AggStatePerHashData::hashtable, heap_freetuple(), initialize_phase(), AggState::input_done, Max, AggState::maxsets, MemSet, AggState::numaggs, AggState::numtrans, outerPlan, outerPlanState, AggState::pergroups, AggState::perhash, AggState::pertrans, PlanState::plan, AggState::projected_set, ScanState::ps, PlanState::ps_ExprContext, ReScanExprContext(), ResetTupleHashIterator, select_current_set(), AggStatePerTransData::sortstates, AggState::ss, ScanState::ss_ScanTupleSlot, AggState::table_filled, and tuplesort_end().
Referenced by ExecReScan().
Size hash_agg_entry_size | ( | int | numAggs | ) |
Definition at line 1424 of file nodeAgg.c.
References MAXALIGN.
Referenced by create_distinct_paths(), and estimate_hashagg_tablesize().