pub struct SystemRequest { /* private fields */ }
Expand description
Struct used for on-premise-only requests.
This is 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 are implicitly asynchronous.
These are potentially long-running operations.
SystemRequest::execute()
returns a SystemResult
instance that
can be used to poll until the operation succeeds or fails.
Implementations§
Source§impl SystemRequest
impl SystemRequest
Sourcepub fn new(statement: &str) -> SystemRequest
pub fn new(statement: &str) -> SystemRequest
Create a new SystemRequest. statement
must be non-empty.
Sourcepub fn timeout(self, t: &Duration) -> Self
pub fn timeout(self, t: &Duration) -> Self
Specify the timeout value for the request.
This is optional.
If set, it must be greater than or equal to 1 millisecond, otherwise an
IllegalArgument error will be returned.
If not set, the default timeout value configured for the Handle
is used.
Sourcepub async fn execute(&self, h: &Handle) -> Result<SystemResult, NoSQLError>
pub async fn execute(&self, h: &Handle) -> Result<SystemResult, NoSQLError>
Execute the system request.
This starts the asynchronous execution of the request in the system. The returned result should be
used to wait for completion by calling SystemResult::wait_for_completion()
.