MultiDeleteRequest

class borneo.MultiDeleteRequest[source]

Bases: borneo.operations.Request

Represents the input to a NoSQLHandle.multi_delete() operation which can be used to delete a range of values that match the primary key and range provided.

A range is specified using a partial key plus a range based on the portion of the key that is not provided. For example if a table’s primary key is <id, timestamp>; and the its shard key is the id, it is possible to delete a range of timestamp values for a specific id by providing an id but no timestamp in the value used for set_key() and providing a range of timestamp values in the FieldRange used in set_range().

Because this operation can exceed the maximum amount of data modified in a single operation a continuation key can be used to continue the operation. The continuation key is obtained from MultiDeleteResult.get_continuation_key() and set in a new request using set_continuation_key(). Operations with a continuation key still require the primary key.

The table name and key are required parameters.

Methods Summary

get_compartment() Cloud service only.
get_continuation_key() Returns the continuation key if set.
get_durability() On-premise only.
get_key() Returns the key to be used for the operation.
get_max_write_kb() Returns the limit on the total KB write during this operation.
get_range() Returns the FieldRange to be used for the operation if set.
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_continuation_key(continuation_key) Sets the continuation key.
set_durability(durability) On-premise only.
set_key(key) Sets the key to be used for the operation.
set_max_write_kb(max_write_kb) Sets the limit on the total KB write during this operation, 0 means no application-defined limit.
set_range(field_range) Sets the FieldRange to be used for the operation.
set_table_name(table_name) Sets the table name to use for the operation.
set_timeout(timeout_ms) Sets the request timeout value, in milliseconds.

Methods Documentation

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_continuation_key()[source]

Returns the continuation key if set.

Returns:the continuation key.
Return type:bytearray
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_key()[source]

Returns the key to be used for the operation.

Returns:the key.
Return type:dict
get_max_write_kb()[source]

Returns the limit on the total KB write during this operation. If not set by the application this value will be 0 which means the default system limit is used.

Returns:the limit, or 0 if not set.
Return type:int
get_range()[source]

Returns the FieldRange to be used for the operation if set.

Returns:the range, None if no range is to be used.
Return type:FieldRange
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_continuation_key(continuation_key)[source]

Sets the continuation key.

Parameters:continuation_key (bytearray) – the key which should have been obtained from MultiDeleteResult.get_continuation_key().
Returns:self.
Raises:IllegalArgumentException – raises the exception if continuation_key is not a bytearray.
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_key(key)[source]

Sets the key to be used for the operation. This is a required parameter and must completely specify the target table’s shard key.

Parameters:key (dict) – the key.
Returns:self.
Raises:IllegalArgumentException – raises the exception if key is not a dictionary.
set_max_write_kb(max_write_kb)[source]

Sets the limit on the total KB write during this operation, 0 means no application-defined limit. This value can only reduce the system defined limit.

Parameters:max_write_kb (int) – the limit in terms of number of KB write during this operation.
Returns:self.
Raises:IllegalArgumentException – raises the exception if the max_write_kb value is less than 0.
set_range(field_range)[source]

Sets the FieldRange to be used for the operation. This parameter is optional, but required to delete a specific range of rows.

Parameters:field_range (FieldRange) – the field range.
Returns:self.
Raises:IllegalArgumentException – raises the exception if field_range is not an instance of FieldRange.
set_table_name(table_name)[source]

Sets the table name to use for the operation. This is a required parameter.

Parameters:table_name (str) – the table name.
Returns:self.
Raises:IllegalArgumentException – raises the exception if table_name is not a string.
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.