Package oracle.nosql.driver.ops
Class PrepareRequest
java.lang.Object
oracle.nosql.driver.ops.Request
oracle.nosql.driver.ops.PrepareRequest
A request that encapsulates a query prepare call. Query preparation
allows queries to be compiled (prepared) and reused, saving time and
resources. Use of prepared queries vs direct execution of query strings
is highly recommended.
Prepared queries are implemented as PreparedStatement
which supports bind variables in queries which can be used to more easily
reuse a query by parameterization.
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionboolean
boolean
Returns the query statementint
Returns the timeout to use for the operation, in milliseconds.Returns the type name of the request.setCompartment
(String compartment) Cloud service only.setGetQueryPlan
(boolean v) Sets whether the string value of the query execution plan should be included in thePrepareResult
.setGetQuerySchema
(boolean v) Sets whether the JSON value of the query result schema for the query should be included in thePrepareResult
.setNamespace
(String namespace) Sets the optional namespace.setStatement
(String statement) Sets the query statement.setTableName
(String tableName) Sets the table name for a query operation.setTimeout
(int timeoutMs) Sets the request timeout value, in milliseconds.Methods inherited from class oracle.nosql.driver.ops.Request
getCompartment, getNamespace, getRateLimitDelayedMs, getReadRateLimiter, getRetryStats, getTableName, getWriteRateLimiter, setReadRateLimiter, setWriteRateLimiter
-
Constructor Details
-
PrepareRequest
public PrepareRequest()Default constructor for PrepareRequest
-
-
Method Details
-
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
-
getStatement
Returns the query statement- Returns:
- the statement, or null if it has not been set
-
setStatement
Sets the query statement.- Parameters:
statement
- the query statement- Returns:
- this
-
setTimeout
Sets the 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 in the SQL statement (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
-
setGetQueryPlan
Sets whether the string value of the query execution plan should be included in thePrepareResult
.- Parameters:
v
- true to include the query plan- Returns:
- this
-
getQueryPlan
public boolean getQueryPlan()- Returns:
- whether the string value of the query execution plan should
be included in the
PrepareResult
.
-
setGetQuerySchema
Sets whether the JSON value of the query result schema for the query should be included in thePrepareResult
.- Parameters:
v
- true to include the query schema- Returns:
- this
- Since:
- 5.4
-
getQuerySchema
public boolean getQuerySchema()- Returns:
- whether the JSON value of the query result schema should
be included in the
PrepareResult
. - Since:
- 5.4
-
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
-
setTableName
Sets the table name for a query operation. This is used by rate limiting logic to manage internal rate limiters.- Parameters:
tableName
- the name (or OCID) of the table- Returns:
- this
-
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
-