RE: [HACKERS] for row in select loop question - Mailing list pgsql-hackers

From Michael Davis
Subject RE: [HACKERS] for row in select loop question
Date
Msg-id 93C04F1F5173D211A27900105AA8FCFC145236@lambic.prevuenet.com
Whole thread Raw
List pgsql-hackers
Thanks.  Declaring row as a record did the trick.  I have a lot of tables
and I am looking to more deeply understand the PostgreSQL security module.  
-----Original Message-----From:    jwieck@debis.com [SMTP:jwieck@debis.com]Sent:    Friday, March 05, 1999 3:00 AMTo:
Michael DavisCc:    hackers@postgreSQL.orgSubject:    Re: [HACKERS] for row in select loop question
 
>> The following function does not work:>> CREATE FUNCTION InstallPermissions(varchar, varchar) RETURNS int2
AS '>    DECLARE>         options ALIAS FOR $1;>         username ALIAS FOR $2;> BEGIN>    FOR row IN select * from
pg_tablesLOOP>           REVOKE ALL ON row.tablename FROM username;>           GRANT options on row.tablename TO
username;>   END LOOP;>    return 0;>  END; ' LANGUAGE 'plpgsql';>> "select InstallPermissions('test1', 'test2);"
returnsan error at
 
"select".> Any suggestions on how to eliminate the error?
    First you forgot to declare 'row'. Could be type record.
    Second  REVOKE and GRANT are utility statements not supported    for prepared SPI plans and  thus  PL/pgSQL
currently cannot    execute them.
 

Jan
--

#======================================================================## It's easier to get forgiveness for being
wrongthan for being
 
right. ## Let's break this rule - forgive me.
##======================================== jwieck@debis.com (Jan
Wieck) #


pgsql-hackers by date:

Previous
From: Terry Mackintosh
Date:
Subject: Regression differences on Red Hat 5.2
Next
From: Oleg Broytmann
Date:
Subject: Greek locale