Module org.apache.derby.engine
Package org.apache.derby.vti

# Interface VTIEnvironment

public interface VTIEnvironment

VTIEnvironment is the state variable created by the optimizer to help it place a Table Function in the join order. The methods of VTICosting use this state variable in order to pass information to each other and learn other details of the operating environment.

See Also:
  - `VTICosting`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `String`
  `getOriginalSQL()`
  Return the SQL text of the original SQL statement.
  `Object`
  `getSharedState(String key)`
  Get an object associated with a key from set of objects maintained with the statement plan.
  `int`
  `getStatementIsolationLevel()`
  Get the specific JDBC isolation of the statement.
  `boolean`
  `isCompileTime()`
  Return true if this instance of the Table Function has been created for compilation, false if it is for runtime execution.
  `void`
  `setSharedState(String key, Serializable value)`
  Saves an object associated with a key that will be maintained for the lifetime of the statement plan.

- ## Method Details

  - ### isCompileTime

    boolean isCompileTime()
    Return true if this instance of the Table Function has been created for compilation, false if it is for runtime execution.
    Returns:
      true if this instance of the Table Function has been created for compilation

  - ### getOriginalSQL

    String getOriginalSQL()
    Return the SQL text of the original SQL statement.
    Returns:
      the SQL text of the original SQL statement

  - ### getStatementIsolationLevel

    int getStatementIsolationLevel()
    Get the specific JDBC isolation of the statement. If it returns Connection.TRANSACTION_NONE then no isolation was specified and the connection's isolation level is implied.
    Returns:
      the specific JDBC isolation of the statement

  - ### setSharedState

    void setSharedState(String key, Serializable value)
    Saves an object associated with a key that will be maintained for the lifetime of the statement plan. Any previous value associated with the key is discarded. Any saved object can be seen by any JDBC Connection that has a Statement object that references the same statement plan.
    Parameters:
      `key` - Key into a cache of context variables
      `value` - Value to associate with the key

  - ### getSharedState

    Object getSharedState(String key)
    Get an object associated with a key from set of objects maintained with the statement plan.
    Parameters:
      `key` - Key into a cache of context variables
    Returns:
      the value associated with the key