|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.apache.derby.impl.sql.compile.QueryTreeNode
org.apache.derby.impl.sql.compile.QueryTreeNodeVector
org.apache.derby.impl.sql.compile.SubqueryList
public class SubqueryList
A SubqueryList represents a list of subquerys within a specific clause (select, where or having) in a DML statement. It extends QueryTreeNodeVector.
Field Summary |
---|
Fields inherited from class org.apache.derby.impl.sql.compile.QueryTreeNode |
---|
AUTOINCREMENT_CREATE_MODIFY, AUTOINCREMENT_INC_INDEX, AUTOINCREMENT_IS_AUTOINCREMENT_INDEX, AUTOINCREMENT_START_INDEX, isPrivilegeCollectionRequired |
Constructor Summary | |
---|---|
SubqueryList()
|
Method Summary | |
---|---|
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. |
void |
preprocess(int numTables,
FromList outerFromList,
SubqueryList outerSubqueryList,
PredicateList outerPredicateList)
Preprocess a SubqueryList. |
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. |
Methods inherited from class org.apache.derby.impl.sql.compile.QueryTreeNodeVector |
---|
acceptChildren, addElement, destructiveAppend, elementAt, indexOf, insertElementAt, nondestructiveAppend, printSubNodes, remove, removeAllElements, removeElement, removeElementAt, setElementAt, size |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Constructor Detail |
---|
public SubqueryList()
Method Detail |
---|
public void addSubqueryNode(SubqueryNode subqueryNode) throws StandardException
subqueryNode
- A SubqueryNode to add to the list
StandardException
public void preprocess(int numTables, FromList outerFromList, SubqueryList outerSubqueryList, PredicateList outerPredicateList) throws StandardException
numTables
- Number of tables in the DML StatementouterFromList
- FromList from outer query blockouterSubqueryList
- SubqueryList from outer query blockouterPredicateList
- PredicateList from outer query block
StandardException
- Thrown on errorpublic 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 table
StandardException
- 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 attachment
StandardException
- Thrown on errorvoid decrementLevel(int decrement)
decrement
- The amount to decrement by.public void markHavingSubqueries()
public void markWhereSubqueries()
|
Built on Thu 2012-03-29 21:53:33+0000, from revision ??? | ||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |