Optimizable
, Visitable
class HashTableNode extends SingleChildResultSetNode
ResultSetNode.QueryExpressionClauses
Modifier and Type | Field | Description |
---|---|---|
(package private) PredicateList |
joinPredicateList |
|
(package private) SubqueryList |
pSubqueryList |
|
(package private) SubqueryList |
rSubqueryList |
|
(package private) PredicateList |
searchPredicateList |
ADD_PLAN, bestAccessPath, bestCostEstimate, bestSortAvoidancePath, correlationName, corrTableName, currentAccessPath, hashKeyColumns, initialCapacity, level, LOAD_PLAN, loadFactor, maxCapacity, origTableName, REMOVE_PLAN, tableNumber, tableProperties, trulyTheBestAccessPath, userSpecifiedJoinStrategy
AUTOINCREMENT_CREATE_MODIFY, AUTOINCREMENT_CYCLE, AUTOINCREMENT_INC_INDEX, AUTOINCREMENT_IS_AUTOINCREMENT_INDEX, AUTOINCREMENT_START_INDEX
childResult, hasTrulyTheBestAccessPath
Constructor | Description |
---|---|
HashTableNode(ResultSetNode childResult,
java.util.Properties tableProperties,
ResultColumnList resultColumns,
PredicateList searchPredicateList,
PredicateList joinPredicateList,
AccessPathImpl accessPath,
CostEstimate costEstimate,
SubqueryList pSubqueryList,
SubqueryList rSubqueryList,
int[] hashKeyColumns,
ContextManager cm) |
Constructor for a HashTableNode.
|
Modifier and Type | Method | Description |
---|---|---|
(package private) void |
acceptChildren(Visitor v) |
Accept the visitor for all visitable children of this node.
|
(package private) 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().
|
(package private) void |
generateResultSet(ExpressionClassBuilder acb,
MethodBuilder mb) |
General logic shared by Core compilation and by the Replication Filter
compiler.
|
Optimizable |
modifyAccessPath(JBitSet outerTables,
Optimizer optimizer) |
|
(package private) void |
printSubNodes(int depth) |
Prints the sub-nodes of this object.
|
assignCostEstimate, canBeOrdered, columnsAreUpdatable, considerSortAvoidancePath, convertAbsoluteToRelativeColumnPosition, cursorTargetTable, estimateCost, feasibleJoinStrategy, fillInReferencedTableMap, flatten, getBaseTableName, getBestAccessPath, getBestSortAvoidancePath, getCorrelationName, getCostEstimate, getCurrentAccessPath, getExposedName, getLevel, getMergeTableID, 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, setCostEstimateCost, setHashKeyColumns, setMergeTableID, setOrigTableName, setProperties, setTableNumber, startOptimizing, supportsMultipleInstantiations, tellRowOrderingAboutConstantColumns, toString, transformOuterJoins, uniqueJoin, verifyProperties
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
getDataDictionary, getOptimizerTracer, getReferencedTableMap, getResultSetNumber, optimizerTracingIsOn
accept, addTag, addUDTUsagePriv, addUDTUsagePriv, bindOffsetFetch, bindRowMultiSet, bindUserCatalogType, bindUserType, checkReliability, checkReliability, convertDefaultNode, copyTagsFrom, createTypeDependency, debugFlush, debugPrint, disablePrivilegeCollection, formatNodeString, generateAuthorizeCheck, getBeginOffset, getClassFactory, getCompilerContext, getContext, getContextManager, getDataDictionary, getDependencyManager, getEndOffset, getExecutionFactory, getGenericConstantActionFactory, getIntProperty, getLanguageConnectionContext, getLongProperty, getNullNode, getOffsetOrderedNodes, getOptimizerFactory, getOptimizerTracer, getParameterTypes, getSchemaDescriptor, getSchemaDescriptor, getStatementType, getTableDescriptor, getTypeCompiler, getUDTDesc, isAtomic, isPrivilegeCollectionRequired, isSessionSchema, isSessionSchema, makeConstantAction, makeTableName, makeTableName, nodeHeader, optimizerTracingIsOn, orReliability, parseSearchCondition, parseStatement, printLabel, resolveTableToSynonym, setBeginOffset, setEndOffset, setRefActionInfo, stackPrint, taggedWith, treePrint, treePrint, verifyClassExist
assignResultSetNumber, bindExpressions, bindExpressionsWithTables, bindNonVTITables, bindResultColumns, bindResultColumns, bindTargetExpressions, bindUntypedNullsToResultColumns, bindVTITables, columnTypesAndLengthsMatch, considerMaterialization, enhanceRCLForInsert, generateNormalizationResultSet, genProjectRestrict, genProjectRestrict, genProjectRestrictForReordering, getAllResultColumns, getCandidateFinalCostEstimate, getCostEstimate, getCursorTargetTable, getFromList, getMatchingColumn, getNewCostEstimate, getOptimizer, getOptimizerImpl, getRCLForInsert, getReferencedTableMap, getResultColumns, getResultSetNumber, getScratchCostEstimate, isCursorTargetTable, isInsertSource, isPossibleDistinctScan, isStatementResultSet, isUpdatableCursor, LOJgetReferencedTables, makeResultDescription, makeResultDescriptors, markAsCursorTargetTable, markForDistinctScan, markStatementResultSet, modifyAccessPaths, notCursorTargetTable, notFlattenableJoin, numDistinctAggregates, parseDefault, performMaterialization, printQueryExpressionSuffixClauses, projectResultColumns, pushOffsetFetchFirst, pushOrderByList, pushQueryExpressionSuffix, rejectParameters, rejectXMLValues, renameGeneratedResultNames, replaceOrForbidDefaults, returnsAtMostOneRow, setCandidateFinalCostEstimate, setCostEstimate, setCursorTargetTable, setInsertSource, setOptimizer, setReferencedTableMap, setResultColumns, setResultSetNumber, setResultToBooleanTrueNode, setScratchCostEstimate, setTableConstructorTypes, verifySelectStarSubquery
addNewPredicate, adjustForSortElimination, adjustForSortElimination, changeAccessPath, decrementLevel, ensurePredicateList, flattenableInFromSubquery, forUpdate, getChildResult, getFinalCostEstimate, getFromTableByName, getTrulyTheBestAccessPath, initAccessPaths, isNotExists, isOneRowResultSet, isOrderedOn, modifyAccessPaths, optimize, preprocess, pullOptPredicates, pushExpressions, referencesSessionSchema, referencesTarget, reflectionNeededForProjection, setChildResult, setLevel, subqueryReferencesTarget, updateBestPlanMap, updateTargetLockMode
accept, addTag, taggedWith
PredicateList searchPredicateList
PredicateList joinPredicateList
SubqueryList pSubqueryList
SubqueryList rSubqueryList
HashTableNode(ResultSetNode childResult, java.util.Properties tableProperties, ResultColumnList resultColumns, PredicateList searchPredicateList, PredicateList joinPredicateList, AccessPathImpl accessPath, CostEstimate costEstimate, SubqueryList pSubqueryList, SubqueryList rSubqueryList, int[] hashKeyColumns, ContextManager cm)
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 columnscm
- The context managerpublic Optimizable modifyAccessPath(JBitSet outerTables, Optimizer optimizer) throws StandardException
StandardException
- Thrown on errorOptimizable.modifyAccessPath(org.apache.derby.iapi.util.JBitSet)
void printSubNodes(int depth)
printSubNodes
in class SingleChildResultSetNode
depth
- The depth of this node in the treevoid 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 errorvoid 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.14 Internals - Copyright © 2004,2018 The Apache Software Foundation. All Rights Reserved.