41 #define COPY_SCALAR_FIELD(fldname) \
42 (newnode->fldname = from->fldname)
45 #define COPY_NODE_FIELD(fldname) \
46 (newnode->fldname = copyObjectImpl(from->fldname))
49 #define COPY_BITMAPSET_FIELD(fldname) \
50 (newnode->fldname = bms_copy(from->fldname))
53 #define COPY_STRING_FIELD(fldname) \
54 (newnode->fldname = from->fldname ? pstrdup(from->fldname) : (char *) NULL)
57 #define COPY_ARRAY_FIELD(fldname) \
58 memcpy(newnode->fldname, from->fldname, sizeof(newnode->fldname))
61 #define COPY_POINTER_FIELD(fldname, sz) \
66 newnode->fldname = palloc(_size); \
67 memcpy(newnode->fldname, from->fldname, _size); \
72 #define COPY_LOCATION_FIELD(fldname) \
73 (newnode->fldname = from->fldname)
3279 elog(
ERROR,
"unrecognized node type: %d",