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 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 context
      allowInternalSyntax - 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 statement
      paramDefaults - Default parameter values to use for optimization
      spsSchema - 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.