|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectcom.akiban.sql.parser.QueryTreeNode
com.akiban.sql.parser.ResultSetNode
com.akiban.sql.parser.FromTable
com.akiban.sql.parser.JoinNode
public class JoinNode
A JoinNode represents a join result set for either of the basic DML operations: SELECT and INSERT. For INSERT - SELECT, any of the fields in a JoinNode can be used (the JoinNode represents the (join) SELECT statement in the INSERT - SELECT). For INSERT, the resultColumns in the selectList will contain the names of the columns being inserted into or updated.
| Nested Class Summary | |
|---|---|
static class |
JoinNode.JoinType
|
| Field Summary | |
|---|---|
protected ResultSetNode |
leftResultSet
|
protected ResultSetNode |
rightResultSet
|
| Fields inherited from class com.akiban.sql.parser.FromTable |
|---|
correlationName, origTableName, tableProperties |
| Fields inherited from class com.akiban.sql.parser.QueryTreeNode |
|---|
AUTOINCREMENT_CREATE_MODIFY, AUTOINCREMENT_INC_INDEX, AUTOINCREMENT_IS_AUTOINCREMENT_INDEX, AUTOINCREMENT_START_INDEX |
| Constructor Summary | |
|---|---|
JoinNode()
|
|
| Method Summary | |
|---|---|
void |
copyFrom(QueryTreeNode node)
Fill this node with a deep copy of the given node. |
String |
getExposedName()
Return the exposed name for this table, which is the name that can be used to refer to this table in the rest of the query. |
ValueNode |
getJoinClause()
|
ResultSetNode |
getLeftmostResultSet()
|
ResultSetNode |
getLeftResultSet()
Get the leftResultSet from this node. |
ResultSetNode |
getLogicalLeftResultSet()
Return the logical left result set for this qualified join node. |
ResultSetNode |
getLogicalRightResultSet()
Return the logical right result set for this qualified join node. |
ResultSetNode |
getRightResultSet()
Get the rightResultSet from this node. |
ResultColumnList |
getUsingClause()
|
void |
init(Object leftResultSet,
Object rightResultSet,
Object tableProperties)
Initializer for a TableOperatorNode. |
void |
init(Object leftResult,
Object rightResult,
Object onClause,
Object usingClause,
Object selectList,
Object tableProperties,
Object joinOrderStrategyProperties)
Initializer for a JoinNode. |
boolean |
isNaturalJoin()
Is this a natural join? |
static String |
joinTypeToString(JoinNode.JoinType joinType)
Convert the joinType to a string. |
void |
printSubNodes(int depth)
Prints the sub-nodes of this object. |
void |
setJoinClause(ValueNode joinClause)
|
void |
setLeftmostResultSet(ResultSetNode newLeftResultSet)
|
void |
setLeftResultSet(ResultSetNode leftResultSet)
|
void |
setNestedInParens(boolean nestedInParens)
Mark whether or not this node is nested in parens. |
void |
setRightResultSet(ResultSetNode rightResultSet)
|
void |
setUsingClause(ResultColumnList usingClause)
|
String |
toString()
Convert this object to a String. |
| Methods inherited from class com.akiban.sql.parser.FromTable |
|---|
getCorrelationName, getOrigTableName, getTableName, init, setCorrelationName, setOrigTableName |
| Methods inherited from class com.akiban.sql.parser.ResultSetNode |
|---|
getResultColumns, setInsertSource, setResultColumns |
| Methods inherited from class com.akiban.sql.parser.QueryTreeNode |
|---|
accept, convertDefaultNode, debugFlush, debugPrint, formatNodeString, getBeginOffset, getDebugOutput, getEndOffset, getNodeFactory, getNodeType, getNullNode, getParserContext, getStatementType, getUserData, init, init, init, init, init, init, init, init, init, init, init, isInstanceOf, makeTableName, makeTableName, nodeHeader, printLabel, setBeginOffset, setDebugOutput, setEndOffset, setNodeType, setParserContext, setUserData, stackPrint, treePrint, treePrint, treePrint |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
| Field Detail |
|---|
protected ResultSetNode leftResultSet
protected ResultSetNode rightResultSet
| Constructor Detail |
|---|
public JoinNode()
| Method Detail |
|---|
public void init(Object leftResult,
Object rightResult,
Object onClause,
Object usingClause,
Object selectList,
Object tableProperties,
Object joinOrderStrategyProperties)
throws StandardException
init in class QueryTreeNodeleftResult - The ResultSetNode on the left side of this joinrightResult - The ResultSetNode on the right side of this joinonClause - The ON clauseusingClause - The USING clauseselectList - The result column list for the jointableProperties - Properties list associated with the tablejoinOrderStrategyProperties - User provided optimizer overrides
StandardException - Thrown on error
public void copyFrom(QueryTreeNode node)
throws StandardException
StandardExceptionpublic static String joinTypeToString(JoinNode.JoinType joinType)
joinType - The joinType as an enum.
public ValueNode getJoinClause()
public void setJoinClause(ValueNode joinClause)
public ResultColumnList getUsingClause()
public void setUsingClause(ResultColumnList usingClause)
public String toString()
public void printSubNodes(int depth)
depth - The depth of this node in the treepublic boolean isNaturalJoin()
public ResultSetNode getLogicalLeftResultSet()
public ResultSetNode getLogicalRightResultSet()
public void init(Object leftResultSet,
Object rightResultSet,
Object tableProperties)
throws StandardException
init in class QueryTreeNodeleftResultSet - The ResultSetNode on the left side of this noderightResultSet - The ResultSetNode on the right side of this nodetableProperties - Properties list associated with the table
StandardException - Thrown on errorpublic ResultSetNode getLeftResultSet()
public ResultSetNode getRightResultSet()
public void setLeftResultSet(ResultSetNode leftResultSet)
public void setRightResultSet(ResultSetNode rightResultSet)
public ResultSetNode getLeftmostResultSet()
public void setLeftmostResultSet(ResultSetNode newLeftResultSet)
public String getExposedName()
getExposedName in class FromTablepublic void setNestedInParens(boolean nestedInParens)
nestedInParens - Whether or not this node is nested in parens.
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||