aboutsummaryrefslogtreecommitdiff
path: root/src/backend/rewrite/rewriteDefine.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/backend/rewrite/rewriteDefine.c')
-rw-r--r--src/backend/rewrite/rewriteDefine.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/backend/rewrite/rewriteDefine.c b/src/backend/rewrite/rewriteDefine.c
index fecc4e27fa3..a405dbfe8ee 100644
--- a/src/backend/rewrite/rewriteDefine.c
+++ b/src/backend/rewrite/rewriteDefine.c
@@ -330,6 +330,14 @@ DefineQueryRewrite(char *rulename,
errmsg("rules on SELECT must have action INSTEAD SELECT")));
/*
+ * ... it cannot contain data-modifying WITH ...
+ */
+ if (query->hasModifyingCTE)
+ ereport(ERROR,
+ (errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
+ errmsg("rules on SELECT must not contain data-modifying statements in WITH")));
+
+ /*
* ... there can be no rule qual, ...
*/
if (event_qual != NULL)