Package org.apache.derby.iapi.sql
Interface Statement
- All Known Implementing Classes:
GenericStatement
public interface Statement
The Statement interface provides a way of giving a statement to the
language module, preparing the statement, and executing it. It also
provides some support for stored statements. Simple, non-stored,
non-parameterized statements can be executed with the execute() method.
Parameterized statements must use prepare(). To get the stored query
plan for a statement, use get().
This interface will have different implementations for the execution-only and compile-and-execute versions of the product. In the execution-only version, some of the methods will do nothing but raise exceptions to indicate that they are not implemented.
There is a Statement factory in the Connection interface in the Database module, which uses the one provided in LanguageFactory.
-
Method Summary
Modifier and TypeMethodDescriptionReturn the SQL string that this statement is for.Generates an execution plan without executing it.prepare
(LanguageConnectionContext lcc, boolean allowInternalSyntax) Generates an execution plan without executing it.prepareStorable
(LanguageConnectionContext lcc, PreparedStatement ps, Object[] paramDefaults, SchemaDescriptor spsSchema, boolean internalSQL) Generates an execution plan given a set of named parameters.
-
Method Details
-
prepare
Generates an execution plan without executing it.- Returns:
- A PreparedStatement that allows execution of the execution plan.
- Throws:
StandardException
- Thrown if this is an execution-only version of the module (the prepare() method relies on compilation).
-
prepare
PreparedStatement prepare(LanguageConnectionContext lcc, boolean allowInternalSyntax) throws StandardException Generates an execution plan without executing it.- Parameters:
lcc
- the language connection contextallowInternalSyntax
- If this statement is for a metadata call then we will allow internal sql syntax on such statement. This internal sql syntax is not available to a user sql statement.- Returns:
- A PreparedStatement that allows execution of the execution plan.
- Throws:
StandardException
- Thrown if this is an execution-only version of the module (the prepare() method relies on compilation).
-
prepareStorable
PreparedStatement prepareStorable(LanguageConnectionContext lcc, PreparedStatement ps, Object[] paramDefaults, SchemaDescriptor spsSchema, boolean internalSQL) throws StandardException Generates an execution plan given a set of named parameters. For generating a storable prepared statement (which has some extensions over a standard prepared statement).- Parameters:
lcc
- Compiler state variable.ps
- Prepared statementparamDefaults
- Default parameter values to use for optimizationspsSchema
- schema of the stored prepared statement- Returns:
- A Storable PreparedStatement that allows execution of the execution plan.
- Throws:
StandardException
- Thrown if this is an execution-only version of the module (the prepare() method relies on compilation).
-
getSource
String getSource()Return the SQL string that this statement is for.- Returns:
- the SQL string this statement is for.
-