Package oracle.nosql.driver.ops
Class DeleteRequest
- java.lang.Object
-
- oracle.nosql.driver.ops.Request
-
- oracle.nosql.driver.ops.WriteRequest
-
- oracle.nosql.driver.ops.DeleteRequest
-
public class DeleteRequest extends oracle.nosql.driver.ops.WriteRequestRepresents the input to aNoSQLHandle.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
Versionmatches 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 inDeleteResult.
-
-
Constructor Summary
Constructors Constructor Description DeleteRequest()Constructs an empty request
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description MapValuegetKey()Returns the key of the row to be deleted.VersiongetMatchVersion()Returns theVersionused for a match on a conditional delete.booleangetReturnRow()Returns whether information about the existing row should be returned on failure because of a version mismatch.java.lang.StringgetTableName()Returns the table name for the operationintgetTimeout()Returns the timeout to use for the operation, in milliseconds.DeleteRequestsetCompartment(java.lang.String compartment)Cloud service only.DeleteRequestsetKey(MapValue key)Sets the key to use for the delete operation.DeleteRequestsetKeyFromJson(java.lang.String jsonValue, JsonOptions options)Sets the key to use for the delete operation based on a JSON string.DeleteRequestsetMatchVersion(Version version)Sets theVersionto use for a conditional delete operation.DeleteRequestsetReturnRow(boolean value)Sets whether information about the existing row should be returned on failure because of a version mismatch.DeleteRequestsetTableName(java.lang.String tableName)Sets the table name to use for the operation.DeleteRequestsetTimeout(int timeoutMs)Sets the optional request timeout value, in milliseconds.-
Methods inherited from class oracle.nosql.driver.ops.Request
getCompartment
-
-
-
-
Method Detail
-
getKey
public MapValue 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
public DeleteRequest setKey(MapValue key)
Sets the key to use for the delete operation. This is a required field.- Parameters:
key- the key value- Returns:
- this
-
setKeyFromJson
public DeleteRequest setKeyFromJson(java.lang.String jsonValue, JsonOptions options)
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
public Version getMatchVersion()
Returns theVersionused for a match on a conditional delete.- Returns:
- the Version or null if not set
-
setMatchVersion
public DeleteRequest setMatchVersion(Version version)
Sets theVersionto 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
-
getTableName
public java.lang.String getTableName()
Returns the table name for the operation- Returns:
- the table name, or null if not set
-
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
public DeleteRequest setTableName(java.lang.String tableName)
Sets the table name to use for the operation. This is a required parameter.- Parameters:
tableName- the table name- Returns:
- this
-
setCompartment
public DeleteRequest setCompartment(java.lang.String compartment)
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
public DeleteRequest setReturnRow(boolean value)
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
public DeleteRequest setTimeout(int timeoutMs)
Sets the optional request timeout value, in milliseconds. This overrides any default value set inNoSQLHandleConfig. The value must be positive.- Parameters:
timeoutMs- the timeout value, in milliseconds- Returns:
- this
- Throws:
java.lang.IllegalArgumentException- if the timeout value is less than or equal to 0
-
-