DeleteRequest

class borneo.DeleteRequest[source]

Bases: WriteRequest

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

This request can be used to perform unconditional and conditional deletes:
  • Delete any existing row. This is the default.

  • Succeed only if the row exists and and its Version matches a specific Version. Use set_match_version() for this case. Using this option in conjunction with using set_return_row() allows information about the existing row to be returned if the operation fails because of a version mismatch. On success no information is returned.

Using set_return_row() may incur additional cost and affect operation latency.

The table name and key are required parameters. On a successful operation DeleteResult.get_success() returns True. Additional information, such as previous row information, may be available in DeleteResult.

Methods Summary

get_compartment()

Cloud service only.

get_durability()

On-premise only.

get_key()

Returns the key of the row to be deleted.

get_match_version()

Returns the Version used for a match on a conditional delete.

get_return_row()

Returns whether information about the existing row should be returned on failure because of a version mismatch.

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_key(key)

Sets the key to use for the delete operation.

set_key_from_json(json_key)

Sets the key to use for the delete operation based on a JSON string.

set_match_version(version)

Sets the Version to use for a conditional delete operation.

set_return_row(return_row)

Sets whether information about the existing row should be returned on failure because of a version mismatch.

set_table_name(table_name)

Sets the table name to use for the operation.

set_timeout(timeout_ms)

Sets the optional 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_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 of the row to be deleted.

Returns:

the key value, or None if not set.

Return type:

dict

get_match_version()[source]

Returns the Version used for a match on a conditional delete.

Returns:

the Version or None if not set.

Return type:

Version

get_return_row()[source]

Returns whether information about the existing row should be returned on failure because of a version mismatch.

Returns:

True if information should be returned.

Return type:

bool

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

Sets the key to use for the delete operation. This is a required field.

Parameters:

key (dict) – the key value.

Returns:

self.

Raises:

IllegalArgumentException – raises the exception if key is not a dictionary.

set_key_from_json(json_key)[source]

Sets the key to use for the delete operation based on a JSON string. The string is parsed for validity and stored internally as a dict.

Parameters:

json_key (str) – the key as a JSON string.

Returns:

self.

Raises:

IllegalArgumentException – raises the exception if json_key is not a string.

set_match_version(version)[source]

Sets the Version to use for a conditional delete operation. The Version is usually obtained from GetResult.get_version() or other method that returns a Version. When set, the delete operation will succeed only if the row exists and its Version matches the one specified. Using this option will incur additional cost.

Parameters:

version (Version) – the Version to match.

Returns:

self.

Raises:

IllegalArgumentException – raises the exception if version is not an instance of Version.

set_return_row(return_row)[source]

Sets whether information about the existing row should be returned on failure because of a version mismatch. If a match version has not been set via set_match_version() this parameter is ignored and there will be no return information. This parameter is optional and defaults to False. It’s use may incur additional cost.

Parameters:

return_row (bool) – set to True if information should be returned.

Returns:

self.

Raises:

IllegalArgumentException – raises the exception if return_row is not True or False.

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 optional 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.