PostgreSQL Source Code git master
|
Go to the source code of this file.
Functions | |
MemoizeState * | ExecInitMemoize (Memoize *node, EState *estate, int eflags) |
void | ExecEndMemoize (MemoizeState *node) |
void | ExecReScanMemoize (MemoizeState *node) |
double | ExecEstimateCacheEntryOverheadBytes (double ntuples) |
void | ExecMemoizeEstimate (MemoizeState *node, ParallelContext *pcxt) |
void | ExecMemoizeInitializeDSM (MemoizeState *node, ParallelContext *pcxt) |
void | ExecMemoizeInitializeWorker (MemoizeState *node, ParallelWorkerContext *pwcxt) |
void | ExecMemoizeRetrieveInstrumentation (MemoizeState *node) |
void ExecEndMemoize | ( | MemoizeState * | node | ) |
Definition at line 1079 of file nodeMemoize.c.
References Assert, CACHE_TUPLE_BYTES, EMPTY_ENTRY_MEMORY_BYTES, ExecEndNode(), MemoizeState::hashtable, i, IsParallelWorker, MemoizeInstrumentation::mem_peak, MemoizeState::mem_used, MemoryContextDelete(), MemoizeTuple::next, outerPlanState, ParallelWorkerNumber, MemoizeState::shared_info, SharedMemoizeInfo::sinstrument, MemoizeState::stats, MemoizeState::tableContext, and MemoizeEntry::tuplehead.
Referenced by ExecEndNode().
double ExecEstimateCacheEntryOverheadBytes | ( | double | ntuples | ) |
Definition at line 1171 of file nodeMemoize.c.
Referenced by cost_memoize_rescan().
MemoizeState * ExecInitMemoize | ( | Memoize * | node, |
EState * | estate, | ||
int | eflags | ||
) |
Definition at line 951 of file nodeMemoize.c.
References ALLOCSET_DEFAULT_SIZES, AllocSetContextCreate, Assert, MemoizeState::binary_mode, Memoize::binary_mode, MemoizeState::cache_eq_expr, MemoizeState::collations, CurrentMemoryContext, dlist_init(), elog, MemoizeState::entry, ERROR, EXEC_FLAG_BACKWARD, EXEC_FLAG_MARK, ExecAssignExprContext(), ExecBuildParamSetEqual(), ExecCreateScanSlotFromOuterPlan(), ExecInitExpr(), ExecInitNode(), ExecInitResultTupleSlotTL(), ExecMemoize(), PlanState::ExecProcNode, ExecTypeFromExprList(), fmgr_info(), get_hash_memory_limit(), get_op_hash_functions(), get_opcode(), MemoizeState::hashfunctions, MemoizeState::hashkeydesc, MemoizeState::hashtable, i, MemoizeState::keyparamids, Memoize::keyparamids, MemoizeState::last_tuple, list_nth(), MemoizeState::lru_list, makeNode, MakeSingleTupleTableSlot(), MemoizeState::mem_limit, MemoizeState::mem_used, MEMO_CACHE_LOOKUP, MemoizeState::mstatus, MemoizeState::nkeys, Memoize::numKeys, outerPlan, outerPlanState, palloc(), MemoizeState::param_exprs, Memoize::param_exprs, pfree(), PlanState::plan, MemoizeState::probeslot, ScanState::ps, PlanState::ps_ProjInfo, MemoizeState::singlerow, Memoize::singlerow, MemoizeState::ss, PlanState::state, MemoizeState::stats, MemoizeState::tableContext, MemoizeState::tableslot, TTSOpsMinimalTuple, and TTSOpsVirtual.
Referenced by ExecInitNode().
void ExecMemoizeEstimate | ( | MemoizeState * | node, |
ParallelContext * | pcxt | ||
) |
Definition at line 1189 of file nodeMemoize.c.
References add_size(), ParallelContext::estimator, PlanState::instrument, mul_size(), ParallelContext::nworkers, ScanState::ps, shm_toc_estimate_chunk, shm_toc_estimate_keys, size, and MemoizeState::ss.
Referenced by ExecParallelEstimate().
void ExecMemoizeInitializeDSM | ( | MemoizeState * | node, |
ParallelContext * | pcxt | ||
) |
Definition at line 1210 of file nodeMemoize.c.
References PlanState::instrument, SharedMemoizeInfo::num_workers, ParallelContext::nworkers, PlanState::plan, Plan::plan_node_id, ScanState::ps, MemoizeState::shared_info, shm_toc_allocate(), shm_toc_insert(), size, MemoizeState::ss, and ParallelContext::toc.
Referenced by ExecParallelInitializeDSM().
void ExecMemoizeInitializeWorker | ( | MemoizeState * | node, |
ParallelWorkerContext * | pwcxt | ||
) |
Definition at line 1235 of file nodeMemoize.c.
References PlanState::plan, Plan::plan_node_id, ScanState::ps, MemoizeState::shared_info, shm_toc_lookup(), MemoizeState::ss, and ParallelWorkerContext::toc.
Referenced by ExecParallelInitializeWorker().
void ExecMemoizeRetrieveInstrumentation | ( | MemoizeState * | node | ) |
Definition at line 1248 of file nodeMemoize.c.
References SharedMemoizeInfo::num_workers, palloc(), MemoizeState::shared_info, and size.
Referenced by ExecParallelRetrieveInstrumentation().
void ExecReScanMemoize | ( | MemoizeState * | node | ) |
Definition at line 1139 of file nodeMemoize.c.
References bms_nonempty_difference(), cache_purge_all(), MemoizeState::entry, ExecReScan(), MemoizeState::keyparamids, MemoizeState::last_tuple, MEMO_CACHE_LOOKUP, MemoizeState::mstatus, outerPlan, and outerPlanState.
Referenced by ExecReScan().