From e5a8da02c2764e31423cb5303d05ceac6e186c32 Mon Sep 17 00:00:00 2001 From: Bruce Momjian <bruce@momjian.us> Date: Fri, 2 Oct 1998 21:53:39 +0000 Subject: [PATCH] Please apply the patch at the end. Disables use of system columns of views at all (not only oid, cmin etc. too). pgsql=> select cmin from pg_rules; ERROR: system column cmin not available - pg_rules is a view pgsql=> select * from pg_rules where pg_rules.oid = pg_class.oid; ERROR: system column oid not available - pg_rules is a view pgsql=> Jan --- src/backend/rewrite/rewriteHandler.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/backend/rewrite/rewriteHandler.c b/src/backend/rewrite/rewriteHandler.c index 0bbeeb0c51b..a59105047cd 100644 --- a/src/backend/rewrite/rewriteHandler.c +++ b/src/backend/rewrite/rewriteHandler.c @@ -6,7 +6,7 @@ * * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/backend/rewrite/rewriteHandler.c,v 1.22 1998/10/02 16:27:47 momjian Exp $ + * $Header: /cvsroot/pgsql/src/backend/rewrite/rewriteHandler.c,v 1.23 1998/10/02 21:53:39 momjian Exp $ * *------------------------------------------------------------------------- */ @@ -1777,6 +1777,8 @@ apply_RIR_view(Node **nodePtr, int rt_index, RangeTblEntry *rte, List *tlist, in var->varno == rt_index) { Node *exp; + if (var->varattno < 0) + elog(ERROR, "system column %s not available - %s is a view", get_attname(rte->relid, var->varattno), rte->relname); exp = FindMatchingTLEntry( tlist, get_attname(rte->relid, -- GitLab