public class SubqueryList extends QueryTreeNodeVector
AUTOINCREMENT_CREATE_MODIFY, AUTOINCREMENT_INC_INDEX, AUTOINCREMENT_IS_AUTOINCREMENT_INDEX, AUTOINCREMENT_START_INDEX
Constructor and Description |
---|
SubqueryList() |
Modifier and Type | Method and Description |
---|---|
void |
addSubqueryNode(SubqueryNode subqueryNode)
Add a subquery to the list.
|
(package private) void |
decrementLevel(int decrement)
Decrement (query block) level (0-based) for
all of the tables in this subquery list.
|
void |
markHavingSubqueries()
Mark all of the subqueries in this
list as being part of a having clause,
so we can avoid flattenning later.
|
void |
markWhereSubqueries()
Mark all of the subqueries in this list as being part of a where clause
so we can avoid flattening later if needed.
|
void |
modifyAccessPaths()
Modify the access paths for all subqueries in this list.
|
void |
optimize(DataDictionary dataDictionary,
double outerRows)
Optimize the subqueries in this list.
|
boolean |
referencesSessionSchema()
Return true if the node references SESSION schema tables (temporary or permanent)
|
boolean |
referencesTarget(java.lang.String name,
boolean baseTable)
Search to see if a query references the specifed table name.
|
void |
setPointOfAttachment(int pointOfAttachment)
Set the point of attachment in all subqueries in this list.
|
acceptChildren, addElement, destructiveAppend, elementAt, indexOf, insertElementAt, nondestructiveAppend, printSubNodes, remove, removeAllElements, removeElement, removeElementAt, setElementAt, size
accept, bindOffsetFetch, bindRowMultiSet, bindUserCatalogType, bindUserType, checkReliability, checkReliability, convertDefaultNode, createTypeDependency, debugFlush, debugPrint, disablePrivilegeCollection, formatNodeString, foundString, generate, 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, init, init, isAtomic, isInstanceOf, isPrivilegeCollectionRequired, isSessionSchema, isSessionSchema, makeConstantAction, makeTableName, makeTableName, nodeHeader, orReliability, parseStatement, printLabel, resolveTableToSynonym, setBeginOffset, setContextManager, setEndOffset, setNodeType, setRefActionInfo, stackPrint, toString, treePrint, treePrint, verifyClassExist
public void addSubqueryNode(SubqueryNode subqueryNode) throws StandardException
subqueryNode
- A SubqueryNode to add to the listStandardException
public void optimize(DataDictionary dataDictionary, double outerRows) throws StandardException
dataDictionary
- The data dictionary to use for optimizationouterRows
- The optimizer's estimate of the number of
times this subquery will be executed.StandardException
- Thrown on errorpublic void modifyAccessPaths() throws StandardException
StandardException
- Thrown on errorResultSetNode.modifyAccessPaths()
public boolean referencesTarget(java.lang.String name, boolean baseTable) throws StandardException
name
- Table name (String) to search for.baseTable
- Whether or not name is for a base tableStandardException
- Thrown on errorpublic boolean referencesSessionSchema() throws StandardException
referencesSessionSchema
in class QueryTreeNode
StandardException
- Thrown on errorpublic void setPointOfAttachment(int pointOfAttachment) throws StandardException
pointOfAttachment
- The point of attachmentStandardException
- Thrown on errorvoid decrementLevel(int decrement)
decrement
- The amount to decrement by.public void markHavingSubqueries()
public void markWhereSubqueries()
Apache Derby V10.10 Internals - Copyright © 2004,2014 The Apache Software Foundation. All Rights Reserved.