diff --git a/src/backend/rewrite/rewriteHandler.c b/src/backend/rewrite/rewriteHandler.c index 54fd6d6fb2..3deac96c50 100644 --- a/src/backend/rewrite/rewriteHandler.c +++ b/src/backend/rewrite/rewriteHandler.c @@ -556,6 +556,9 @@ rewriteRuleAction(Query *parsetree, /* OK, it's safe to combine the CTE lists */ sub_action->cteList = list_concat(sub_action->cteList, copyObject(parsetree->cteList)); + + /* record if any of the CTEs were modifying CTEs */ + sub_action->hasModifyingCTE |= parsetree->hasModifyingCTE; } /*