diff options
Diffstat (limited to 'src/include/nodes/execnodes.h')
-rw-r--r-- | src/include/nodes/execnodes.h | 66 |
1 files changed, 0 insertions, 66 deletions
diff --git a/src/include/nodes/execnodes.h b/src/include/nodes/execnodes.h index 52d1fa018b5..3b39369a492 100644 --- a/src/include/nodes/execnodes.h +++ b/src/include/nodes/execnodes.h @@ -17,7 +17,6 @@ #include "access/tupconvert.h" #include "executor/instrument.h" #include "fmgr.h" -#include "lib/ilist.h" #include "lib/pairingheap.h" #include "nodes/params.h" #include "nodes/plannodes.h" @@ -2038,71 +2037,6 @@ typedef struct MaterialState Tuplestorestate *tuplestorestate; } MaterialState; -struct ResultCacheEntry; -struct ResultCacheTuple; -struct ResultCacheKey; - -typedef struct ResultCacheInstrumentation -{ - uint64 cache_hits; /* number of rescans where we've found the - * scan parameter values to be cached */ - uint64 cache_misses; /* number of rescans where we've not found the - * scan parameter values to be cached. */ - uint64 cache_evictions; /* number of cache entries removed due to - * the need to free memory */ - uint64 cache_overflows; /* number of times we've had to bypass the - * cache when filling it due to not being - * able to free enough space to store the - * current scan's tuples. */ - uint64 mem_peak; /* peak memory usage in bytes */ -} ResultCacheInstrumentation; - -/* ---------------- - * Shared memory container for per-worker resultcache information - * ---------------- - */ -typedef struct SharedResultCacheInfo -{ - int num_workers; - ResultCacheInstrumentation sinstrument[FLEXIBLE_ARRAY_MEMBER]; -} SharedResultCacheInfo; - -/* ---------------- - * ResultCacheState information - * - * resultcache nodes are used to cache recent and commonly seen results - * from a parameterized scan. - * ---------------- - */ -typedef struct ResultCacheState -{ - ScanState ss; /* its first field is NodeTag */ - int rc_status; /* value of ExecResultCache state machine */ - int nkeys; /* number of cache keys */ - struct resultcache_hash *hashtable; /* hash table for cache entries */ - TupleDesc hashkeydesc; /* tuple descriptor for cache keys */ - TupleTableSlot *tableslot; /* min tuple slot for existing cache entries */ - TupleTableSlot *probeslot; /* virtual slot used for hash lookups */ - ExprState *cache_eq_expr; /* Compare exec params to hash key */ - ExprState **param_exprs; /* exprs containing the parameters to this - * node */ - FmgrInfo *hashfunctions; /* lookup data for hash funcs nkeys in size */ - Oid *collations; /* collation for comparisons nkeys in size */ - uint64 mem_used; /* bytes of memory used by cache */ - uint64 mem_limit; /* memory limit in bytes for the cache */ - MemoryContext tableContext; /* memory context to store cache data */ - dlist_head lru_list; /* least recently used entry list */ - struct ResultCacheTuple *last_tuple; /* Used to point to the last tuple - * returned during a cache hit and - * the tuple we last stored when - * populating the cache. */ - struct ResultCacheEntry *entry; /* the entry that 'last_tuple' belongs to - * or NULL if 'last_tuple' is NULL. */ - bool singlerow; /* true if the cache entry is to be marked as - * complete after caching the first tuple. */ - ResultCacheInstrumentation stats; /* execution statistics */ - SharedResultCacheInfo *shared_info; /* statistics for parallel workers */ -} ResultCacheState; /* ---------------- * When performing sorting by multiple keys, it's possible that the input |