aboutsummaryrefslogtreecommitdiff
path: root/src/backend/utils/adt/misc.c
diff options
context:
space:
mode:
authorBruce Momjian <bruce@momjian.us>2002-08-20 04:46:00 +0000
committerBruce Momjian <bruce@momjian.us>2002-08-20 04:46:00 +0000
commitde9801fc62ba9ed905c2f20686459a206d453453 (patch)
treee6ed5e64ba97e2156230373abb038af9138149be /src/backend/utils/adt/misc.c
parentf736fdb0222ded716bd4f0cdddc06158773d9bc1 (diff)
downloadpostgresql-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.c19
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);
+}