mirror of
https://github.com/postgres/postgres.git
synced 2025-07-28 23:42:10 +03:00
Modified files for MERGE
This commit is contained in:
@ -375,6 +375,7 @@ _outModifyTable(StringInfo str, const ModifyTable *node)
|
||||
WRITE_NODE_FIELD(partitioned_rels);
|
||||
WRITE_BOOL_FIELD(partColsUpdated);
|
||||
WRITE_NODE_FIELD(resultRelations);
|
||||
WRITE_INT_FIELD(mergeTargetRelation);
|
||||
WRITE_INT_FIELD(resultRelIndex);
|
||||
WRITE_INT_FIELD(rootResultRelIndex);
|
||||
WRITE_NODE_FIELD(plans);
|
||||
@ -390,6 +391,21 @@ _outModifyTable(StringInfo str, const ModifyTable *node)
|
||||
WRITE_NODE_FIELD(onConflictWhere);
|
||||
WRITE_UINT_FIELD(exclRelRTI);
|
||||
WRITE_NODE_FIELD(exclRelTlist);
|
||||
WRITE_NODE_FIELD(mergeSourceTargetList);
|
||||
WRITE_NODE_FIELD(mergeActionList);
|
||||
}
|
||||
|
||||
static void
|
||||
_outMergeAction(StringInfo str, const MergeAction *node)
|
||||
{
|
||||
WRITE_NODE_TYPE("MERGEACTION");
|
||||
|
||||
WRITE_BOOL_FIELD(matched);
|
||||
WRITE_ENUM_FIELD(commandType, CmdType);
|
||||
WRITE_NODE_FIELD(condition);
|
||||
WRITE_NODE_FIELD(qual);
|
||||
/* We don't dump the stmt node */
|
||||
WRITE_NODE_FIELD(targetList);
|
||||
}
|
||||
|
||||
static void
|
||||
@ -2114,6 +2130,7 @@ _outModifyTablePath(StringInfo str, const ModifyTablePath *node)
|
||||
WRITE_NODE_FIELD(partitioned_rels);
|
||||
WRITE_BOOL_FIELD(partColsUpdated);
|
||||
WRITE_NODE_FIELD(resultRelations);
|
||||
WRITE_INT_FIELD(mergeTargetRelation);
|
||||
WRITE_NODE_FIELD(subpaths);
|
||||
WRITE_NODE_FIELD(subroots);
|
||||
WRITE_NODE_FIELD(withCheckOptionLists);
|
||||
@ -2121,6 +2138,8 @@ _outModifyTablePath(StringInfo str, const ModifyTablePath *node)
|
||||
WRITE_NODE_FIELD(rowMarks);
|
||||
WRITE_NODE_FIELD(onconflict);
|
||||
WRITE_INT_FIELD(epqParam);
|
||||
WRITE_NODE_FIELD(mergeSourceTargetList);
|
||||
WRITE_NODE_FIELD(mergeActionList);
|
||||
}
|
||||
|
||||
static void
|
||||
@ -2942,6 +2961,9 @@ _outQuery(StringInfo str, const Query *node)
|
||||
WRITE_NODE_FIELD(setOperations);
|
||||
WRITE_NODE_FIELD(constraintDeps);
|
||||
/* withCheckOptions intentionally omitted, see comment in parsenodes.h */
|
||||
WRITE_INT_FIELD(mergeTarget_relation);
|
||||
WRITE_NODE_FIELD(mergeSourceTargetList);
|
||||
WRITE_NODE_FIELD(mergeActionList);
|
||||
WRITE_LOCATION_FIELD(stmt_location);
|
||||
WRITE_LOCATION_FIELD(stmt_len);
|
||||
}
|
||||
@ -3657,6 +3679,9 @@ outNode(StringInfo str, const void *obj)
|
||||
case T_ModifyTable:
|
||||
_outModifyTable(str, obj);
|
||||
break;
|
||||
case T_MergeAction:
|
||||
_outMergeAction(str, obj);
|
||||
break;
|
||||
case T_Append:
|
||||
_outAppend(str, obj);
|
||||
break;
|
||||
|
Reference in New Issue
Block a user