| Modifier and Type | Field and Description |
|---|---|
| private HashMap | |
| private final FormatableHashtable | |
| private boolean | |
| pack-priv JBitSet | |
| pack-priv JBitSet | |
| pack-priv double | |
| pack-priv double | |
| pack-priv TableName | |
| private boolean | |
| pack-priv boolean | |
| pack-priv boolean | |
| pack-priv boolean | |
| pack-priv boolean | |
| pack-priv boolean | |
| pack-priv MethodCallNode | |
| private JavaValueNode[] | |
| protected int | |
| pack-priv boolean | |
| private ArrayList | |
| private String[] | |
| private PreparedStatement | |
| private PredicateList | |
| private int | |
| pack-priv ResultSet | |
| pack-priv SubqueryList | |
| pack-priv boolean | |
| protected boolean | |
| pack-priv boolean | |
| private Restriction |
| Access | Constructor and Description |
|---|---|
| pack-priv | FromVTI(MethodCallNode
The constructor or static method for the VTI invocation, String The correlation name correlationName, ResultColumnList The derived column list derivedRCL, Properties Properties list associated with the table tableProperties, ContextManager cm)Constructor. |
| pack-priv | FromVTI(MethodCallNode
The constructor or static method for the VTI invocation, String The correlation name correlationName, ResultColumnList The derived column list derivedRCL, Properties Properties list associated with the table tableProperties, TableName The table name (TableName class) exposedTableName, ContextManager The context manager cm)Constructor. |
| Modifier and Type | Method and Description |
|---|---|
| pack-priv void | acceptChildren(Visitor
the visitor v)Overrides org. Accept the visitor for all visitable children of this node. |
| public void | addOuterFromList(FromList fromList)
Add a FromList to the collection of FromLists which bindExpressions() checks when vetting VTI arguments which reference columns in other tables. |
| pack-priv void | adjustForSortElimination()
Overrides org. Notify the underlying result set tree that the optimizer has chosen to "eliminate" a sort. |
| pack-priv void | bindExpressions(FromList
FromList to use/append to. fromListParam)Overrides org. Bind the expressions in this VTI. |
| pack-priv ResultSetNode | Returns: ResultSetNodeThe DataDictionary to use for binding dataDictionary, FromList FromList to use/append to. fromListParam)Overrides org. Bind the non VTI tables in this ResultSetNode. |
| pack-priv ResultSetNode | Returns: ResultSetNode The bound FromVTI.FromList to use/append to. fromListParam)Overrides org. Bind this VTI that appears in the FROM list. |
| private boolean | |
| private FromTable | columnInFromList(FromList fromList, ColumnReference ref)
If the referenced column appears in the indicated FROM list, then return the table it appears in. |
| private HashMap | computeProjection()
Fills in the array of projected column names suitable for handing to RestrictedVTI.initScan(). |
| pack-priv void | computeProjectionAndRestriction(PredicateList
The full list of predicates to be applied by the parent ProjectRestrictNode parentPredicates)Compute the projection and restriction to be pushed to the external table function if it is a RestrictedVTI. |
| private void | computeRestriction(PredicateList
The full list of predicates to be applied by the parent ProjectRestrictNode parentPredicates, HashMap<String, String> Mapping between the exposed column names used in the predicates and the actual column names declared for the table function at CREATE FUNCTION time. columnNameMap)Fills in the restriction to be handed to a RestrictedVTI at run-time. |
| private void | constructorMinion(MethodCallNode invocation, ResultColumnList derivedRCL, TableName exposedTableName)
|
| private void | createResultColumnsForTableFunction(TypeDescriptor td)
Add result columns for a Derby-style Table Function |
| public CostEstimate | estimateCost(OptimizablePredicateList
The predicate list to optimize against predList, ConglomerateDescriptor The conglomerate descriptor to get the cost of cd, CostEstimate The estimated cost of the part of the plan outer
to this optimizable. outerCost, Optimizer The optimizer to use to help estimate the cost optimizer, RowOrdering The row ordering for all the tables in the
join order, including this one. rowOrdering)Overrides org. Implements org. Estimate the cost of scanning this Optimizable using the given predicate list with the given conglomerate. |
| private int | |
| pack-priv void | generate(ActivationClassBuilder
The ActivationClassBuilder for the class being built acb, MethodBuilder The MethodBuilder for the execute() method to be built mb)Overrides org. Generation on a FromVTI creates a wrapper around the user's java.sql.ResultSet |
| private void | |
| protected ResultSetNode | Returns: The generated ProjectRestrictNode atop the original FromTable.Number of tables in the DML Statement numTables)Overrides org. Put a ProjectRestrictNode on top of each FromTable in the FromList. |
| private ResultColumnList | |
| pack-priv ResultColumnList | getAllResultColumns(TableName
The qualifier on the "*" allTableName)Overrides org. Expand a "*" into a ResultColumnList with all of the result columns from the subquery. |
| public DeferModification | Returns: null if the VTI uses the default modification deferralGet the DeferModification interface associated with this VTI |
| pack-priv String | Returns: The exposed name for this table.Overrides org. Get the exposed name for this table, which is the name that can be used to refer to it in the rest of the query. |
| public TableName | |
| pack-priv ResultColumn | Returns: A ResultColumn whose expression is the ColumnNode that matches the ColumnReference. Returns null if there is no match.The columnReference whose name we're looking
for in the given table. columnReference)Overrides org. Try to find a ResultColumn in the table represented by this FromBaseTable that matches the name in the given ColumnReference. |
| pack-priv final MethodCallNode | |
| private Object | |
| pack-priv <T extends Visitable> List | Returns: A list containing all of the nodes of interest.The Class of interest. nodeClass)Get all of the nodes of the specified class from the parameters to this VTI. |
| public String | getOriginalSQL()
Implements org. Return the SQL text of the original SQL statement. |
| pack-priv ResultSetMetaData | Returns: The ResultSetMetaData from the class/object.Get the ResultSetMetaData for the class/object. |
| public int | Returns: the ResultSet type of the VTI, TYPE_FORWARD_ONLY if the getResultSetType() method of the VTI class throws an exception.
|
| private int | |
| public Object | getSharedState(String
Key into a cache of context variables key)Implements org. Get an object associated with a key from set of objects maintained with the statement plan. |
| private UUID | Returns: null if not a special trigger vti, or the table id if it isCheck and see if we have a special trigger VTI. |
| public final int | getStatementIsolationLevel()
Implements org. Get the specific JDBC isolation of the statement. |
| private VTICosting | |
| pack-priv String | |
| private Restriction | iAmConfused(ValueNode clause)
This is a handy place to put instrumentation for tracing trees which we don't understand |
| private boolean | implementsDerbyStyleVTICosting(String className)
Return true if this Derby Style Table Function implements the VTICosting interface. |
| public final boolean | isCompileTime()
Implements org. Return true if this instance of the Table Function has been created for compilation, false if it is for runtime execution. |
| pack-priv boolean | |
| public boolean | |
| public boolean | isMaterializable()
Overrides org. Implements org. Tell whether this Optimizable is materializable |
| pack-priv boolean | |
| public boolean | legalJoinOrder(JBitSet
The tables that have been placed so far in the join order. assignedTableMap)Overrides org. Implements org. Can this Optimizable appear at the current location in the join order. |
| private Class | |
| private Restriction | makeIsNullRestriction(IsNullNode
The IS NULL (or IS NOT NULL) node clause, HashMap<String, String> Mapping between the exposed column names used in the predicates and the actual column names declared for the table function at CREATE FUNCTION time. columnNameMap)Makes an IS NULL comparison of a column in the VTI. |
| private Restriction | makeLeafRestriction(BinaryRelationalOperatorNode
The clause which should be turned into a Restriction. clause, HashMap<String, String> Mapping between the exposed column names used in the predicates and the actual column names declared for the table function at CREATE FUNCTION time. columnNameMap)Makes a Restriction out of a comparison between a constant and a column in the VTI. |
| private Restriction | makeRestriction(ValueNode
The clause which should be turned into a Restriction. clause, HashMap<String, String> Mapping between the exposed column names used in the predicates and the actual column names declared for the table function at CREATE FUNCTION time. columnNameMap)Turn a compile-time WHERE clause fragment into a run-time Restriction. |
| private int | |
| public Optimizable | modifyAccessPath(JBitSet
Bit map of the tables that are outer to this one
in the join order. outerTables)Overrides org. Implements org. Modify the access path for this Optimizable, as necessary. |
| pack-priv boolean | |
| pack-priv boolean | Returns: Whether or not to materialize this ResultSet tree. would return valid results.Overrides org. Return whether or not to materialize this ResultSet tree. |
| pack-priv ResultSetNode | Returns: ResultSetNode at top of preprocessed tree.The number of tables in the DML Statement numTables, GroupByList The group by list, if any gbl, FromList The from list, if any fromList)Overrides org. Preprocess a ResultSetNode - this currently means: o Generating a referenced table map for each ResultSetNode. |
| pack-priv void | printSubNodes(int
The depth of this node in the tree depth)Overrides org. Prints the sub-nodes of this object. |
| public boolean | pushOptPredicate(OptimizablePredicate
OptimizablePredicate to push down. optimizablePredicate)Overrides org. Implements org. Push an OptimizablePredicate down, if this node accepts it. |
| pack-priv boolean | Returns: true if found, else falseTable name (String) to search for. name, boolean Whether or not name is for a base table baseTable)Overrides org. Search to see if a query references the specifed table name. |
| private void | |
| public void | setSharedState(String
Key into a cache of context variables key, Serializable Value to associate with the key value)Implements org. Saves an object associated with a key that will be maintained for the lifetime of the statement plan. |
| pack-priv void | |
| private Object | squeezeConstantValue(ValueNode valueNode)
Get the constant or parameter reference out of a comparand. |
| private int | |
| public boolean | supportsMultipleInstantiations()
Overrides org. Implements org. Tell whether this Optimizable can be instantiated multiple times |
| public String | Returns: This object as a StringOverrides org. Convert this object to a String. |