nodes.c
上传用户:blenddy
上传日期:2007-01-07
资源大小:6495k
文件大小:1k
源码类别:

数据库系统

开发平台:

Unix_Linux

  1. /*-------------------------------------------------------------------------
  2.  *
  3.  * nodes.c
  4.  *   support code for nodes (now that we get rid of the home-brew
  5.  *   inheritance system, our support code for nodes get much simpler)
  6.  *
  7.  * Copyright (c) 1994, Regents of the University of California
  8.  *
  9.  *
  10.  * IDENTIFICATION
  11.  *   $Header: /usr/local/cvsroot/pgsql/src/backend/nodes/nodes.c,v 1.7 1999/02/13 23:15:59 momjian Exp $
  12.  *
  13.  * HISTORY
  14.  *   Andrew Yu Oct 20, 1994 file creation
  15.  *
  16.  *-------------------------------------------------------------------------
  17.  */
  18. #include <string.h>
  19. #include "postgres.h"
  20. #include "utils/palloc.h"
  21. #include "utils/elog.h"
  22. #include "nodes/nodes.h" /* where func declarations of this file
  23.  * goes */
  24. /*
  25.  * newNode -
  26.  *   create a new node of the specified size and tag the node with the
  27.  *   specified tag.
  28.  *
  29.  * !WARNING!: Avoid using newNode directly. You should be using the
  30.  *   macro makeNode. eg. to create a Resdom node, use makeNode(Resdom)
  31.  *
  32.  */
  33. Node *
  34. newNode(Size size, NodeTag tag)
  35. {
  36. Node    *newNode;
  37. Assert(size >= 4); /* need the tag, at least */
  38. newNode = (Node *) palloc(size);
  39. MemSet((char *) newNode, 0, size);
  40. newNode->type = tag;
  41. return newNode;
  42. }