mirror of
https://github.com/FirebirdSQL/firebird.git
synced 2025-01-23 02:03:04 +01:00
Implement #7818 : Extend rdb$get_context('SYSTEM', '***') with other info from MON$ATTACHMENT
This commit is contained in:
parent
3bd7400f37
commit
248f11525a
@ -70,10 +70,14 @@ Usage:
|
||||
CLIENT_HOST | The wire protocol host name of remote client. Value is
|
||||
| returned for all supported protocols.
|
||||
|
|
||||
CLIENT_OS_USER | Remote OS user name
|
||||
|
|
||||
CLIENT_PID | Process ID of remote client application
|
||||
|
|
||||
CLIENT_PROCESS | Process name of remote client application
|
||||
|
|
||||
CLIENT_VERSION | Version of the client library used by client application
|
||||
|
|
||||
DB_NAME | Canonical name of current database. It is either alias
|
||||
| name if connectivity via file names is not allowed or
|
||||
| fully expanded database file name otherwise.
|
||||
|
@ -379,8 +379,10 @@ const char
|
||||
WIRE_CRYPT_PLUGIN_NAME[] = "WIRE_CRYPT_PLUGIN",
|
||||
CLIENT_ADDRESS_NAME[] = "CLIENT_ADDRESS",
|
||||
CLIENT_HOST_NAME[] = "CLIENT_HOST",
|
||||
CLIENT_OS_USER_NAME[] = "CLIENT_OS_USER",
|
||||
CLIENT_PID_NAME[] = "CLIENT_PID",
|
||||
CLIENT_PROCESS_NAME[] = "CLIENT_PROCESS",
|
||||
CLIENT_VERSION_NAME[] = "CLIENT_VERSION",
|
||||
CURRENT_USER_NAME[] = "CURRENT_USER",
|
||||
CURRENT_ROLE_NAME[] = "CURRENT_ROLE",
|
||||
SESSION_IDLE_TIMEOUT[] = "SESSION_IDLE_TIMEOUT",
|
||||
@ -4564,6 +4566,13 @@ dsc* evlGetContext(thread_db* tdbb, const SysFunction*, const NestValueArray& ar
|
||||
|
||||
resultStr = attachment->att_remote_host;
|
||||
}
|
||||
else if (nameStr == CLIENT_OS_USER_NAME)
|
||||
{
|
||||
if (attachment->att_remote_os_user.isEmpty())
|
||||
return NULL;
|
||||
|
||||
resultStr = attachment->att_remote_os_user;
|
||||
}
|
||||
else if (nameStr == CLIENT_PID_NAME)
|
||||
{
|
||||
if (!attachment->att_remote_pid)
|
||||
@ -4578,6 +4587,13 @@ dsc* evlGetContext(thread_db* tdbb, const SysFunction*, const NestValueArray& ar
|
||||
|
||||
resultStr = attachment->att_remote_process.ToString();
|
||||
}
|
||||
else if (nameStr == CLIENT_VERSION_NAME)
|
||||
{
|
||||
if (attachment->att_client_version.isEmpty())
|
||||
return NULL;
|
||||
|
||||
resultStr = attachment->att_client_version.ToString();
|
||||
}
|
||||
else if (nameStr == CURRENT_USER_NAME)
|
||||
{
|
||||
const MetaString& user = attachment->getUserName();
|
||||
|
Loading…
Reference in New Issue
Block a user