|
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) : 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.
Definition at line 38 of file copyfuncs.c.
Definition at line 61 of file copyfuncs.c.
Definition at line 34 of file copyfuncs.c.
Definition at line 50 of file copyfuncs.c.
Definition at line 30 of file copyfuncs.c.
| #define COPY_STRING_FIELD | ( | fldname | ) | (newnode->fldname = from->fldname ? pstrdup(from->fldname) : 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, fb(), A_Const::isnull, makeNode, nodeTag, A_Const::val, and val.
Definition at line 164 of file copyfuncs.c.
References bms_copy().
Definition at line 73 of file copyfuncs.c.
References COPY_LOCATION_FIELD, COPY_SCALAR_FIELD, datumCopy(), fb(), and makeNode.
|
static |
Definition at line 147 of file copyfuncs.c.
References COPY_STRING_FIELD, ExtensibleNode::extnodename, fb(), GetExtensibleNodeMethods(), newNode(), ExtensibleNodeMethods::node_size, and ExtensibleNodeMethods::nodeCopy.
Definition at line 177 of file copyfuncs.c.
References check_stack_depth(), elog, ERROR, fb(), list_copy(), list_copy_deep(), and nodeTag.
Referenced by list_copy_deep().