Package org.apache.derby.iapi.sql
Interface Statement
-
- All Known Implementing Classes:
GenericStatement
public interface StatementThe 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
All Methods Instance Methods Abstract Methods Modifier and Type Method Description java.lang.StringgetSource()Return the SQL string that this statement is for.PreparedStatementprepare(LanguageConnectionContext lcc)Generates an execution plan without executing it.PreparedStatementprepare(LanguageConnectionContext lcc, boolean allowInternalSyntax)Generates an execution plan without executing it.PreparedStatementprepareStorable(LanguageConnectionContext lcc, PreparedStatement ps, java.lang.Object[] paramDefaults, SchemaDescriptor spsSchema, boolean internalSQL)Generates an execution plan given a set of named parameters.
-
-
-
Method Detail
-
prepare
PreparedStatement prepare(LanguageConnectionContext lcc) throws StandardException
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, java.lang.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
java.lang.String getSource()
Return the SQL string that this statement is for.- Returns:
- the SQL string this statement is for.
-
-