Package oracle.nosql.driver.ops
Class DeleteRequest
java.lang.Object
oracle.nosql.driver.ops.Request
oracle.nosql.driver.ops.DurableRequest
oracle.nosql.driver.ops.WriteRequest
oracle.nosql.driver.ops.DeleteRequest
Represents the input to a
NoSQLHandle.delete(oracle.nosql.driver.ops.DeleteRequest)
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 its
Version
matches a specificVersion
. UsesetMatchVersion(oracle.nosql.driver.Version)
for this case. Using this option in conjunction with usingsetReturnRow(boolean)
allows information about the existing row to be returned if the operation fails because of a version mismatch. On success no information is returned. UsingsetReturnRow(boolean)
may incur additional cost and affect operation latency.
The table name and key are required parameters.
On a successful operation DeleteResult.getSuccess()
returns true.
Additional information, such as previous row information, may be available
in DeleteResult
.
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptiongetKey()
Returns the key of the row to be deleted.Returns theVersion
used for a match on a conditional delete.boolean
Returns whether information about the existing row should be returned on failure because of a version mismatch.int
Returns the timeout to use for the operation, in milliseconds.Returns the type name of the request.setCompartment
(String compartment) Cloud service only.setDurability
(Durability durability) Sets the durability to use for the operation.Sets the key to use for the delete operation.setKeyFromJson
(String jsonValue, JsonOptions options) Sets the key to use for the delete operation based on a JSON string.setMatchVersion
(Version version) Sets theVersion
to use for a conditional delete operation.setNamespace
(String namespace) Sets the optional namespace.setReturnRow
(boolean value) Sets whether information about the existing row should be returned on failure because of a version mismatch.setTableName
(String tableName) Sets the table name to use for the operation.setTimeout
(int timeoutMs) Sets the optional request timeout value, in milliseconds.Methods inherited from class oracle.nosql.driver.ops.DurableRequest
getDurability
Methods inherited from class oracle.nosql.driver.ops.Request
getCompartment, getNamespace, getRateLimitDelayedMs, getReadRateLimiter, getRetryStats, getTableName, getWriteRateLimiter, setReadRateLimiter, setWriteRateLimiter
-
Constructor Details
-
DeleteRequest
public DeleteRequest()Constructs an empty request
-
-
Method Details
-
getKey
Returns the key of the row to be deleted. This is a required field.- Returns:
- the key value, or null if not set
-
setKey
Sets the key to use for the delete operation. This is a required field.- Parameters:
key
- the key value- Returns:
- this
-
setKeyFromJson
Sets the key to use for the delete operation based on a JSON string. The string is parsed for validity and stored internally as aMapValue
.- Parameters:
jsonValue
- the key value as a JSON stringoptions
- optional configuration to specify how to map JSON data, may be null- Returns:
- this
-
getMatchVersion
Returns theVersion
used for a match on a conditional delete.- Returns:
- the Version or null if not set
-
setMatchVersion
Sets theVersion
to use for a conditional delete operation. The Version is usually obtained fromGetResult.getVersion()
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
- the Version to match- Returns:
- this
-
getTimeout
public int getTimeout()Returns the timeout to use for the operation, in milliseconds. A value of 0 indicates that the timeout has not been set.- Returns:
- the value
-
getReturnRow
public boolean getReturnRow()Returns whether information about the existing row should be returned on failure because of a version mismatch.- Returns:
- true if information should be returned.
-
setTableName
Sets the table name to use for the operation. This is a required parameter.- Parameters:
tableName
- the table name- Returns:
- this
-
setDurability
Sets the durability to use for the operation. On-premises only.- Parameters:
durability
- the durability value- Returns:
- this
- Since:
- 5.3.0
-
setCompartment
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
SignatureProvider.createWithInstancePrincipal()
- Parameters:
compartment
- the name or id. If using a nested compartment, specify the full compartment pathcompartmentA.compartmentB
, but exclude the name of the root compartment (tenant).- Returns:
- this
-
setReturnRow
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 viasetMatchVersion(oracle.nosql.driver.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:
value
- set to true if information should be returned- Returns:
- this
-
setTimeout
Sets the optional request timeout value, in milliseconds. This overrides any default value set withNoSQLHandleConfig.setRequestTimeout(int)
. The value must be positive.- Parameters:
timeoutMs
- the timeout value, in milliseconds- Returns:
- this
- Throws:
IllegalArgumentException
- if the timeout value is less than or equal to 0
-
setNamespace
Sets the optional namespace. On-premises only. This overrides any default value set withNoSQLHandleConfig.setDefaultNamespace(java.lang.String)
. Note: if a namespace is specified in the table name for the request (using the namespace:tablename format), that value will override this setting.- Parameters:
namespace
- the namespace to use for the operation- Returns:
- this
- Since:
- 5.4.10
-
getTypeName
Description copied from class:Request
Returns the type name of the request. This is used for stats.- Specified by:
getTypeName
in classRequest
- Returns:
- the type name of the request
-