|
|||||||||
| 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 error
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 error
public 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 error
public boolean referencesSessionSchema()
throws StandardException
referencesSessionSchema in class QueryTreeNodeStandardException - Thrown on error
public 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 Wed 2013-06-12 15:21:56+0000, from revision ??? | ||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||