Class SystemRequest

java.lang.Object
oracle.nosql.driver.ops.Request
oracle.nosql.driver.ops.SystemRequest

public class SystemRequest extends Request
On-premises 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 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.

See Also:
  • Constructor Details

    • SystemRequest

      public SystemRequest()
  • Method Details

    • 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 with NoSQLHandleConfig.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

      public SystemRequest setDefaults(NoSQLHandleConfig config)
    • validate

      public void validate()
    • getTypeName

      public String getTypeName()
      Description copied from class: Request
      Returns the type name of the request. This is used for stats.
      Specified by:
      getTypeName in class Request
      Returns:
      the type name of the request
    • toString

      public String toString()
      Overrides:
      toString in class Object