org.teiid.query.optimizer.relational.rules
Class FrameUtil

java.lang.Object
  extended by org.teiid.query.optimizer.relational.rules.FrameUtil

public class FrameUtil
extends java.lang.Object


Constructor Summary
FrameUtil()
           
 
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
 

Constructor Detail

FrameUtil

public FrameUtil()
Method Detail

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.