diff --git a/src/backend/utils/hash/dynahash.c b/src/backend/utils/hash/dynahash.c index f9d87120535e87ca773054b98fd2abf1b90d0dbc..dd601bee7427934146e49f9c46b2ed46c1fdcb59 100644 --- a/src/backend/utils/hash/dynahash.c +++ b/src/backend/utils/hash/dynahash.c @@ -7,7 +7,7 @@ * * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/backend/utils/hash/dynahash.c,v 1.20 1999/03/06 21:17:56 tgl Exp $ + * $Header: /cvsroot/pgsql/src/backend/utils/hash/dynahash.c,v 1.21 1999/03/07 23:03:32 tgl Exp $ * *------------------------------------------------------------------------- */ @@ -49,6 +49,7 @@ #include "utils/mcxt.h" #endif /* !FRONTEND */ #include "utils/palloc.h" +#include "utils/memutils.h" /* * Fast arithmetic, relying on powers of 2, diff --git a/src/include/nodes/memnodes.h b/src/include/nodes/memnodes.h index 0bd7f9266aee6440db754076f41e5cc479338bd9..a44e1fb31a775f6c9e67f9c755402efc3ba7675d 100644 --- a/src/include/nodes/memnodes.h +++ b/src/include/nodes/memnodes.h @@ -6,7 +6,7 @@ * * Copyright (c) 1994, Regents of the University of California * - * $Id: memnodes.h,v 1.10 1999/02/13 23:21:38 momjian Exp $ + * $Id: memnodes.h,v 1.11 1999/03/07 23:03:31 tgl Exp $ * * XXX the typedefs in this file are different from the other ???nodes.h; * they are pointers to structures instead of the structures themselves. @@ -60,7 +60,9 @@ typedef struct MemoryContextData { NodeTag type; MemoryContextMethods method; -} *MemoryContext; +} MemoryContextData; + +/* utils/mcxt.h contains typedef struct MemoryContextData *MemoryContext */ /* think about doing this right some time but we'll have explicit fields for now -ay 10/94 */ @@ -71,9 +73,11 @@ typedef struct GlobalMemoryData AllocSetData setData; char *name; OrderedElemData elemData; -} *GlobalMemory; +} GlobalMemoryData; + +/* utils/mcxt.h contains typedef struct GlobalMemoryData *GlobalMemory */ -typedef MemoryContext *PortalMemoryContext; +typedef struct MemoryContextData *PortalMemoryContext; typedef struct PortalVariableMemoryData { diff --git a/src/include/utils/mcxt.h b/src/include/utils/mcxt.h index 01ff7b7f119b456a98b2b7870b7863e55c81d3a3..6db5619a9266c6102aae680870d1cd789c0a701a 100644 --- a/src/include/utils/mcxt.h +++ b/src/include/utils/mcxt.h @@ -6,14 +6,21 @@ * * Copyright (c) 1994, Regents of the University of California * - * $Id: mcxt.h,v 1.12 1999/02/13 23:22:24 momjian Exp $ + * $Id: mcxt.h,v 1.13 1999/03/07 23:03:31 tgl Exp $ * *------------------------------------------------------------------------- */ #ifndef MCXT_H #define MCXT_H -#include <nodes/memnodes.h> +/* These types are declared in nodes/memnodes.h, but most users of memory + * allocation should just treat them as abstract types, so we do not provide + * the struct contents here. + */ + +typedef struct MemoryContextData *MemoryContext; +typedef struct GlobalMemoryData *GlobalMemory; + extern MemoryContext CurrentMemoryContext; extern MemoryContext TopMemoryContext;