diff options
author | Peter Eisentraut <peter_e@gmx.net> | 2000-09-19 18:18:04 +0000 |
---|---|---|
committer | Peter Eisentraut <peter_e@gmx.net> | 2000-09-19 18:18:04 +0000 |
commit | 457ac0331cd3e28ecc5d783e7504645837c41a1d (patch) | |
tree | ba4676d77b28de759955919a8dc14303fb7330bc /src/backend/utils/adt/name.c | |
parent | e9c3f0255fb54600e1c03533cc2e72d78928634d (diff) |
Implement differentiation between CURRENT_USER and SESSION_USER as per SQL.
There is still no effective difference but it will kick in once setuid
functions exist (not included here). Make old getpgusername() alias for
current_user.
Diffstat (limited to 'src/backend/utils/adt/name.c')
-rw-r--r-- | src/backend/utils/adt/name.c | 24 |
1 files changed, 16 insertions, 8 deletions
diff --git a/src/backend/utils/adt/name.c b/src/backend/utils/adt/name.c index 3acf40e0d43..edc14303d42 100644 --- a/src/backend/utils/adt/name.c +++ b/src/backend/utils/adt/name.c @@ -12,7 +12,7 @@ * * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/backend/utils/adt/name.c,v 1.29 2000/08/03 16:34:22 tgl Exp $ + * $Header: /cvsroot/pgsql/src/backend/utils/adt/name.c,v 1.30 2000/09/19 18:17:56 petere Exp $ * *------------------------------------------------------------------------- */ @@ -136,13 +136,6 @@ namege(PG_FUNCTION_ARGS) PG_RETURN_BOOL(strncmp(NameStr(*arg1), NameStr(*arg2), NAMEDATALEN) >= 0); } -/* SQL-function interface to GetPgUserName() */ -Datum -getpgusername(PG_FUNCTION_ARGS) -{ - PG_RETURN_DATUM(DirectFunctionCall1(namein, - CStringGetDatum(GetPgUserName()))); -} /* (see char.c for comparison/operation routines) */ @@ -218,6 +211,21 @@ namestrcmp(Name name, const char *str) return strncmp(NameStr(*name), str, NAMEDATALEN); } + +/* SQL-functions CURRENT_USER and SESSION_USER */ +Datum +current_user(PG_FUNCTION_ARGS) +{ + PG_RETURN_DATUM(DirectFunctionCall1(namein, CStringGetDatum(GetUserName(GetUserId())))); +} + +Datum +session_user(PG_FUNCTION_ARGS) +{ + PG_RETURN_DATUM(DirectFunctionCall1(namein, CStringGetDatum(GetUserName(GetSessionUserId())))); +} + + /***************************************************************************** * PRIVATE ROUTINES * *****************************************************************************/ |