| /*------------------------------------------------------------------------- |
| * |
| * nodeMemoize.h |
| * |
| * |
| * |
| * Portions Copyright (c) 2021-2023, PostgreSQL Global Development Group |
| * Portions Copyright (c) 1994, Regents of the University of California |
| * |
| * src/include/executor/nodeMemoize.h |
| * |
| *------------------------------------------------------------------------- |
| */ |
| #ifndef NODEMEMOIZE_H |
| #define NODEMEMOIZE_H |
| |
| #include "access/parallel.h" |
| #include "nodes/execnodes.h" |
| |
| extern MemoizeState *ExecInitMemoize(Memoize *node, EState *estate, int eflags); |
| extern void ExecEndMemoize(MemoizeState *node); |
| extern void ExecReScanMemoize(MemoizeState *node); |
| extern double ExecEstimateCacheEntryOverheadBytes(double ntuples); |
| extern void ExecMemoizeEstimate(MemoizeState *node, |
| ParallelContext *pcxt); |
| extern void ExecMemoizeInitializeDSM(MemoizeState *node, |
| ParallelContext *pcxt); |
| extern void ExecMemoizeInitializeWorker(MemoizeState *node, |
| ParallelWorkerContext *pwcxt); |
| extern void ExecMemoizeRetrieveInstrumentation(MemoizeState *node); |
| |
| extern void ExecSquelchMemoize(MemoizeState *node, bool force); |
| |
| #endif /* NODEMEMOIZE_H */ |