Re:

From: Max <xdmaxx(at)gmail(dot)com>
To:
Cc: pgsql-general(at)postgresql(dot)org
Subject: Re:
Date: 2006-08-15 16:46:18
Message-ID: B7436C72-BF76-496A-9247-E5245845017E@gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

Thx.
But I know how to write procedure and function, but my problem is to
know how to access the current row fields during a SELECT inside a
function:

So, in a function, can I write :

/* ... */ permission (/* ... */)
/* ... */
IF (ROW.perm_field1 = 1)
statement
IF (some_operation(ROW.perm_field2))
statement
/* ... */
RETURN TRUE or FALSE;
/* ... */

Or am I obligated to pass to my function the tablename and the id
field to execute a second query, then retrieving the row fields and
then computing permissions and then returning true or false ?

Thx for Help

Max

Le 15 août 06 à 18:27, Jeff Davis a écrit :

> On Tue, 2006-08-15 at 18:05 +0200, Max wrote:
>
>> Do you know if it is possible to write such things :
>>
>> SELECT * FROM tablename WHERE permission(some parameters) == TRUE;
>>
>> with the function 'permission' returning TRUE or FALSE after a check
>> on different perm_fields of the current row.
>
> Yes, you can do that. The best place to start is:
>
> http://www.postgresql.org/docs/8.1/static/plpgsql.html
>
> You want to create a pretty basic function that returns "boolean" and
> takes a few parameters. Note that SQL does not have the C-style "=="
> equality test. In SQL just write "= true". Better yet, since your
> function returns boolean just do "WHERE permission(...)" with "..."
> replaced by your parameters.
>
> If you have trouble after trying out some examples at that link, post
> back to the list with what you tried.
>
> Regards,
> Jeff Davis
>
>
>

In response to

  • Re: at 2006-08-15 16:27:57 from Jeff Davis

Responses

  • Re: at 2006-08-15 17:07:23 from Jeff Davis

Browse pgsql-general by date

  From Date Subject
Next Message Harpreet Dhaliwal 2006-08-15 16:48:55 Re: Connection string
Previous Message Thomas Kellerer 2006-08-15 16:38:34 Re: Unable to Start PostgreSQL 8.1.4 on Windows XP