Optimizable, Visitableclass 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, userSpecifiedJoinStrategyAUTOINCREMENT_CREATE_MODIFY, AUTOINCREMENT_CYCLE, AUTOINCREMENT_INC_INDEX, AUTOINCREMENT_IS_AUTOINCREMENT_INDEX, AUTOINCREMENT_START_INDEXchildResult, 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, verifyPropertiesclone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitgetDataDictionary, getOptimizerTracer, getReferencedTableMap, getResultSetNumber, optimizerTracingIsOnaccept, 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, verifyClassExistassignResultSetNumber, 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, verifySelectStarSubqueryaddNewPredicate, 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, updateTargetLockModeaccept, addTag, taggedWithPredicateList 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 SingleChildResultSetNodedepth - The depth of this node in the treevoid generate(ActivationClassBuilder acb, MethodBuilder mb) throws StandardException
generate in class QueryTreeNodeacb - 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 ResultSetNodeacb - 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 SingleChildResultSetNodev - the visitorStandardException - on errorApache Derby V10.14 Internals - Copyright © 2004,2018 The Apache Software Foundation. All Rights Reserved.