Permissions were not checked correctly when one view invokes another.
authorTom Lane <[email protected]>
Thu, 3 May 2001 17:47:49 +0000 (17:47 +0000)
committerTom Lane <[email protected]>
Thu, 3 May 2001 17:47:49 +0000 (17:47 +0000)
Per bug report from Lieven Van Acker, 5/2/01.

src/backend/rewrite/rewriteHandler.c

index dc84aa7d7cd9ffaff7fbbf577b4ee7bdd70353c2..bbbad59005d29797b4e0aaefae97491cc410e874 100644 (file)
@@ -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?