diff options
author | Bruce Momjian <bruce@momjian.us> | 2002-08-20 04:46:00 +0000 |
---|---|---|
committer | Bruce Momjian <bruce@momjian.us> | 2002-08-20 04:46:00 +0000 |
commit | de9801fc62ba9ed905c2f20686459a206d453453 (patch) | |
tree | e6ed5e64ba97e2156230373abb038af9138149be /src/backend/utils/adt/misc.c | |
parent | f736fdb0222ded716bd4f0cdddc06158773d9bc1 (diff) | |
download | postgresql-de9801fc62ba9ed905c2f20686459a206d453453.tar.gz postgresql-de9801fc62ba9ed905c2f20686459a206d453453.zip |
Add 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().
It's also a necessity for an informational schema. The catalog
(database) name is required in a number of places.
Rod Taylor
Diffstat (limited to 'src/backend/utils/adt/misc.c')
-rw-r--r-- | src/backend/utils/adt/misc.c | 19 |
1 files changed, 18 insertions, 1 deletions
diff --git a/src/backend/utils/adt/misc.c b/src/backend/utils/adt/misc.c index 57640ef08d0..24eb6821843 100644 --- a/src/backend/utils/adt/misc.c +++ b/src/backend/utils/adt/misc.c @@ -8,7 +8,7 @@ * * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/backend/utils/adt/misc.c,v 1.24 2002/06/20 20:29:37 momjian Exp $ + * $Header: /cvsroot/pgsql/src/backend/utils/adt/misc.c,v 1.25 2002/08/20 04:45:59 momjian Exp $ * *------------------------------------------------------------------------- */ @@ -17,6 +17,7 @@ #include <time.h> #include "postgres.h" +#include "miscadmin.h" #include "utils/builtins.h" @@ -111,3 +112,19 @@ userfntest(PG_FUNCTION_ARGS) PG_RETURN_INT32(i); } + +/* + * current_database() + * Expose the current database to the user + */ +Datum +current_database(PG_FUNCTION_ARGS) +{ + Name db; + + db = (Name) palloc(NAMEDATALEN); + + namestrcpy(db, DatabaseName); + + PG_RETURN_NAME(db); +} |