Обсуждение: Getting environment variables?

Поиск
Список
Период
Сортировка

Getting environment variables?

От
mpg4@duluoz.net
Дата:
All-
  I'd like to be able to create a view like this:
    create view my_view as select * from real_table where check_cred(row.id)

where check_cred(row.id) is a function that checks for some externally
available credential or 'ticket' and only shows the rows in the table
that the id is allowed to see.  Basically, I want to create 'virtual
users' inside of my database without creating a separate view for each
user.  My problem is getting check_cred() to see the 'ticket' without
having it passed in with the query.
  Environment variables won't workas the backend executes the query,
and doesn't have my environment.  Some client/server thing would work,
I suppose, but I don't really want to code one if it can be avoided.
Is there an easier solution?

Also, is there a repository for user-created postgresql
types/functions anywhere?  Some of the things I'm doing have to have
been done already, and done better.

Thanks,

-mike

-- 

And though the holes were rather small
They had to count them all
Now they know how many holes it takes to fill the Albert Hall
*I'd love to turn you on*
 -- Beatles, "A Day in the Life"

GnuPG key available at http://devel.duluoz.net/pubkey.asc
Key ID = 1024D/9A256AE5 1999-11-13 Mike Glover <mpg4@duluoz.net>
Key fingerprint = EF6E 8BCB 4810 E98C F0FD  4596 367A 32B7 9A25 6AE5



Re: [SQL] Getting environment variables?

От
Peter Eisentraut
Дата:
On 2000-01-12, mpg4@duluoz.net mentioned:

>    I'd like to be able to create a view like this:
> 
>      create view my_view as select * from real_table where check_cred(row.id)
> 
> where check_cred(row.id) is a function that checks for some externally
> available credential or 'ticket' and only shows the rows in the table
> that the id is allowed to see.  Basically, I want to create 'virtual
> users' inside of my database without creating a separate view for each
> user.  My problem is getting check_cred() to see the 'ticket' without
> having it passed in with the query.

I don't see this working out. Somehow you'd have to get the information on
the server host, there's no official way to abuse the PostgreSQL
connection for other purposes.

> 
>    Environment variables won't workas the backend executes the query,
> and doesn't have my environment.  Some client/server thing would work,
> I suppose, but I don't really want to code one if it can be avoided.
> Is there an easier solution?
> 
> Also, is there a repository for user-created postgresql
> types/functions anywhere?  Some of the things I'm doing have to have
> been done already, and done better.
> 
> Thanks,
> 
> -mike
> 
> 

-- 
Peter Eisentraut                  Sernanders väg 10:115
peter_e@gmx.net                   75262 Uppsala
http://yi.org/peter-e/            Sweden