Class SystemRequest
- java.lang.Object
-
- oracle.nosql.driver.ops.Request
-
- oracle.nosql.driver.ops.SystemRequest
-
public class SystemRequest extends Request
On-premise only.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 aSystemResultinstance 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 Constructor Description SystemRequest()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description char[]getStatement()Returns the statement, or null if not setStringgetTypeName()Returns the type name of the request.SystemRequestsetDefaults(NoSQLHandleConfig config)SystemRequestsetStatement(char[] statement)Sets the statement to use for the operation.SystemRequestsetTimeout(int timeoutMs)Sets the request timeout value, in milliseconds.StringtoString()voidvalidate()-
Methods inherited from class oracle.nosql.driver.ops.Request
getCompartment, getRateLimitDelayedMs, getReadRateLimiter, getRetryStats, getTableName, getWriteRateLimiter, setRateLimitDelayedMs, setReadRateLimiter, setWriteRateLimiter
-
-
-
-
Method Detail
-
getStatement
public char[] getStatement()
Returns the statement, or null if not set- Returns:
- the statement
-
setStatement
public SystemRequest setStatement(char[] statement)
Sets the statement to use for the operation. This parameter is required.- Parameters:
statement- the statement- Returns:
- this
-
setTimeout
public SystemRequest setTimeout(int timeoutMs)
Sets the request timeout value, in milliseconds. This overrides any default value set inNoSQLHandleConfig. 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
public SystemRequest setDefaults(NoSQLHandleConfig config)
-
validate
public void validate()
-
getTypeName
public String 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
-
-