static void _outAgg(StringInfo str, Agg *node) { WRITE_NODE_TYPE("AGG"); _outPlanInfo(str, (Plan *) node); WRITE_ENUM_FIELD(aggstrategy, AggStrategy); WRITE_INT_FIELD(numCols); WRITE_INT_ARRAY(grpColIdx, numCols, AttrNumber); if (print_variable_fields) { WRITE_LONG_FIELD(numGroups); WRITE_INT_FIELD(transSpace); } WRITE_INT_FIELD(numNullCols); WRITE_UINT64_FIELD(inputGrouping); WRITE_UINT64_FIELD(grouping); WRITE_BOOL_FIELD(inputHasGrouping); WRITE_INT_FIELD(rollupGSTimes); WRITE_BOOL_FIELD(lastAgg); WRITE_BOOL_FIELD(streaming); }
void OutDistributedPlan(OUTFUNC_ARGS) { WRITE_LOCALS(DistributedPlan); WRITE_NODE_TYPE("DISTRIBUTEDPLAN"); WRITE_UINT64_FIELD(planId); WRITE_INT_FIELD(operation); WRITE_BOOL_FIELD(hasReturning); WRITE_NODE_FIELD(workerJob); WRITE_NODE_FIELD(masterQuery); WRITE_BOOL_FIELD(routerExecutable); WRITE_UINT64_FIELD(queryId); WRITE_NODE_FIELD(relationIdList); WRITE_NODE_FIELD(insertSelectSubquery); WRITE_NODE_FIELD(insertTargetList); WRITE_OID_FIELD(targetRelationId); WRITE_NODE_FIELD(subPlanList); WRITE_NODE_FIELD(planningError); }
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); }
void OutGroupShardPlacement(OUTFUNC_ARGS) { WRITE_LOCALS(GroupShardPlacement); WRITE_NODE_TYPE("GROUPSHARDPLACEMENT"); WRITE_UINT64_FIELD(placementId); WRITE_UINT64_FIELD(shardId); WRITE_UINT64_FIELD(shardLength); WRITE_ENUM_FIELD(shardState, RelayFileState); WRITE_UINT_FIELD(groupId); }
/* * print the basic stuff of all nodes that inherit from Plan */ static void _outPlanInfo(StringInfo str, Plan *node) { WRITE_INT_FIELD(plan_node_id); WRITE_INT_FIELD(plan_parent_node_id); WRITE_FLOAT_FIELD(startup_cost, "%.2f"); WRITE_FLOAT_FIELD(total_cost, "%.2f"); WRITE_FLOAT_FIELD(plan_rows, "%.0f"); WRITE_INT_FIELD(plan_width); WRITE_NODE_FIELD(targetlist); WRITE_NODE_FIELD(qual); WRITE_BITMAPSET_FIELD(extParam); WRITE_BITMAPSET_FIELD(allParam); WRITE_NODE_FIELD(flow); WRITE_INT_FIELD(dispatch); WRITE_BOOL_FIELD(directDispatch.isDirectDispatch); WRITE_NODE_FIELD(directDispatch.contentIds); WRITE_INT_FIELD(nMotionNodes); WRITE_INT_FIELD(nInitPlans); WRITE_NODE_FIELD(sliceTable); WRITE_NODE_FIELD(lefttree); WRITE_NODE_FIELD(righttree); WRITE_NODE_FIELD(initPlan); WRITE_UINT64_FIELD(operatorMemKB); }
void OutShardInterval(OUTFUNC_ARGS) { WRITE_LOCALS(ShardInterval); WRITE_NODE_TYPE("SHARDINTERVAL"); WRITE_OID_FIELD(relationId); WRITE_CHAR_FIELD(storageType); WRITE_OID_FIELD(valueTypeId); WRITE_INT_FIELD(valueTypeLen); WRITE_BOOL_FIELD(valueByVal); WRITE_BOOL_FIELD(minValueExists); WRITE_BOOL_FIELD(maxValueExists); appendStringInfoString(str, " :minValue "); if (!node->minValueExists) appendStringInfoString(str, "<>"); else outDatum(str, node->minValue, node->valueTypeLen, node->valueByVal); appendStringInfoString(str, " :maxValue "); if (!node->maxValueExists) appendStringInfoString(str, "<>"); else outDatum(str, node->maxValue, node->valueTypeLen, node->valueByVal); WRITE_UINT64_FIELD(shardId); WRITE_INT_FIELD(shardIndex); }
void OutRelationShard(OUTFUNC_ARGS) { WRITE_LOCALS(RelationShard); WRITE_NODE_TYPE("RELATIONSHARD"); WRITE_OID_FIELD(relationId); WRITE_UINT64_FIELD(shardId); }
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 OutJobFields(StringInfo str, const Job *node) { WRITE_UINT64_FIELD(jobId); WRITE_NODE_FIELD(jobQuery); WRITE_NODE_FIELD(taskList); WRITE_NODE_FIELD(dependedJobList); WRITE_BOOL_FIELD(subqueryPushdown); WRITE_BOOL_FIELD(requiresMasterEvaluation); WRITE_BOOL_FIELD(deferredPruning); WRITE_NODE_FIELD(partitionKeyValue); }
void OutTaskExecution(OUTFUNC_ARGS) { WRITE_LOCALS(TaskExecution); WRITE_NODE_TYPE("TASKEXECUTION"); WRITE_UINT64_FIELD(jobId); WRITE_UINT_FIELD(taskId); WRITE_UINT_FIELD(nodeCount); WRITE_ENUM_ARRAY(taskStatusArray, node->nodeCount); WRITE_ENUM_ARRAY(transmitStatusArray, node->nodeCount); WRITE_INT_ARRAY(connectionIdArray, node->nodeCount); WRITE_INT_ARRAY(fileDescriptorArray, node->nodeCount); WRITE_INT64_FIELD(connectStartTime); WRITE_UINT_FIELD(currentNodeIndex); WRITE_UINT_FIELD(querySourceNodeIndex); WRITE_UINT_FIELD(failureCount); WRITE_BOOL_FIELD(criticalErrorOccurred); }
static void _outPlannedStmt(StringInfo str, PlannedStmt *node) { WRITE_NODE_TYPE("PLANNEDSTMT"); WRITE_ENUM_FIELD(commandType, CmdType); WRITE_ENUM_FIELD(planGen, PlanGenerator); WRITE_BOOL_FIELD(canSetTag); WRITE_BOOL_FIELD(transientPlan); WRITE_NODE_FIELD(planTree); WRITE_NODE_FIELD(rtable); WRITE_NODE_FIELD(resultRelations); WRITE_NODE_FIELD(utilityStmt); WRITE_NODE_FIELD(intoClause); WRITE_NODE_FIELD(subplans); WRITE_BITMAPSET_FIELD(rewindPlanIDs); WRITE_NODE_FIELD(returningLists); WRITE_NODE_FIELD(result_partitions); WRITE_NODE_FIELD(result_aosegnos); WRITE_NODE_FIELD(queryPartOids); WRITE_NODE_FIELD(queryPartsMetadata); WRITE_NODE_FIELD(numSelectorsPerScanId); WRITE_NODE_FIELD(rowMarks); WRITE_NODE_FIELD(relationOids); /* * Don't serialize invalItems. The TIDs of the invalidated items wouldn't * make sense in segments. */ WRITE_INT_FIELD(nParamExec); WRITE_INT_FIELD(nMotionNodes); WRITE_INT_FIELD(nInitPlans); /* Don't serialize policy */ WRITE_UINT64_FIELD(query_mem); }
static void _outPlannedStmt(StringInfo str, PlannedStmt *node) { WRITE_NODE_TYPE("PLANNEDSTMT"); WRITE_ENUM_FIELD(commandType, CmdType); WRITE_ENUM_FIELD(planGen, PlanGenerator); WRITE_BOOL_FIELD(canSetTag); WRITE_BOOL_FIELD(transientPlan); WRITE_NODE_FIELD(planTree); WRITE_NODE_FIELD(rtable); WRITE_NODE_FIELD(resultRelations); WRITE_NODE_FIELD(utilityStmt); WRITE_NODE_FIELD(intoClause); WRITE_NODE_FIELD(subplans); WRITE_NODE_FIELD(rewindPlanIDs); WRITE_NODE_FIELD(returningLists); WRITE_NODE_FIELD(result_partitions); WRITE_NODE_FIELD(result_aosegnos); WRITE_NODE_FIELD(queryPartOids); WRITE_NODE_FIELD(queryPartsMetadata); WRITE_NODE_FIELD(numSelectorsPerScanId); WRITE_NODE_FIELD(rowMarks); WRITE_NODE_FIELD(relationOids); WRITE_NODE_FIELD(invalItems); WRITE_INT_FIELD(nCrossLevelParams); WRITE_INT_FIELD(nMotionNodes); WRITE_INT_FIELD(nInitPlans); /* Don't serialize policy */ WRITE_NODE_FIELD(sliceTable); WRITE_UINT64_FIELD(query_mem); WRITE_NODE_FIELD(transientTypeRecords); }