aboutsummaryrefslogtreecommitdiff
path: root/src/backend/parser/gram.y
diff options
context:
space:
mode:
Diffstat (limited to 'src/backend/parser/gram.y')
-rw-r--r--src/backend/parser/gram.y17
1 files changed, 3 insertions, 14 deletions
diff --git a/src/backend/parser/gram.y b/src/backend/parser/gram.y
index 40751ca8a7c..0ba01fe14c1 100644
--- a/src/backend/parser/gram.y
+++ b/src/backend/parser/gram.y
@@ -10,7 +10,7 @@
*
*
* IDENTIFICATION
- * $Header: /cvsroot/pgsql/src/backend/parser/gram.y,v 2.48 1999/01/22 19:35:54 momjian Exp $
+ * $Header: /cvsroot/pgsql/src/backend/parser/gram.y,v 2.49 1999/01/25 12:01:13 vadim Exp $
*
* HISTORY
* AUTHOR DATE MAJOR EVENT
@@ -2798,19 +2798,8 @@ SelectStmt: select_w_o_sort sort_clause for_update_clause
first_select->forUpdate = $3;
$$ = (Node *)first_select;
}
- if (((SelectStmt *)$$)->forUpdate != NULL)
- {
- SelectStmt *n = (SelectStmt *)$$;
-
- if (n->unionClause != NULL)
- elog(ERROR, "SELECT FOR UPDATE is not allowed with UNION/INTERSECT/EXCEPT clause");
- if (n->unique != NULL)
- elog(ERROR, "SELECT FOR UPDATE is not allowed with DISTINCT clause");
- if (n->groupClause != NULL)
- elog(ERROR, "SELECT FOR UPDATE is not allowed with GROUP BY clause");
- if (n->havingClause != NULL)
- elog(ERROR, "SELECT FOR UPDATE is not allowed with HAVING clause");
- }
+ if (((SelectStmt *)$$)->forUpdate != NULL && QueryIsRule)
+ elog(ERROR, "SELECT FOR UPDATE is not allowed in RULES");
}
;