diff options
Diffstat (limited to 'src/include/nodes/memnodes.h')
-rw-r--r-- | src/include/nodes/memnodes.h | 75 |
1 files changed, 0 insertions, 75 deletions
diff --git a/src/include/nodes/memnodes.h b/src/include/nodes/memnodes.h deleted file mode 100644 index 50ffcc0a742..00000000000 --- a/src/include/nodes/memnodes.h +++ /dev/null @@ -1,75 +0,0 @@ -/*------------------------------------------------------------------------- - * - * memnodes.h - * POSTGRES memory context node definitions. - * - * - * Portions Copyright (c) 1996-2002, PostgreSQL Global Development Group - * Portions Copyright (c) 1994, Regents of the University of California - * - * $Id: memnodes.h,v 1.24 2002/06/20 20:29:50 momjian Exp $ - * - *------------------------------------------------------------------------- - */ -#ifndef MEMNODES_H -#define MEMNODES_H - -#include "nodes/nodes.h" - -/* - * MemoryContext - * A logical context in which memory allocations occur. - * - * MemoryContext itself is an abstract type that can have multiple - * implementations, though for now we have only AllocSetContext. - * The function pointers in MemoryContextMethods define one specific - * implementation of MemoryContext --- they are a virtual function table - * in C++ terms. - * - * Node types that are actual implementations of memory contexts must - * begin with the same fields as MemoryContext. - * - * Note: for largely historical reasons, typedef MemoryContext is a pointer - * to the context struct rather than the struct type itself. - */ - -typedef struct MemoryContextMethods -{ - void *(*alloc) (MemoryContext context, Size size); - /* call this free_p in case someone #define's free() */ - void (*free_p) (MemoryContext context, void *pointer); - void *(*realloc) (MemoryContext context, void *pointer, Size size); - void (*init) (MemoryContext context); - void (*reset) (MemoryContext context); - void (*delete) (MemoryContext context); -#ifdef MEMORY_CONTEXT_CHECKING - void (*check) (MemoryContext context); -#endif - void (*stats) (MemoryContext context); -} MemoryContextMethods; - - -typedef struct MemoryContextData -{ - NodeTag type; /* identifies exact kind of context */ - MemoryContextMethods *methods; /* virtual function table */ - MemoryContext parent; /* NULL if no parent (toplevel context) */ - MemoryContext firstchild; /* head of linked list of children */ - MemoryContext nextchild; /* next child of same parent */ - char *name; /* context name (just for debugging) */ -} MemoryContextData; - -/* utils/palloc.h contains typedef struct MemoryContextData *MemoryContext */ - - -/* - * MemoryContextIsValid - * True iff memory context is valid. - * - * Add new context types to the set accepted by this macro. - */ -#define MemoryContextIsValid(context) \ - ((context) != NULL && \ - (IsA((context), AllocSetContext))) - -#endif /* MEMNODES_H */ |