aboutsummaryrefslogtreecommitdiff
path: root/src/backend
diff options
context:
space:
mode:
Diffstat (limited to 'src/backend')
-rw-r--r--src/backend/tcop/utility.c13
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;