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 Detail

      • 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,
                                          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 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

        java.lang.String getSource()
        Return the SQL string that this statement is for.
        Returns:
        the SQL string this statement is for.