From: | Thomas Hallgren <thhal(at)mailblocks(dot)com> |
---|---|
To: | Bruce Momjian <pgman(at)candle(dot)pha(dot)pa(dot)us> |
Cc: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, rmm(at)sqlisor(dot)com, pgsql-hackers(at)postgresql(dot)org |
Subject: | Re: Oracle Style packages on postgres |
Date: | 2005-05-10 08:29:18 |
Message-ID: | thhal-0ZQlcAw+dyic5y5fSB5ODlILrQhM2lI@mailblocks.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
Bruce Momjian wrote:
> Josh Berkus wrote:
>
>>I think that private variables and private functions need to be part of the
>>definition.
>
>
> OK, so it seems we need:
>
> C static/private functions for schemas
> C static/private variables for schemas
>
> Are private variables implemented via the temporary per-session schema?
>
> nested schemas
>
> What does the standard say?
>
The standard says that rather then using nested schemas or packages in
conjunction with functions in order to group functions with data, use
user defined types with attributes and methods. Methods can be STATIC,
INSTANCE or CONSTRUCTOR.
AFAICS there's nothing in the standard that alters the visibility of
methods and attributes, so "private" is not covered (and don't recall
that Oracle has that kind of visibility control either). Normal access
restrictions apply of course.
I can't find any mention of schema variables. I think all life-cycle
management of data is reduced to table storage. And why not? A temporary
table can be viewed as session data right?
Using a KISS approach, the easiest thing to do that also would bring us
closer to the standard, is to extend the notion of user defined types to
include methods and conclude that storing session data in other ways
than using temporary tables should be PL specific.
Regards,
Thomas Hallgren
From | Date | Subject | |
---|---|---|---|
Next Message | Adrian Maier | 2005-05-10 09:01:54 | Re: Oracle Style packages on postgres |
Previous Message | Magnus Hagander | 2005-05-10 08:18:55 | Re: Case insensitive usernames |