mirror of
https://github.com/FirebirdSQL/firebird.git
synced 2025-01-22 20:43:02 +01:00
Introduced new system privilege MODIFY_EXT_CONN_POOL to manage pool properties.
Update the documentation.
This commit is contained in:
parent
721edeeb5b
commit
da10e5045e
@ -555,6 +555,7 @@ USE_GRANTED_BY_CLAUSE Use GRANTED BY in GRANT and REVOKE operators
|
||||
GRANT_REVOKE_ON_ANY_OBJECT GRANT and REVOKE rights on any object in database
|
||||
GRANT_REVOKE_ANY_DDL_RIGHT GRANT and REVOKE any DDL rights
|
||||
CREATE_PRIVILEGED_ROLES Use SET SYSTEM PRIVILEGES in roles
|
||||
MODIFY_EXT_CONN_POOL Manage properties of pool of external connections
|
||||
|
||||
|
||||
22) New grantee type in GRANT and REVOKE operators - SYSTEM PRIVILEGE.
|
||||
|
@ -52,8 +52,12 @@ Pool management:
|
||||
|
||||
When prepared it desribed as DDL statement but have immediate effect: i.e.
|
||||
it is executed immediately and completely, not waiting for transaction commit.
|
||||
Changes applied to the in-memory instance of the pool in current Firebird
|
||||
process. Therefore change in one Classic process doesn't affect other Classic
|
||||
processes. Changes is not persistent and after restart Firebird will use pool
|
||||
settings at firebird.conf (see below).
|
||||
|
||||
"ALTER DATABASE" permission is required to run the statement.
|
||||
New system privilege "MODIFY_EXT_CONN_POOL" is required to run the statement.
|
||||
|
||||
The full syntax is:
|
||||
|
||||
@ -76,7 +80,7 @@ The full syntax is:
|
||||
Disassotiates all active connections off the pool (such connections will be
|
||||
closed immediately when gets unused).
|
||||
|
||||
- ALTER EXTERNAL CONNECTIONS POOL CLEAR OLD
|
||||
- ALTER EXTERNAL CONNECTIONS POOL CLEAR OLDEST
|
||||
Closes expired idle connections.
|
||||
|
||||
The state of external connections pool could be queried using new context
|
||||
|
@ -1155,7 +1155,9 @@ void AlterCharSetNode::execute(thread_db* tdbb, DsqlCompilerScratch* dsqlScratch
|
||||
|
||||
bool AlterEDSPoolSetNode::checkPermission(thread_db* tdbb, jrd_tra* transaction)
|
||||
{
|
||||
SCL_check_database(tdbb, SCL_alter); // TODO
|
||||
if (!tdbb->getAttachment()->locksmith(tdbb, MODIFY_EXT_CONN_POOL))
|
||||
status_exception::raise(Arg::Gds(isc_miss_prvlg) << "MODIFY_EXT_CONN_POOL");
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
@ -1190,7 +1192,9 @@ void AlterEDSPoolSetNode::execute(thread_db* tdbb, DsqlCompilerScratch* /*dsqlSc
|
||||
|
||||
bool AlterEDSPoolClearNode::checkPermission(thread_db* tdbb, jrd_tra* transaction)
|
||||
{
|
||||
SCL_check_database(tdbb, SCL_alter); // TODO
|
||||
if (!tdbb->getAttachment()->locksmith(tdbb, MODIFY_EXT_CONN_POOL))
|
||||
status_exception::raise(Arg::Gds(isc_miss_prvlg) << "MODIFY_EXT_CONN_POOL");
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
|
@ -63,6 +63,7 @@ SYSTEM_PRIVILEGE(GRANT_REVOKE_ON_ANY_OBJECT)
|
||||
SYSTEM_PRIVILEGE(GRANT_REVOKE_ANY_DDL_RIGHT)
|
||||
SYSTEM_PRIVILEGE(CREATE_PRIVILEGED_ROLES)
|
||||
SYSTEM_PRIVILEGE(GET_DBCRYPT_KEY_NAME)
|
||||
SYSTEM_PRIVILEGE(MODIFY_EXT_CONN_POOL)
|
||||
|
||||
#ifdef FB_JRD_SYSTEM_PRIVILEGES_TMP
|
||||
maxSystemPrivilege
|
||||
|
Loading…
Reference in New Issue
Block a user