WriteMultipleRequest

class borneo.WriteMultipleRequest[source]

Bases: borneo.operations.Request

Represents the input to a NoSQLHandle.write_multiple() operation.

This request can be used to perform a sequence of PutRequest or DeleteRequest operations associated with a table that share the same shard key portion of their primary keys, the WriteMultiple operation as whole is atomic. It is an efficient way to atomically modify multiple related rows.

On a successful operation WriteMultipleResult.get_success() returns True. The execution result of each operations can be retrieved using WriteMultipleResult.get_results().

If the WriteMultiple operation is aborted because of the failure of an operation with abort_if_unsuccessful set to True, then WriteMultipleResult.get_success() return False, the index of failed operation can be accessed using WriteMultipleResult.get_failed_operation_index(), and the execution result of failed operation can be accessed using WriteMultipleResult.get_failed_operation_result().

Methods Summary

add(request, abort_if_unsuccessful) Adds a Request to the operation list, do validation check before adding it.
clear() Removes all of the operations from the WriteMultiple request.
get_compartment() Cloud service only.
get_durability() On-premise only.
get_num_operations() Returns the number of Requests.
get_request(index) Returns the Request at the given position, it may be either a PutRequest or DeleteRequest object.
get_table_name() Returns the table name to use for the operation.
get_timeout() Returns the timeout to use for the operation, in milliseconds.
set_compartment(compartment) Cloud service only.
set_durability(durability) On-premise only.
set_timeout(timeout_ms) Sets the request timeout value, in milliseconds.

Methods Documentation

add(request, abort_if_unsuccessful)[source]

Adds a Request to the operation list, do validation check before adding it.

Parameters:
  • request (Request) – the Request to add, either PutRequest or DeleteRequest.
  • abort_if_unsuccessful (bool) – True if this operation should cause the entire WriteMultiple operation to abort when this operation fails.
Returns:

self.

Raises:
clear()[source]

Removes all of the operations from the WriteMultiple request.

get_compartment()

Cloud service only.

Get the compartment id or name if set for the request.

Returns:compartment id or name if set for the request, otherwise None if not set.
Return type:str
get_durability()[source]

On-premise only. Gets the durability to use for the operation or None if not set :returns: the Durability :versionadded: 5.3.0

get_num_operations()[source]

Returns the number of Requests.

Returns:the number of Requests.
Return type:int
get_request(index)[source]

Returns the Request at the given position, it may be either a PutRequest or DeleteRequest object.

Parameters:

index (int) – the position of Request to get.

Returns:

the Request at the given position.

Return type:

Request

Raises:
  • IndexOutOfBoundsException – raises the exception if the position is negative or greater or equal to the number of Requests.
  • IllegalArgumentException – raises the exception if index is a negative number.
get_table_name()

Returns the table name to use for the operation.

Returns:the table name, or None if not set.
Returns:str
get_timeout()[source]

Returns the timeout to use for the operation, in milliseconds. A value of 0 indicates that the timeout has not been set.

Returns:the timeout value.
Return type:int
set_compartment(compartment)[source]

Cloud service only.

Sets the name or id of a compartment to be used for this operation.

The compartment may be specified as either a name (or path for nested compartments) or as an id (OCID). A name (vs id) can only be used when authenticated using a specific user identity. It is not available if authenticated as an Instance Principal which can be done when calling the service from a compute instance in the Oracle Cloud Infrastructure. See borneo.iam.SignatureProvider.create_with_instance_principal().

Parameters:compartment (str) – the compartment name or id. If using a nested compartment, specify the full compartment path compartmentA.compartmentB, but exclude the name of the root compartment (tenant).
Returns:self.
Raises:IllegalArgumentException – raises the exception if compartment is not a str.
set_durability(durability)[source]

On-premise only. Sets the durability to use for the operation.

Parameters:durability (Durability) – the Durability to use
Returns:self.
Raises:IllegalArgumentException – raises the exception if Durability is not valid
Versionadded:5.3.0
set_timeout(timeout_ms)[source]

Sets the request timeout value, in milliseconds. This overrides any default value set in NoSQLHandleConfig. The value must be positive.

Parameters:timeout_ms (int) – the timeout value, in milliseconds.
Returns:self.
Raises:IllegalArgumentException – raises the exception if the timeout value is less than or equal to 0.