30#include "nodes/nodetags.h"
124#define pg_node_attr(...)
137#define nodeTag(nodeptr) (((const Node*)(nodeptr))->type)
159#define makeNode(_type_) ((_type_ *) newNode(sizeof(_type_),T_##_type_))
160#define NodeSetTag(nodeptr,t) (((Node*)(nodeptr))->type = (t))
162#define IsA(nodeptr,_type_) (nodeTag(nodeptr) == T_##_type_)
171#ifdef USE_ASSERT_CHECKING
178#define castNode(_type_, nodeptr) ((_type_ *) castNodeImpl(T_##_type_, nodeptr))
180#define castNode(_type_, nodeptr) ((_type_ *) (nodeptr))
202 int typlen,
bool typbyval);
211#ifdef DEBUG_NODE_TESTS_ENABLED
227#ifdef HAVE_TYPEOF_UNQUAL
228#define copyObject(obj) ((typeof_unqual(*(obj)) *) copyObjectImpl(obj))
230#define copyObject(obj) copyObjectImpl(obj)
236extern bool equal(
const void *
a,
const void *
b);
346#define IS_OUTER_JOIN(jointype) \
347 (((1 << (jointype)) & \
348 ((1 << JOIN_LEFT) | \
350 (1 << JOIN_RIGHT) | \
352 (1 << JOIN_RIGHT_ANTI))) != 0)
376#define AGGSPLITOP_COMBINE 0x01
377#define AGGSPLITOP_SKIPFINAL 0x02
378#define AGGSPLITOP_SERIALIZE 0x04
379#define AGGSPLITOP_DESERIALIZE 0x08
393#define DO_AGGSPLIT_COMBINE(as) (((as) & AGGSPLITOP_COMBINE) != 0)
394#define DO_AGGSPLIT_SKIPFINAL(as) (((as) & AGGSPLITOP_SKIPFINAL) != 0)
395#define DO_AGGSPLIT_SERIALIZE(as) (((as) & AGGSPLITOP_SERIALIZE) != 0)
396#define DO_AGGSPLIT_DESERIALIZE(as) (((as) & AGGSPLITOP_DESERIALIZE) != 0)
#define Assert(condition)
void * palloc0(Size size)
void * stringToNode(const char *str)
void outToken(struct StringInfoData *str, const char *s)
char * bmsToString(const struct Bitmapset *bms)
char * nodeToStringWithLocations(const void *obj)
#define AGGSPLITOP_DESERIALIZE
#define AGGSPLITOP_SKIPFINAL
struct Bitmapset * readBitmapset(void)
#define AGGSPLITOP_SERIALIZE
void outDatum(struct StringInfoData *str, Datum value, int typlen, bool typbyval)
void outBitmapset(struct StringInfoData *str, const struct Bitmapset *bms)
bool equal(const void *a, const void *b)
char * nodeToString(const void *obj)
@ AGGSPLIT_FINAL_DESERIAL
@ AGGSPLIT_INITIAL_SERIAL
Datum readDatum(bool typbyval)
void * copyObjectImpl(const void *from)
int * readIntCols(int numCols)
static Node * newNode(size_t size, NodeTag tag)
#define AGGSPLITOP_COMBINE
void outNode(struct StringInfoData *str, const void *obj)
Oid * readOidCols(int numCols)
int16 * readAttrNumberCols(int numCols)
bool * readBoolCols(int numCols)