summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBruce Momjian2002-10-11 04:16:44 +0000
committerBruce Momjian2002-10-11 04:16:44 +0000
commit2177b6b63540c6ddb7e545735f2cb9775a342a23 (patch)
tree65b6f7fdcce0e1b10d146d4328428cd8b160bb83
parent6a7bb0afbcab1ac3f1e9bbcb536bc7865f4503e6 (diff)
Oops, back out newNode changes. We are not ready for that yet.
-rw-r--r--src/backend/nodes/nodes.c14
-rw-r--r--src/backend/utils/mmgr/mcxt.c25
-rw-r--r--src/include/nodes/nodes.h25
-rw-r--r--src/include/utils/palloc.h5
4 files changed, 20 insertions, 49 deletions
diff --git a/src/backend/nodes/nodes.c b/src/backend/nodes/nodes.c
index 4e694bd09d0..938cfd91a8c 100644
--- a/src/backend/nodes/nodes.c
+++ b/src/backend/nodes/nodes.c
@@ -9,7 +9,7 @@
*
*
* IDENTIFICATION
- * $Header: /cvsroot/pgsql/src/backend/nodes/nodes.c,v 1.16 2002/10/11 04:12:14 momjian Exp $
+ * $Header: /cvsroot/pgsql/src/backend/nodes/nodes.c,v 1.17 2002/10/11 04:16:44 momjian Exp $
*
* HISTORY
* Andrew Yu Oct 20, 1994 file creation
@@ -28,5 +28,15 @@
* macro makeNode. eg. to create a Resdom node, use makeNode(Resdom)
*
*/
-Node *newNodeMacroHolder;
+Node *
+newNode(Size size, NodeTag tag)
+{
+ Node *newNode;
+ Assert(size >= sizeof(Node)); /* need the tag, at least */
+
+ newNode = (Node *) palloc(size);
+ MemSet((char *) newNode, 0, size);
+ newNode->type = tag;
+ return newNode;
+}
diff --git a/src/backend/utils/mmgr/mcxt.c b/src/backend/utils/mmgr/mcxt.c
index da666076627..b7dd265863f 100644
--- a/src/backend/utils/mmgr/mcxt.c
+++ b/src/backend/utils/mmgr/mcxt.c
@@ -14,7 +14,7 @@
*
*
* IDENTIFICATION
- * $Header: /cvsroot/pgsql/src/backend/utils/mmgr/mcxt.c,v 1.33 2002/10/11 04:12:14 momjian Exp $
+ * $Header: /cvsroot/pgsql/src/backend/utils/mmgr/mcxt.c,v 1.34 2002/10/11 04:16:44 momjian Exp $
*
*-------------------------------------------------------------------------
*/
@@ -453,29 +453,6 @@ MemoryContextAlloc(MemoryContext context, Size size)
}
/*
- * MemoryContextAllocZero
- * Like MemoryContextAlloc, but clears allocated memory
- *
- * We could just call MemoryContextAlloc then clear the memory, but this
- * function is called too many times, so we have a separate version.
- */
-void *
-MemoryContextAllocZero(MemoryContext context, Size size)
-{
- void *ret;
-
- AssertArg(MemoryContextIsValid(context));
-
- if (!AllocSizeIsValid(size))
- elog(ERROR, "MemoryContextAllocZero: invalid request size %lu",
- (unsigned long) size);
-
- ret = (*context->methods->alloc) (context, size);
- MemSet(ret, 0, size);
- return ret;
-}
-
-/*
* pfree
* Release an allocated chunk.
*/
diff --git a/src/include/nodes/nodes.h b/src/include/nodes/nodes.h
index 4b6a3c04eb5..5320c1b10d2 100644
--- a/src/include/nodes/nodes.h
+++ b/src/include/nodes/nodes.h
@@ -7,7 +7,7 @@
* Portions Copyright (c) 1996-2002, PostgreSQL Global Development Group
* Portions Copyright (c) 1994, Regents of the University of California
*
- * $Id: nodes.h,v 1.119 2002/10/11 04:12:14 momjian Exp $
+ * $Id: nodes.h,v 1.120 2002/10/11 04:16:44 momjian Exp $
*
*-------------------------------------------------------------------------
*/
@@ -261,24 +261,6 @@ typedef struct Node
#define nodeTag(nodeptr) (((Node*)(nodeptr))->type)
-/*
- * There is no way to dereference the palloc'ed pointer to assign the
- * tag, and return the pointer itself, so we need a holder variable.
- * Fortunately, this function isn't recursive so we just define
- * a global variable for this purpose.
- */
-extern Node *newNodeMacroHolder;
-
-#define newNode(size, tag) \
-( \
- AssertMacro((size) >= sizeof(Node)), /* need the tag, at least */ \
-\
- newNodeMacroHolder = (Node *) palloc0(size), \
- newNodeMacroHolder->type = (tag), \
- newNodeMacroHolder \
-)
-
-
#define makeNode(_type_) ((_type_ *) newNode(sizeof(_type_),T_##_type_))
#define NodeSetTag(nodeptr,t) (((Node*)(nodeptr))->type = (t))
@@ -301,6 +283,11 @@ extern Node *newNodeMacroHolder;
*/
/*
+ * nodes/nodes.c
+ */
+extern Node *newNode(Size size, NodeTag tag);
+
+/*
* nodes/{outfuncs.c,print.c}
*/
extern char *nodeToString(void *obj);
diff --git a/src/include/utils/palloc.h b/src/include/utils/palloc.h
index c1cb6f69c42..44adc1ed969 100644
--- a/src/include/utils/palloc.h
+++ b/src/include/utils/palloc.h
@@ -21,7 +21,7 @@
* Portions Copyright (c) 1996-2002, PostgreSQL Global Development Group
* Portions Copyright (c) 1994, Regents of the University of California
*
- * $Id: palloc.h,v 1.20 2002/10/11 04:12:14 momjian Exp $
+ * $Id: palloc.h,v 1.21 2002/10/11 04:16:44 momjian Exp $
*
*-------------------------------------------------------------------------
*/
@@ -46,12 +46,9 @@ extern DLLIMPORT MemoryContext CurrentMemoryContext;
* Fundamental memory-allocation operations (more are in utils/memutils.h)
*/
extern void *MemoryContextAlloc(MemoryContext context, Size size);
-extern void *MemoryContextAllocZero(MemoryContext context, Size size);
#define palloc(sz) MemoryContextAlloc(CurrentMemoryContext, (sz))
-#define palloc0(sz) MemoryContextAllocZero(CurrentMemoryContext, (sz))
-
extern void pfree(void *pointer);
extern void *repalloc(void *pointer, Size size);