Class SystemRequest
SystemRequest is an on-premise-only request used to perform any table-independent administrative operation such as create/drop of namespaces and security-relevant operations (create/drop users and roles). These operations are asynchronous and completion needs to be checked.
Examples of statements used in this object include:
- CREATE NAMESPACE mynamespace
- CREATE USER some_user IDENTIFIED BY password
- CREATE ROLE some_role
- GRANT ROLE some_role TO USER some_user
Execution of operations specified by this request is implicitly asynchronous.
These are potentially long-running operations.
NoSQLHandle.systemRequest(oracle.nosql.driver.ops.SystemRequest) returns a SystemResult instance that
can be used to poll until the operation succeeds or fails.
The statements are passed as char[] because some statements will include passwords and using an array allows the memory to be cleared to avoid keeping sensitive information in memory.
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionchar[]Returns the statement, or null if not setReturns the type name of the request.setDefaults(NoSQLHandleConfig config) setStatement(char[] statement) Sets the statement to use for the operation.setTimeout(int timeoutMs) Sets the request timeout value, in milliseconds.toString()voidvalidate()Methods inherited from class oracle.nosql.driver.ops.Request
getCompartment, getNamespace, getRateLimitDelayedMs, getReadRateLimiter, getRetryStats, getTableName, getWriteRateLimiter, setReadRateLimiter, setWriteRateLimiter
-
Constructor Details
-
SystemRequest
public SystemRequest()
-
-
Method Details
-
getStatement
public char[] getStatement()Returns the statement, or null if not set- Returns:
- the statement
-
setStatement
Sets the statement to use for the operation. This parameter is required.- Parameters:
statement- the statement- Returns:
- this
-
setTimeout
Sets the request timeout value, in milliseconds. This overrides any default value set withNoSQLHandleConfig.setRequestTimeout(int). The value must be positive.- Parameters:
timeoutMs- the timeout value, in milliseconds- Returns:
- this
- Throws:
IllegalArgumentException- if the timeout value is less than or equal to 0
-
setDefaults
-
validate
public void validate() -
getTypeName
Description copied from class:RequestReturns the type name of the request. This is used for stats.- Specified by:
getTypeNamein classRequest- Returns:
- the type name of the request
-
toString
-