Its not clear why this was added in the original commit. Neither the commit
message nor the code has any comment explaining this. Moreover as clear from
the regression tests, we do support transaction types as INTERNALOID. Sure
aggregates can't support 2-step aggregation for internal types because the
transition function result needs to be sent to the coordinator for collection.
But that's a separate patch, if at all needed
FUNC_MAX_ARGS - 1)));
#ifdef PGXC
+#ifndef XCP
if (aggTransType == INTERNALOID)
ereport(ERROR,
(errcode(ERRCODE_INVALID_FUNCTION_DEFINITION),
errmsg("unsafe use of pseudo-type \"internal\""),
errdetail("Transition type can not be \"internal\".")));
-
+#endif
#endif
/* check for polymorphic and INTERNAL arguments */
hasPolyArg = false;