*
*
* 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 $
*
*-------------------------------------------------------------------------
*/
#include "utils/mcxt.h"
#endif /* !FRONTEND */
#include "utils/palloc.h"
+#include "utils/memutils.h"
/*
* Fast arithmetic, relying on powers of 2,
*
* 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.
{
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 */
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
{
*
* 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;