diff options
Diffstat (limited to 'src/backend')
-rw-r--r-- | src/backend/tcop/utility.c | 13 |
1 files changed, 4 insertions, 9 deletions
diff --git a/src/backend/tcop/utility.c b/src/backend/tcop/utility.c index 3b0ebdd3e75..509bf4d3d81 100644 --- a/src/backend/tcop/utility.c +++ b/src/backend/tcop/utility.c @@ -1365,16 +1365,11 @@ UtilityContainsQuery(Node *parsetree) return qry; case T_CreateTableAsStmt: - /* might or might not contain a Query ... */ qry = (Query *) ((CreateTableAsStmt *) parsetree)->query; - if (IsA(qry, Query)) - { - /* Recursion currently can't be necessary here */ - Assert(qry->commandType != CMD_UTILITY); - return qry; - } - Assert(IsA(qry, ExecuteStmt)); - return NULL; + Assert(IsA(qry, Query)); + if (qry->commandType == CMD_UTILITY) + return UtilityContainsQuery(qry->utilityStmt); + return qry; default: return NULL; |