1 /*------------------------------------------------------------------------- 2 * 3 * nodeMemoize.h 4 * 5 * 6 * 7 * Portions Copyright (c) 2021, PostgreSQL Global Development Group 8 * Portions Copyright (c) 1994, Regents of the University of California 9 * 10 * src/include/executor/nodeMemoize.h 11 * 12 *------------------------------------------------------------------------- 13 */ 14 #ifndef NODEMEMOIZE_H 15 #define NODEMEMOIZE_H 16 17 #include "access/parallel.h" 18 #include "nodes/execnodes.h" 19 20 extern MemoizeState *ExecInitMemoize(Memoize *node, EState *estate, int eflags); 21 extern void ExecEndMemoize(MemoizeState *node); 22 extern void ExecReScanMemoize(MemoizeState *node); 23 extern double ExecEstimateCacheEntryOverheadBytes(double ntuples); 24 extern void ExecMemoizeEstimate(MemoizeState *node, 25 ParallelContext *pcxt); 26 extern void ExecMemoizeInitializeDSM(MemoizeState *node, 27 ParallelContext *pcxt); 28 extern void ExecMemoizeInitializeWorker(MemoizeState *node, 29 ParallelWorkerContext *pwcxt); 30 extern void ExecMemoizeRetrieveInstrumentation(MemoizeState *node); 31 32 #endif /* NODEMEMOIZE_H */ 33