# Package oracle.nosql.driver.ops

package oracle.nosql.driver.ops
Contains the input and response classes used for Oracle NoSQL Database operations. These include classes derived from `Request` and `Result`.

`Request` instances are parameter objects that hold required and optional state for a given request type and operation. Some parameters are defaulted based on the `NoSQLHandleConfig` and can be overridden in a specific request. Examples of these are timeouts and `Consistency`. Some parameters are required. For example, most requests require a table name for the target table, `NoSQLHandle.put(oracle.nosql.driver.ops.PutRequest)` requires a value, etc.

Validation of parameter state is not performed until the object is used in a request, so illegal state is not immediately detected.

`Result` instances represent return state for operations that succeed. All result instances contain information about throughput used by that operation if available, in the form of getReadUnits and getWriteUnits interfaces on the objects. When used against an on-premises service resource consumption information is not available and will be 0.

`Request` and `Result` instances are not thread-safe and not intended to be shared. `Request` can be reused and are not modified when used in operations, but they should not be modified while in use by the system.

- Related Packages
  Package
  Description
  oracle.nosql.driver
  Contains the public API for using the Oracle NoSQL Database as well as configuration and common parameter classes used in database operations.
  oracle.nosql.driver.iam
  This package contains the public API for managing security for the Oracle NoSQL Database Cloud using Oracle Cloud Infrastructure Identity and Access Management (IAM).
  oracle.nosql.driver.kv
  This package contains classes that are specific to using the driver on-premises and not applicable to the Cloud Service.
  oracle.nosql.driver.values
  The classes in this package are used to represent and manipulate data in the Oracle NoSQL Database.
- Class
  Description
  AddReplicaRequest
  Cloud service only.
  DeleteRequest
  Represents the input to a `NoSQLHandle.delete(oracle.nosql.driver.ops.DeleteRequest)` operation.
  DeleteResult
  Represents the result of a `NoSQLHandle.delete(oracle.nosql.driver.ops.DeleteRequest)` operation.
  DropReplicaRequest
  Cloud service only.
  DurableRequest
  Represents a base class for operations that support a `Durability` setting.
  GetIndexesRequest
  Represents the argument of a `NoSQLHandle.getIndexes(oracle.nosql.driver.ops.GetIndexesRequest)` operation which returns the information of a specific index or all indexes of the specified table, as returned in `GetIndexesResult`.
  GetIndexesResult
  Represents the result of a `NoSQLHandle.getIndexes(oracle.nosql.driver.ops.GetIndexesRequest)` operation.
  GetIndexesResult.IndexInfo
  IndexInfo represents the information about a single index including its name and field names.
  GetRequest
  Represents the input to a `NoSQLHandle.get(oracle.nosql.driver.ops.GetRequest)` operation which returns a single row based on the specified key.
  GetResult
  Represents the result of a `NoSQLHandle.get(oracle.nosql.driver.ops.GetRequest)` operation.
  GetTableRequest
  Represents the argument of a `NoSQLHandle.getTable(oracle.nosql.driver.ops.GetTableRequest)` operation which returns static information associated with a table, as returned in `TableResult`.
  ListTablesRequest
  Represents the argument of a `NoSQLHandle.listTables(oracle.nosql.driver.ops.ListTablesRequest)` operation which lists all available tables associated with the identity associated with the handle used for the operation.
  ListTablesResult
  Represents the result of a `NoSQLHandle.listTables(oracle.nosql.driver.ops.ListTablesRequest)` operation.
  MultiDeleteRequest
  Represents the input to a `NoSQLHandle.multiDelete(oracle.nosql.driver.ops.MultiDeleteRequest)` operation which can be used to delete a range of values that match the primary key and range provided.
  MultiDeleteResult
  Represents the result of a `NoSQLHandle.multiDelete(oracle.nosql.driver.ops.MultiDeleteRequest)` operation.
  PreparedStatement
  A class encapsulating a prepared query statement.
  PrepareRequest
  A request that encapsulates a query prepare call.
  PrepareResult
  The result of a prepare operation.
  PutRequest
  Represents the input to a `NoSQLHandle.put(oracle.nosql.driver.ops.PutRequest)` operation.
  PutRequest.Option
  Specifies a condition for the put operation.
  PutResult
  Represents the result of a `NoSQLHandle.put(oracle.nosql.driver.ops.PutRequest)` operation.
  QueryIterableResult
  QueryIterableResult represents an `Iterable` over all the query results.
  QueryRequest
  A request that represents a query.
  QueryResult
  QueryResult comprises a list of `MapValue` instances representing the query results.
  ReadRequest
  Represents a base class for read operations such as `NoSQLHandle.get(oracle.nosql.driver.ops.GetRequest)`.
  ReplicaStatsRequest
  Cloud service only.
  ReplicaStatsResult
  Cloud service only.
  ReplicaStatsResult.ReplicaStats
  ReplicaStats contains information about replica lag for a specific replica.
  Request
  A request is an abstract class used as a base for all requests types.
  Result
  Result is a base class for result classes for all supported operations.
  RetryStats
  A class that maintains stats on retries during a request.
  SystemRequest
  On-premises only.
  SystemResult
  On-premises only.
  SystemResult.State
  On-premises only.
  SystemStatusRequest
  On-premises only.
  TableLimits
  Cloud service only.
  TableLimits.CapacityMode
  Table limits option
  TableRequest
  TableRequest is used to create, modify, and drop tables.
  TableResult
  TableResult is returned from `NoSQLHandle.getTable(oracle.nosql.driver.ops.GetTableRequest)` and `NoSQLHandle.tableRequest(oracle.nosql.driver.ops.TableRequest)` operations.
  TableResult.Replica
  Cloud service only.
  TableResult.State
  The current state of the table
  TableUsageRequest
  Cloud service only.
  TableUsageResult
  Cloud service only.
  TableUsageResult.TableUsage
  TableUsage represents a single usage record, or slice, that includes information about read and write throughput consumed during that period as well as the current information regarding storage capacity.
  WriteMultipleRequest
  Represents the input to a `NoSQLHandle.writeMultiple(oracle.nosql.driver.ops.WriteMultipleRequest)` operation.
  WriteMultipleResult
  Represents the result of a `NoSQLHandle.writeMultiple(oracle.nosql.driver.ops.WriteMultipleRequest)` operation.
  WriteMultipleResult.OperationResult
  The Result associated with the execution of an individual operation in the request.
  WriteRequest
  Represents a base class for the single row modifying operations `NoSQLHandle.put(oracle.nosql.driver.ops.PutRequest)` and `NoSQLHandle.delete(oracle.nosql.driver.ops.DeleteRequest)`.
  WriteResult
  A base class for results of single row modifying operations such as put and delete.