org.teiid.query.optimizer.relational.rules
Class FrameUtil
java.lang.Object
org.teiid.query.optimizer.relational.rules.FrameUtil
public class FrameUtil
- extends java.lang.Object
Method Summary |
static java.util.Map<ElementSymbol,Expression> |
buildSymbolMap(GroupSymbol oldGroup,
GroupSymbol newGroup,
QueryMetadataInterface metadata)
creates a symbol map of elements in oldGroup mapped to corresponding elements in newGroup
if newGroup is null, then a mapping of oldGroup elements to null constants will be returned |
static void |
convertFrame(PlanNode startNode,
GroupSymbol oldGroup,
java.util.Set<GroupSymbol> newGroups,
java.util.Map symbolMap,
QueryMetadataInterface metadata)
|
static PlanNode |
findJoinSourceNode(PlanNode root)
Find the ACCESS, SOURCE, SET_OP, JOIN, or NULL node that originates the given groups, but will stop at the
first join node rather than searching for the best fit. |
static boolean |
isOrderedLimit(PlanNode node)
|
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
FrameUtil
public FrameUtil()
convertFrame
public static void convertFrame(PlanNode startNode,
GroupSymbol oldGroup,
java.util.Set<GroupSymbol> newGroups,
java.util.Map symbolMap,
QueryMetadataInterface metadata)
throws QueryPlannerException
- Throws:
QueryPlannerException
buildSymbolMap
public static java.util.Map<ElementSymbol,Expression> buildSymbolMap(GroupSymbol oldGroup,
GroupSymbol newGroup,
QueryMetadataInterface metadata)
throws QueryMetadataException,
TeiidComponentException
- creates a symbol map of elements in oldGroup mapped to corresponding elements in newGroup
if newGroup is null, then a mapping of oldGroup elements to null constants will be returned
- Parameters:
oldGroup
- newGroup
- metadata
-
- Returns:
-
- Throws:
QueryMetadataException
TeiidComponentException
findJoinSourceNode
public static PlanNode findJoinSourceNode(PlanNode root)
- Find the ACCESS, SOURCE, SET_OP, JOIN, or NULL node that originates the given groups, but will stop at the
first join node rather than searching for the best fit.
Returns null if the originating node cannot be found.
- Parameters:
root
- groups
-
- Returns:
isOrderedLimit
public static boolean isOrderedLimit(PlanNode node)
Copyright © 2011. All Rights Reserved.