current_database()
current_database()
От:
Rod Taylor <rbt@zort.ca>
Дата:
Quick system function to pull out the current database. I've used this a number of times to allow stored procedures to find out where they are. Especially useful for those that do logging or hit a remote server. It's called current_database() to match with current_user().
Re: current_database()
От:
Rod Taylor <rbt@zort.ca>
Дата:
On Tue, 2002-08-06 at 21:15, Rod Taylor wrote: > Quick system function to pull out the current database. > > I've used this a number of times to allow stored procedures to find out > where they are. Especially useful for those that do logging or hit a > remote server. > > It's called current_database() to match with current_user(). It's also a necessity for an informational schema. The catalog (database) name is required in a number of places.
Re: current_database()
От:
Rod Taylor <rbt@zort.ca>
Дата:
On Wed, 2002-08-07 at 00:10, Tom Lane wrote:
> Rod Taylor writes:
> > + Datum
> > + current_database(PG_FUNCTION_ARGS)
> > + {
> > + PG_RETURN_NAME(DatabaseName);
> > }
>
> DatabaseName is not actually a NAME, only a C string. You need a palloc
> and a namestrcpy in there.
Hmm.. Oops.
Re: current_database()
От:
Tom Lane <tgl@sss.pgh.pa.us>
Дата:
Rod Taylor writes:
> + Datum
> + current_database(PG_FUNCTION_ARGS)
> + {
> + PG_RETURN_NAME(DatabaseName);
> }
DatabaseName is not actually a NAME, only a C string. You need a palloc
and a namestrcpy in there.
regards, tom lane
Re: current_database()
От:
Tom Lane <tgl@sss.pgh.pa.us>
Дата:
Rod Taylor writes: >> DatabaseName is not actually a NAME, only a C string. You need a palloc >> and a namestrcpy in there. > Hmm.. Oops. That's better ... but we also need a patch to the SGML documentation (probably it belongs in misc/session information functions). regards, tom lane
Re: current_database()
От:
Bruce Momjian <pgman@candle.pha.pa.us>
Дата:
Your patch has been added to the PostgreSQL unapplied patches list at:
http://candle.pha.pa.us/cgi-bin/pgpatches
I will try to apply it within the next 48 hours.
---------------------------------------------------------------------------
Rod Taylor wrote:
> On Wed, 2002-08-07 at 00:10, Tom Lane wrote:
> > Rod Taylor writes:
> > > + Datum
> > > + current_database(PG_FUNCTION_ARGS)
> > > + {
> > > + PG_RETURN_NAME(DatabaseName);
> > > }
> >
> > DatabaseName is not actually a NAME, only a C string. You need a palloc
> > and a namestrcpy in there.
>
> Hmm.. Oops.
[ Attachment, skipping... ]
>
> ---------------------------(end of broadcast)---------------------------
> TIP 5: Have you checked our extensive FAQ?
>
> http://www.postgresql.org/users-lounge/docs/faq.html
--
Bruce Momjian | http://candle.pha.pa.us
pgman@candle.pha.pa.us | (610) 359-1001
+ If your life is a hard drive, | 13 Roberts Road
+ Christ can be your backup. | Newtown Square, Pennsylvania 19073
Re: current_database()
От:
Bruce Momjian <pgman@candle.pha.pa.us>
Дата:
Patch applied with docs. Thanks. --------------------------------------------------------------------------- Rod Taylor wrote: > On Tue, 2002-08-06 at 21:15, Rod Taylor wrote: > > Quick system function to pull out the current database. > > > > I've used this a number of times to allow stored procedures to find out > > where they are. Especially useful for those that do logging or hit a > > remote server. > > > > It's called current_database() to match with current_user(). > > It's also a necessity for an informational schema. The catalog > (database) name is required in a number of places. > > > ---------------------------(end of broadcast)--------------------------- > TIP 4: Don't 'kill -9' the postmaster > -- Bruce Momjian | http://candle.pha.pa.us pgman@candle.pha.pa.us | (610) 359-1001 + If your life is a hard drive, | 13 Roberts Road + Christ can be your backup. | Newtown Square, Pennsylvania 19073