public interface PreparedStatement extends Statement
Represents a Statement
that has been compiled and an execution
plan generated for it. A PreparedStatement should be used when it is
expected that the same statement will be executed multiple times. This way,
the cost of compilation is paid only once.
An instance of PreparedStatement can be created via the
KVStore.prepare(String statement)
method. This instance can then be
executed multiple times via one of the KVStore.execute methods (for example,
KVStore.execute(String statement, ExecuteOptions options)
or
KVStore.executeSync(Statement statement, ExecuteOptions options)
).
If the statement is a DML statement that contains external variables,
these variables must be bound to specific values before the statement can be
executed. To allow for potentially concurrent execution of the same
PreparedStatement multiple times with different bind values each time,
binding of external variables must be done via one or more instances of
the BoundStatement
interface. Such instances are created via the
#createBoundStatement() method. It is then the BoundStatement instances
that must be executed (i.e., passed as input to the KVStore execute
methods) instead of the PreparedStatement instance
Objects implementing the PreparedStatement interface are thread-safe
and their methods are re-entrant. On the other hand, BoundStatement
instances are not thread-safe.
Modifier and Type | Method and Description |
---|---|
BoundStatement |
createBoundStatement()
Creates a new BoundStatement object for this PreparedStatement.
|
RecordDef |
getResultDef()
Returns the definition of the result of this Statement.
|
FieldDef |
getVariableType(String variableName)
Returns the type of the given variableName or
null if it
doesn't exist. |
Map<String,FieldDef> |
getVariableTypes()
Returns the types of the variables.
|
RecordDef getResultDef()
FieldDef getVariableType(String variableName)
null
if it
doesn't exist.BoundStatement createBoundStatement()
Copyright (c) 2011, 2017 Oracle and/or its affiliates. All rights reserved.