SystemResult

class borneo.SystemResult[source]

Bases: Result

On-premise only.

SystemResult is returned from NoSQLHandle.system_status() and NoSQLHandle.system_request() operations. It encapsulates the state of the operation requested.

Some operations performed by NoSQLHandle.system_request() are asynchronous. When such an operation has been performed it is necessary to call NoSQLHandle.system_status() until the status of the operation is known. The method wait_for_completion() exists to perform this task and should be used whenever possible.

Asynchronous operations (e.g. create namespace) can be distinguished from synchronous system operations in this way:

Asynchronous operations may return a non-none operation id.

Asynchronous operations modify state, while synchronous operations are read-only.

Synchronous operations return a state of STATE.COMPLETE and have a non-none result string.

NoSQLHandle.system_status() is synchronous, returning the known state of the operation. It should only be called if the operation was asynchronous and returned a non-none operation id.

Methods Summary

get_operation_id()

Returns the operation id for the operation if it was asynchronous.

get_operation_state()

Returns the operation state.

get_result_string()

Returns the result string for the operation.

get_statement()

Returns the statement used for the operation.

wait_for_completion(handle, wait_millis, ...)

Waits for the operation to be complete.

Methods Documentation

get_operation_id()[source]

Returns the operation id for the operation if it was asynchronous. This is None if the request did not generate a new operation and/or the operation state is SystemState.COMPLETE. The value can be used in SystemStatusRequest.set_operation_id() to get status and find potential errors resulting from the operation.

This method is only useful for the result of asynchronous operations.

Returns:

the operation id.

Return type:

str

get_operation_state()[source]

Returns the operation state.

Returns:

the state.

Return type:

int

get_result_string()[source]

Returns the result string for the operation. This is None if the request was asynchronous or did not return an actual result. For example the “show” operations return a non-none result string, but “create, drop, grant, etc.” operations return a none result string.

Returns:

the result string.

Return type:

str

get_statement()[source]

Returns the statement used for the operation.

Returns:

the statement.

Return type:

str

wait_for_completion(handle, wait_millis, delay_millis)[source]

Waits for the operation to be complete. This is a blocking, polling style wait that delays for the specified number of milliseconds between each polling operation.

This instance is modified with any changes in state.

Parameters:
  • handle (NoSQLHandle) – the NoSQLHandle to use. This is required.

  • wait_millis (int) – the total amount of time to wait, in milliseconds. This value must be non-zero and greater than delay_millis. This is required.

  • delay_millis (int) – the amount of time to wait between polling attempts, in milliseconds. If 0 it will default to 500. This is required.

Raises:

IllegalArgumentException – raises the exception if the operation times out or the parameters are not valid.