public class HashTableNode extends SingleChildResultSetNode
Modifier and Type | Field and Description |
---|---|
(package private) PredicateList |
joinPredicateList |
(package private) SubqueryList |
pSubqueryList |
(package private) SubqueryList |
rSubqueryList |
(package private) PredicateList |
searchPredicateList |
childResult, hasTrulyTheBestAccessPath
ADD_PLAN, bestAccessPath, bestCostEstimate, bestSortAvoidancePath, correlationName, corrTableName, currentAccessPath, hashKeyColumns, initialCapacity, level, LOAD_PLAN, loadFactor, maxCapacity, origTableName, REMOVE_PLAN, tableNumber, tableProperties, trulyTheBestAccessPath, userSpecifiedJoinStrategy
costEstimate, cursorTargetTable, finalCostEstimate, insertSource, optimizer, referencedTableMap, resultColumns, resultSetNumber, scratchCostEstimate, statementResultSet
AUTOINCREMENT_CREATE_MODIFY, AUTOINCREMENT_INC_INDEX, AUTOINCREMENT_IS_AUTOINCREMENT_INDEX, AUTOINCREMENT_START_INDEX
Constructor and Description |
---|
HashTableNode() |
Modifier and Type | Method and Description |
---|---|
(package private) void |
acceptChildren(Visitor v)
Accept the visitor for all visitable children of this node.
|
void |
generate(ActivationClassBuilder acb,
MethodBuilder mb)
For joins, the tree will be (nodes are left out if the clauses
are empty):
ProjectRestrictResultSet -- for the having and the select list
SortResultSet -- for the group by list
ProjectRestrictResultSet -- for the where and the select list (if no group or having)
the result set for the fromList
|
private void |
generateMinion(ExpressionClassBuilder acb,
MethodBuilder mb,
boolean genChildResultSet)
Logic shared by generate() and generateResultSet().
|
void |
generateResultSet(ExpressionClassBuilder acb,
MethodBuilder mb)
General logic shared by Core compilation and by the Replication Filter
compiler.
|
void |
init(java.lang.Object childResult,
java.lang.Object tableProperties,
java.lang.Object resultColumns,
java.lang.Object searchPredicateList,
java.lang.Object joinPredicateList,
java.lang.Object accessPath,
java.lang.Object costEstimate,
java.lang.Object pSubqueryList,
java.lang.Object rSubqueryList,
java.lang.Object hashKeyColumns)
Initializer for a HashTableNode.
|
Optimizable |
modifyAccessPath(JBitSet outerTables,
Optimizer optimizer) |
void |
printSubNodes(int depth)
Prints the sub-nodes of this object.
|
addNewPredicate, adjustForSortElimination, adjustForSortElimination, changeAccessPath, decrementLevel, ensurePredicateList, flattenableInFromSubquery, forUpdate, getChildResult, getFinalCostEstimate, getFromTableByName, getTrulyTheBestAccessPath, init, initAccessPaths, isNotExists, isOneRowResultSet, isOrderedOn, modifyAccessPaths, optimize, preprocess, pullOptPredicates, pushExpressions, referencesSessionSchema, referencesTarget, reflectionNeededForProjection, setChildResult, setLevel, subqueryReferencesTarget, updateBestPlanMap, updateTargetLockMode
assignCostEstimate, canBeOrdered, considerSortAvoidancePath, convertAbsoluteToRelativeColumnPosition, cursorTargetTable, estimateCost, feasibleJoinStrategy, fillInReferencedTableMap, flatten, getBaseTableName, getBestAccessPath, getBestSortAvoidancePath, getCorrelationName, getCostEstimate, getCurrentAccessPath, getExposedName, getLevel, getName, getNumColumnsReturned, getOrigTableName, getProperties, getResultColumnsForList, getSchemaDescriptor, getSchemaDescriptor, getScratchCostEstimate, getTableDescriptor, getTableName, getTableNumber, getUserSpecifiedJoinStrategy, hashKeyColumns, hasLargeObjectColumns, hasTableNumber, initialCapacity, isBaseTable, isCoveringIndex, isFlattenableJoinNode, isJoinColumnForRightOuterJoin, isMaterializable, isOneRowScan, isTargetTable, legalJoinOrder, loadFactor, LOJ_reorderable, markUpdatableByCursor, maxCapacity, memoryUsageOK, modifyAccessPath, needsSpecialRCLBinding, nextAccessPath, optimizeIt, optimizeSubqueries, pushOptPredicate, rememberAsBest, rememberJoinStrategyAsBest, rememberSortAvoidancePath, resetJoinStrategies, setCostEstimate, setHashKeyColumns, setOrigTableName, setProperties, setTableNumber, startOptimizing, supportsMultipleInstantiations, tellRowOrderingAboutConstantColumns, toString, transformOuterJoins, uniqueJoin, verifyProperties
assignResultSetNumber, bindExpressions, bindExpressionsWithTables, bindNonVTITables, bindResultColumns, bindResultColumns, bindTargetExpressions, bindUntypedNullsToResultColumns, bindVTITables, columnTypesAndLengthsMatch, considerMaterialization, enhanceRCLForInsert, generateNormalizationResultSet, genProjectRestrict, genProjectRestrict, genProjectRestrictForReordering, getAllResultColumns, getCostEstimate, getCursorTargetTable, getFromList, getMatchingColumn, getNewCostEstimate, getOptimizer, getOptimizerImpl, getRCLForInsert, getReferencedTableMap, getResultColumns, getResultSetNumber, isPossibleDistinctScan, isUpdatableCursor, LOJgetReferencedTables, makeResultDescription, makeResultDescriptors, markAsCursorTargetTable, markForDistinctScan, markStatementResultSet, modifyAccessPaths, notCursorTargetTable, notFlattenableJoin, numDistinctAggregates, parseDefault, performMaterialization, projectResultColumns, pushOffsetFetchFirst, pushOrderByList, rejectParameters, rejectXMLValues, renameGeneratedResultNames, replaceOrForbidDefaults, returnsAtMostOneRow, setInsertSource, setReferencedTableMap, setResultColumns, setResultToBooleanTrueNode, setTableConstructorTypes, verifySelectStarSubquery
accept, bindOffsetFetch, bindRowMultiSet, bindUserCatalogType, bindUserType, checkReliability, checkReliability, convertDefaultNode, createTypeDependency, debugFlush, debugPrint, disablePrivilegeCollection, formatNodeString, foundString, generateAuthorizeCheck, getBeginOffset, getClassFactory, getCompilerContext, getContextManager, getCursorInfo, getDataDictionary, getDependencyManager, getEndOffset, getExecutionFactory, getGenericConstantActionFactory, getIntProperty, getLanguageConnectionContext, getNodeFactory, getNodeType, getNullNode, getParameterTypes, getSchemaDescriptor, getSchemaDescriptor, getStatementType, getTableDescriptor, getTypeCompiler, init, init, init, init, init, init, init, init, init, init, init, init, isAtomic, isInstanceOf, isPrivilegeCollectionRequired, isSessionSchema, isSessionSchema, makeConstantAction, makeTableName, makeTableName, nodeHeader, orReliability, parseStatement, printLabel, resolveTableToSynonym, setBeginOffset, setContextManager, setEndOffset, setNodeType, setRefActionInfo, stackPrint, treePrint, treePrint, verifyClassExist
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
getDataDictionary, getReferencedTableMap, getResultSetNumber
PredicateList searchPredicateList
PredicateList joinPredicateList
SubqueryList pSubqueryList
SubqueryList rSubqueryList
public void init(java.lang.Object childResult, java.lang.Object tableProperties, java.lang.Object resultColumns, java.lang.Object searchPredicateList, java.lang.Object joinPredicateList, java.lang.Object accessPath, java.lang.Object costEstimate, java.lang.Object pSubqueryList, java.lang.Object rSubqueryList, java.lang.Object hashKeyColumns)
init
in interface Node
init
in class QueryTreeNode
childResult
- The child result settableProperties
- Properties list associated with the tableresultColumns
- The RCL.searchPredicateList
- Single table clausesjoinPredicateList
- Multi table clausesaccessPath
- The access pathcostEstimate
- The cost estimatepSubqueryList
- List of subqueries in RCLrSubqueryList
- List of subqueries in Predicate listshashKeyColumns
- Hash key columnspublic Optimizable modifyAccessPath(JBitSet outerTables, Optimizer optimizer) throws StandardException
StandardException
- Thrown on errorOptimizable.modifyAccessPath(org.apache.derby.iapi.util.JBitSet)
public void printSubNodes(int depth)
printSubNodes
in class SingleChildResultSetNode
depth
- The depth of this node in the treepublic void generate(ActivationClassBuilder acb, MethodBuilder mb) throws StandardException
generate
in class QueryTreeNode
acb
- The ActivationClassBuilder for the class being builtmb
- The method for the generated code to go intoStandardException
- Thrown on errorpublic void generateResultSet(ExpressionClassBuilder acb, MethodBuilder mb) throws StandardException
generateResultSet
in class ResultSetNode
acb
- The ExpressionClassBuilder for the class being builtmb
- the method the expression will go intoStandardException
- Thrown on errorprivate void generateMinion(ExpressionClassBuilder acb, MethodBuilder mb, boolean genChildResultSet) throws StandardException
acb
- The ExpressionClassBuilder for the class being builtmb
- the method the expression will go intoStandardException
- Thrown on errorvoid acceptChildren(Visitor v) throws StandardException
acceptChildren
in class SingleChildResultSetNode
v
- the visitorStandardException
- on errorApache Derby V10.10 Internals - Copyright © 2004,2014 The Apache Software Foundation. All Rights Reserved.