From f2122d092ffa78c0d5e9415dc576f28def610dcb Mon Sep 17 00:00:00 2001
From: Tom Lane <tgl@sss.pgh.pa.us>
Date: Thu, 3 May 2001 17:47:49 +0000
Subject: [PATCH] Permissions were not checked correctly when one view invokes
 another. Per bug report from Lieven Van Acker, 5/2/01.

---
 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 9bc112de200..2787b9ce553 100644
--- a/src/backend/rewrite/rewriteHandler.c
+++ b/src/backend/rewrite/rewriteHandler.c
@@ -7,7 +7,7 @@
  *
  *
  * IDENTIFICATION
- *	  $Header: /cvsroot/pgsql/src/backend/rewrite/rewriteHandler.c,v 1.92 2001/04/17 00:32:58 tgl Exp $
+ *	  $Header: /cvsroot/pgsql/src/backend/rewrite/rewriteHandler.c,v 1.93 2001/05/03 17:47:49 tgl Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -309,9 +309,11 @@ ApplyRetrieveRule(Query *parsetree,
 	Assert(subrte->relid == relation->rd_id);
 	subrte->checkForRead = rte->checkForRead;
 	subrte->checkForWrite = rte->checkForWrite;
+	subrte->checkAsUser = rte->checkAsUser;
 
 	rte->checkForRead = false;	/* no permission check on subquery itself */
 	rte->checkForWrite = false;
+	rte->checkAsUser = InvalidOid;
 
 	/*
 	 * FOR UPDATE of view?
-- 
GitLab