nodes.c
上传用户:blenddy
上传日期:2007-01-07
资源大小:6495k
文件大小:1k
- /*-------------------------------------------------------------------------
- *
- * nodes.c
- * support code for nodes (now that we get rid of the home-brew
- * inheritance system, our support code for nodes get much simpler)
- *
- * Copyright (c) 1994, Regents of the University of California
- *
- *
- * IDENTIFICATION
- * $Header: /usr/local/cvsroot/pgsql/src/backend/nodes/nodes.c,v 1.7 1999/02/13 23:15:59 momjian Exp $
- *
- * HISTORY
- * Andrew Yu Oct 20, 1994 file creation
- *
- *-------------------------------------------------------------------------
- */
- #include <string.h>
- #include "postgres.h"
- #include "utils/palloc.h"
- #include "utils/elog.h"
- #include "nodes/nodes.h" /* where func declarations of this file
- * goes */
- /*
- * newNode -
- * create a new node of the specified size and tag the node with the
- * specified tag.
- *
- * !WARNING!: Avoid using newNode directly. You should be using the
- * macro makeNode. eg. to create a Resdom node, use makeNode(Resdom)
- *
- */
- Node *
- newNode(Size size, NodeTag tag)
- {
- Node *newNode;
- Assert(size >= 4); /* need the tag, at least */
- newNode = (Node *) palloc(size);
- MemSet((char *) newNode, 0, size);
- newNode->type = tag;
- return newNode;
- }