Re: namespaces
On Sat, 20 Oct 2001, Serguei Mokhov wrote:
It means that when you want to use one of the built in functions
(date_part, abs, floor, sqrt etc.) you don't have to prefix it with
"standard.". You can just say date_part(), abs(), floor(), sqrt(), etc.
The only time you need to prefix a call with "standard." is if you want to
exclude any so-named routines in your own package.Quick question: would it be possible then create a 'system' package
and 'system' (or 'master' if you will) schema (when it's implemented),
move over all the system tables (pg_*) into the master schema
and functions into the 'system' package, so that no name conflicts will arise
when creating types, functions, tables, etc with the same names as system ones?
Yes. That is part of my plan actually. :-)
In the patch I sent in last week, all of the built-in functions and
aggregates are in the "standard" package, and you can infact reference
them as standard.foo.
Moving types, operators, and relations (and whatever else should go there)
into "master" was part of my plan for schemas.
Take care,
Bill
Import Notes
Reply to msg id not found: 03a701c15985694904c05dd9fea9@gunn
----- Original Message -----
From: Bill Studenmund <wrstuden@netbsd.org>
Sent: Friday, October 19, 2001 2:04 PM
It means that when you want to use one of the built in functions
(date_part, abs, floor, sqrt etc.) you don't have to prefix it with
"standard.". You can just say date_part(), abs(), floor(), sqrt(), etc.
The only time you need to prefix a call with "standard." is if you want to
exclude any so-named routines in your own package.Quick question: would it be possible then create a 'system' package
and 'system' (or 'master' if you will) schema (when it's implemented),
move over all the system tables (pg_*) into the master schema
and functions into the 'system' package, so that no name conflicts will arise
when creating types, functions, tables, etc with the same names as system ones?Yes. That is part of my plan actually. :-)
Hmm. I see. Then there won't be a problem of creating any DB object
with the system name.
In the patch I sent in last week,
Yeah, I remember that one. Took me a couple of minutes
to download. You know, it never hurts to compress things:
then the patch would be ~10 times less in size, and you wouldn't
have to worry about PINE messing up with your code in the message body... :)
And that would reduce the bounce rate too.
Just a kind and gentle cry to reduce the size of patches sent to
my mailbox and save some bandwidth on the way :)
all of the built-in functions and
aggregates are in the "standard" package, and you can infact reference
them as standard.foo.
When you refer to it just foo(), and you have foo() defined
in more than one package, how do you resolve this? Do you also have
a notion of a global package and sub-packages?
--
Serguei