mirror of
https://github.com/postgres/postgres.git
synced 2025-07-18 17:42:25 +03:00
Postgres95 1.01 Distribution - Virgin Sources
This commit is contained in:
45
src/backend/nodes/nodes.c
Normal file
45
src/backend/nodes/nodes.c
Normal file
@ -0,0 +1,45 @@
|
||||
/*-------------------------------------------------------------------------
|
||||
*
|
||||
* 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: /cvsroot/pgsql/src/backend/nodes/nodes.c,v 1.1.1.1 1996/07/09 06:21:33 scrappy 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);
|
||||
}
|
||||
|
Reference in New Issue
Block a user