PostgreSQL Source Code git master
|
#include "postgres.h"
#include "miscadmin.h"
#include "utils/datum.h"
#include "copyfuncs.funcs.c"
#include "copyfuncs.switch.c"
Go to the source code of this file.
Macros | |
#define | COPY_SCALAR_FIELD(fldname) (newnode->fldname = from->fldname) |
#define | COPY_NODE_FIELD(fldname) (newnode->fldname = copyObjectImpl(from->fldname)) |
#define | COPY_BITMAPSET_FIELD(fldname) (newnode->fldname = bms_copy(from->fldname)) |
#define | COPY_STRING_FIELD(fldname) (newnode->fldname = from->fldname ? pstrdup(from->fldname) : (char *) NULL) |
#define | COPY_ARRAY_FIELD(fldname) memcpy(newnode->fldname, from->fldname, sizeof(newnode->fldname)) |
#define | COPY_POINTER_FIELD(fldname, sz) |
#define | COPY_LOCATION_FIELD(fldname) (newnode->fldname = from->fldname) |
Functions | |
static Const * | _copyConst (const Const *from) |
static A_Const * | _copyA_Const (const A_Const *from) |
static ExtensibleNode * | _copyExtensibleNode (const ExtensibleNode *from) |
static Bitmapset * | _copyBitmapset (const Bitmapset *from) |
void * | copyObjectImpl (const void *from) |
#define COPY_ARRAY_FIELD | ( | fldname | ) | memcpy(newnode->fldname, from->fldname, sizeof(newnode->fldname)) |
Definition at line 46 of file copyfuncs.c.
#define COPY_BITMAPSET_FIELD | ( | fldname | ) | (newnode->fldname = bms_copy(from->fldname)) |
Definition at line 38 of file copyfuncs.c.
#define COPY_LOCATION_FIELD | ( | fldname | ) | (newnode->fldname = from->fldname) |
Definition at line 61 of file copyfuncs.c.
#define COPY_NODE_FIELD | ( | fldname | ) | (newnode->fldname = copyObjectImpl(from->fldname)) |
Definition at line 34 of file copyfuncs.c.
#define COPY_POINTER_FIELD | ( | fldname, | |
sz | |||
) |
Definition at line 50 of file copyfuncs.c.
#define COPY_SCALAR_FIELD | ( | fldname | ) | (newnode->fldname = from->fldname) |
Definition at line 30 of file copyfuncs.c.
#define COPY_STRING_FIELD | ( | fldname | ) | (newnode->fldname = from->fldname ? pstrdup(from->fldname) : (char *) NULL) |
Definition at line 42 of file copyfuncs.c.
Definition at line 108 of file copyfuncs.c.
References COPY_LOCATION_FIELD, COPY_SCALAR_FIELD, COPY_STRING_FIELD, elog, ERROR, A_Const::isnull, makeNode, nodeTag, A_Const::val, and val.
Definition at line 73 of file copyfuncs.c.
References COPY_LOCATION_FIELD, COPY_SCALAR_FIELD, datumCopy(), and makeNode.
|
static |
Definition at line 147 of file copyfuncs.c.
References COPY_STRING_FIELD, ExtensibleNode::extnodename, GetExtensibleNodeMethods(), newNode(), ExtensibleNodeMethods::node_size, and ExtensibleNodeMethods::nodeCopy.
void * copyObjectImpl | ( | const void * | from | ) |
Definition at line 177 of file copyfuncs.c.
References check_stack_depth(), elog, ERROR, list_copy(), list_copy_deep(), and nodeTag.
Referenced by list_copy_deep().