summaryrefslogtreecommitdiff
path: root/src/backend/optimizer/prep/prepunion.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/backend/optimizer/prep/prepunion.c')
-rw-r--r--src/backend/optimizer/prep/prepunion.c15
1 files changed, 11 insertions, 4 deletions
diff --git a/src/backend/optimizer/prep/prepunion.c b/src/backend/optimizer/prep/prepunion.c
index 7d0279ec3ef..b441f7e5cac 100644
--- a/src/backend/optimizer/prep/prepunion.c
+++ b/src/backend/optimizer/prep/prepunion.c
@@ -697,9 +697,13 @@ generate_nonunion_path(SetOperationStmt *op, PlannerInfo *root,
/* Identify the grouping semantics */
groupList = generate_setop_grouplist(op, tlist);
- /* punt if nothing to group on (can this happen?) */
+ /* punt if nothing to group on (not worth fixing in back branches) */
if (groupList == NIL)
- return path;
+ ereport(ERROR,
+ (errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
+ /* translator: %s is UNION, INTERSECT, or EXCEPT */
+ errmsg("%s over no columns is not supported",
+ (op->op == SETOP_INTERSECT) ? "INTERSECT" : "EXCEPT")));
/*
* Estimate number of distinct groups that we'll need hashtable entries
@@ -850,9 +854,12 @@ make_union_unique(SetOperationStmt *op, Path *path, List *tlist,
/* Identify the grouping semantics */
groupList = generate_setop_grouplist(op, tlist);
- /* punt if nothing to group on (can this happen?) */
+ /* punt if nothing to group on (not worth fixing in back branches) */
if (groupList == NIL)
- return path;
+ ereport(ERROR,
+ (errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
+ /* translator: %s is UNION, INTERSECT, or EXCEPT */
+ errmsg("%s over no columns is not supported", "UNION")));
/*
* XXX for the moment, take the number of distinct groups as equal to the