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_ON_ANY_OBJECT GRANT and REVOKE rights on any object in database
|
||||||
GRANT_REVOKE_ANY_DDL_RIGHT GRANT and REVOKE any DDL rights
|
GRANT_REVOKE_ANY_DDL_RIGHT GRANT and REVOKE any DDL rights
|
||||||
CREATE_PRIVILEGED_ROLES Use SET SYSTEM PRIVILEGES in roles
|
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.
|
22) New grantee type in GRANT and REVOKE operators - SYSTEM PRIVILEGE.
|
||||||
|
@ -51,9 +51,13 @@ Pool management:
|
|||||||
ALTER EXTERNAL CONNECTIONS POOL.
|
ALTER EXTERNAL CONNECTIONS POOL.
|
||||||
|
|
||||||
When prepared it desribed as DDL statement but have immediate effect: i.e.
|
When prepared it desribed as DDL statement but have immediate effect: i.e.
|
||||||
it is executed immediately and completely, not waiting for transaction commit.
|
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:
|
The full syntax is:
|
||||||
|
|
||||||
@ -76,7 +80,7 @@ The full syntax is:
|
|||||||
Disassotiates all active connections off the pool (such connections will be
|
Disassotiates all active connections off the pool (such connections will be
|
||||||
closed immediately when gets unused).
|
closed immediately when gets unused).
|
||||||
|
|
||||||
- ALTER EXTERNAL CONNECTIONS POOL CLEAR OLD
|
- ALTER EXTERNAL CONNECTIONS POOL CLEAR OLDEST
|
||||||
Closes expired idle connections.
|
Closes expired idle connections.
|
||||||
|
|
||||||
The state of external connections pool could be queried using new context
|
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)
|
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;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1190,7 +1192,9 @@ void AlterEDSPoolSetNode::execute(thread_db* tdbb, DsqlCompilerScratch* /*dsqlSc
|
|||||||
|
|
||||||
bool AlterEDSPoolClearNode::checkPermission(thread_db* tdbb, jrd_tra* transaction)
|
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;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -63,6 +63,7 @@ SYSTEM_PRIVILEGE(GRANT_REVOKE_ON_ANY_OBJECT)
|
|||||||
SYSTEM_PRIVILEGE(GRANT_REVOKE_ANY_DDL_RIGHT)
|
SYSTEM_PRIVILEGE(GRANT_REVOKE_ANY_DDL_RIGHT)
|
||||||
SYSTEM_PRIVILEGE(CREATE_PRIVILEGED_ROLES)
|
SYSTEM_PRIVILEGE(CREATE_PRIVILEGED_ROLES)
|
||||||
SYSTEM_PRIVILEGE(GET_DBCRYPT_KEY_NAME)
|
SYSTEM_PRIVILEGE(GET_DBCRYPT_KEY_NAME)
|
||||||
|
SYSTEM_PRIVILEGE(MODIFY_EXT_CONN_POOL)
|
||||||
|
|
||||||
#ifdef FB_JRD_SYSTEM_PRIVILEGES_TMP
|
#ifdef FB_JRD_SYSTEM_PRIVILEGES_TMP
|
||||||
maxSystemPrivilege
|
maxSystemPrivilege
|
||||||
|
Loading…
Reference in New Issue
Block a user