current_database()
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().
Attachments:
current_database.patchtext/x-patch; charset=ISO-8859-1; name=current_database.patchDownload+11-0
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.
Rod Taylor <rbt@zort.ca> 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
On Wed, 2002-08-07 at 00:10, Tom Lane wrote:
Rod Taylor <rbt@zort.ca> 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.
Attachments:
current_database.patchtext/plain; charset=ISO-8859-1; name=current_database.patchDownload+21-0
Rod Taylor <rbt@zort.ca> 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
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 <rbt@zort.ca> 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?
--
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
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