ProcessUtility can recurse, and indeed can be driven to infinite
recursion, so it ought to have a check_stack_depth() call. This
covers the reported bug (portal trying to execute itself) and a bunch
of other cases that could perhaps arise somewhere.
Per bug #15428 from Malthe Borch. Back-patch to all supported branches.
Discussion: https://postgr.es/m/15428-
b3c2915ec470b033@postgresql.org
{
bool isTopLevel = (context == PROCESS_UTILITY_TOPLEVEL);
+ /* This can recurse, so check for excessive recursion */
+ check_stack_depth();
+
check_xact_readonly(parsetree);
if (completionTag)