|
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.
| #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) : 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().