void OutDeferredErrorMessage(OUTFUNC_ARGS) { WRITE_LOCALS(DeferredErrorMessage); WRITE_NODE_TYPE("DEFERREDERRORMESSAGE"); WRITE_INT_FIELD(code); WRITE_STRING_FIELD(message); WRITE_STRING_FIELD(detail); WRITE_STRING_FIELD(hint); WRITE_STRING_FIELD(filename); WRITE_INT_FIELD(linenumber); WRITE_STRING_FIELD(functionname); }
static void _outColumnDef(StringInfo str, ColumnDef *node) { WRITE_NODE_TYPE("COLUMNDEF"); WRITE_STRING_FIELD(colname); WRITE_NODE_FIELD(typname); WRITE_INT_FIELD(inhcount); WRITE_BOOL_FIELD(is_local); WRITE_BOOL_FIELD(is_not_null); WRITE_INT_FIELD(attnum); WRITE_NODE_FIELD(raw_default); WRITE_STRING_FIELD(cooked_default); WRITE_NODE_FIELD(constraints); WRITE_NODE_FIELD(encoding); }
static void _outCreateStmt(StringInfo str, CreateStmt *node) { WRITE_NODE_TYPE("CREATESTMT"); WRITE_NODE_FIELD(relation); WRITE_NODE_FIELD(tableElts); WRITE_NODE_FIELD(inhRelations); WRITE_NODE_FIELD(inhOids); WRITE_INT_FIELD(parentOidCount); WRITE_NODE_FIELD(constraints); WRITE_NODE_FIELD(options); WRITE_ENUM_FIELD(oncommit, OnCommitAction); WRITE_STRING_FIELD(tablespacename); WRITE_NODE_FIELD(distributedBy); WRITE_CHAR_FIELD(relKind); WRITE_CHAR_FIELD(relStorage); /* policy omitted */ /* postCreate - for analysis, QD only */ /* deferredStmts - for analysis, QD only */ WRITE_BOOL_FIELD(is_part_child); WRITE_BOOL_FIELD(is_add_part); WRITE_BOOL_FIELD(is_split_part); WRITE_OID_FIELD(ownerid); WRITE_BOOL_FIELD(buildAoBlkdir); WRITE_NODE_FIELD(attr_encodings); }
void OutTask(OUTFUNC_ARGS) { WRITE_LOCALS(Task); WRITE_NODE_TYPE("TASK"); WRITE_ENUM_FIELD(taskType, TaskType); WRITE_UINT64_FIELD(jobId); WRITE_UINT_FIELD(taskId); WRITE_STRING_FIELD(queryString); WRITE_UINT64_FIELD(anchorShardId); WRITE_NODE_FIELD(taskPlacementList); WRITE_NODE_FIELD(dependedTaskList); WRITE_UINT_FIELD(partitionId); WRITE_UINT_FIELD(upstreamTaskId); WRITE_NODE_FIELD(shardInterval); WRITE_BOOL_FIELD(assignmentConstrained); WRITE_NODE_FIELD(taskExecution); WRITE_BOOL_FIELD(upsertQuery); WRITE_CHAR_FIELD(replicationModel); WRITE_BOOL_FIELD(modifyWithSubquery); WRITE_NODE_FIELD(relationShardList); WRITE_NODE_FIELD(relationRowLockList); WRITE_NODE_FIELD(rowValuesLists); }
static void _outRangeTblEntry(StringInfo str, RangeTblEntry *node) { WRITE_NODE_TYPE("RTE"); /* put alias + eref first to make dump more legible */ WRITE_NODE_FIELD(alias); WRITE_NODE_FIELD(eref); WRITE_ENUM_FIELD(rtekind, RTEKind); switch (node->rtekind) { case RTE_RELATION: case RTE_SPECIAL: WRITE_OID_FIELD(relid); break; case RTE_SUBQUERY: WRITE_NODE_FIELD(subquery); break; case RTE_CTE: WRITE_STRING_FIELD(ctename); WRITE_INT_FIELD(ctelevelsup); WRITE_BOOL_FIELD(self_reference); WRITE_NODE_FIELD(ctecoltypes); WRITE_NODE_FIELD(ctecoltypmods); break; case RTE_FUNCTION: WRITE_NODE_FIELD(funcexpr); WRITE_NODE_FIELD(funccoltypes); WRITE_NODE_FIELD(funccoltypmods); break; case RTE_TABLEFUNCTION: WRITE_NODE_FIELD(subquery); WRITE_NODE_FIELD(funcexpr); WRITE_NODE_FIELD(funccoltypes); WRITE_NODE_FIELD(funccoltypmods); WRITE_BYTEA_FIELD(funcuserdata); break; case RTE_VALUES: WRITE_NODE_FIELD(values_lists); break; case RTE_JOIN: WRITE_ENUM_FIELD(jointype, JoinType); WRITE_NODE_FIELD(joinaliasvars); break; case RTE_VOID: /*CDB*/ break; default: elog(ERROR, "unrecognized RTE kind: %d", (int) node->rtekind); break; } WRITE_BOOL_FIELD(inh); WRITE_BOOL_FIELD(inFromCl); WRITE_UINT_FIELD(requiredPerms); WRITE_OID_FIELD(checkAsUser); WRITE_BOOL_FIELD(forceDistRandom); }
static void _outAlterQueueStmt(StringInfo str, AlterQueueStmt *node) { WRITE_NODE_TYPE("ALTERQUEUESTMT"); WRITE_STRING_FIELD(queue); WRITE_NODE_FIELD(options); /* List of DefElem nodes */ }
static void _outCreateQueueStmt(StringInfo str, CreateQueueStmt *node) { WRITE_NODE_TYPE("CREATEQUEUESTMT"); WRITE_STRING_FIELD(queue); WRITE_NODE_FIELD(options); /* List of DefElem nodes */ }
static void _outCreateResourceGroupStmt(StringInfo str, CreateResourceGroupStmt *node) { WRITE_NODE_TYPE("CREATERESOURCEGROUPSTMT"); WRITE_STRING_FIELD(name); WRITE_NODE_FIELD(options); /* List of DefElem nodes */ }
static void _outCurrentOfExpr(StringInfo str, CurrentOfExpr *node) { WRITE_NODE_TYPE("CURRENTOFEXPR"); WRITE_STRING_FIELD(cursor_name); WRITE_UINT_FIELD(cvarno); WRITE_OID_FIELD(target_relid); }
static void _outCreateExtensionStmt(StringInfo str, CreateExtensionStmt *node) { WRITE_NODE_TYPE("CREATEEXTENSIONSTMT"); WRITE_STRING_FIELD(extname); WRITE_BOOL_FIELD(if_not_exists); WRITE_NODE_FIELD(options); WRITE_ENUM_FIELD(create_ext_state, CreateExtensionState); }
static void _outAlterDomainStmt(StringInfo str, AlterDomainStmt *node) { WRITE_NODE_TYPE("ALTERDOMAINSTMT"); WRITE_CHAR_FIELD(subtype); WRITE_NODE_FIELD(typname); WRITE_STRING_FIELD(name); WRITE_NODE_FIELD(def); WRITE_ENUM_FIELD(behavior, DropBehavior); }
static void _outCustomScan(StringInfo str, CustomScan *node) { WRITE_NODE_TYPE("CUSTOMSCAN"); _outScanInfo(str, (Scan *) node); WRITE_UINT_FIELD(flags); WRITE_NODE_FIELD(custom_plans); WRITE_NODE_FIELD(custom_exprs); WRITE_NODE_FIELD(custom_private); WRITE_NODE_FIELD(custom_scan_tlist); WRITE_BITMAPSET_FIELD(custom_relids); // serialize CustomScanMethods WRITE_STRING_FIELD(methods->CustomName); WRITE_STRING_FIELD(methods->LibraryName); WRITE_STRING_FIELD(methods->SymbolName); }
static void _outCurrentOfExpr(StringInfo str, CurrentOfExpr *node) { WRITE_NODE_TYPE("CURRENTOFEXPR"); WRITE_STRING_FIELD(cursor_name); WRITE_UINT_FIELD(cvarno); WRITE_OID_FIELD(target_relid); WRITE_INT_FIELD(gp_segment_id); WRITE_BINARY_FIELD(ctid, sizeof(ItemPointerData)); WRITE_OID_FIELD(tableoid); }
static void _outConstraint(StringInfo str, Constraint *node) { WRITE_NODE_TYPE("CONSTRAINT"); WRITE_STRING_FIELD(name); WRITE_OID_FIELD(conoid); WRITE_ENUM_FIELD(contype,ConstrType); switch (node->contype) { case CONSTR_PRIMARY: case CONSTR_UNIQUE: WRITE_NODE_FIELD(keys); WRITE_NODE_FIELD(options); WRITE_STRING_FIELD(indexspace); break; case CONSTR_CHECK: case CONSTR_DEFAULT: WRITE_NODE_FIELD(raw_expr); WRITE_STRING_FIELD(cooked_expr); break; case CONSTR_NOTNULL: case CONSTR_NULL: case CONSTR_ATTR_DEFERRABLE: case CONSTR_ATTR_NOT_DEFERRABLE: case CONSTR_ATTR_DEFERRED: case CONSTR_ATTR_IMMEDIATE: break; default: elog(WARNING,"serialization doesn't know what to do with this constraint"); break; } }
void OutShardPlacement(OUTFUNC_ARGS) { WRITE_LOCALS(ShardPlacement); WRITE_NODE_TYPE("SHARDPLACEMENT"); WRITE_UINT64_FIELD(placementId); WRITE_UINT64_FIELD(shardId); WRITE_UINT64_FIELD(shardLength); WRITE_ENUM_FIELD(shardState, RelayFileState); WRITE_UINT_FIELD(groupId); WRITE_STRING_FIELD(nodeName); WRITE_UINT_FIELD(nodePort); /* so we can deal with 0 */ WRITE_INT_FIELD(partitionMethod); WRITE_UINT_FIELD(colocationGroupId); WRITE_UINT_FIELD(representativeValue); }
static void _outPartitionRule(StringInfo str, PartitionRule *node) { WRITE_NODE_TYPE("PARTITIONRULE"); WRITE_OID_FIELD(parruleid); WRITE_OID_FIELD(paroid); WRITE_OID_FIELD(parchildrelid); WRITE_OID_FIELD(parparentoid); WRITE_BOOL_FIELD(parisdefault); WRITE_STRING_FIELD(parname); WRITE_NODE_FIELD(parrangestart); WRITE_BOOL_FIELD(parrangestartincl); WRITE_NODE_FIELD(parrangeend); WRITE_BOOL_FIELD(parrangeendincl); WRITE_NODE_FIELD(parrangeevery); WRITE_NODE_FIELD(parlistvalues); WRITE_BINARY_FIELD(parruleord, sizeof(int2)); WRITE_NODE_FIELD(parreloptions); WRITE_OID_FIELD(partemplatespaceId); WRITE_NODE_FIELD(children); }