public class RelationalPlanner extends Object
PlanNode
object - this object then becomes the input to
PlanToProcessConverter
to produce a
RelationalPlan
.Modifier and Type | Field and Description |
---|---|
static String |
MAT_PREFIX |
Constructor and Description |
---|
RelationalPlanner() |
Modifier and Type | Method and Description |
---|---|
static SymbolMap |
buildGroupingNode(Collection<AggregateSymbol> aggs,
List<? extends Expression> groupingCols,
PlanNode groupNode,
CommandContext cc,
IDGenerator idGenerator)
Build a grouping node that introduces a anon group (without a inline view source node)
|
RuleStack |
buildRules() |
Query |
createMatViewQuery(Object viewMatadataId,
Object matMetadataId,
String matTableName,
List<? extends Expression> select,
boolean isGlobal) |
static Query |
createMatViewQuery(Object matMetadataId,
String matTableName,
List<? extends Expression> select,
boolean isGlobal) |
org.teiid.query.optimizer.relational.RelationalPlanner.PlanningStackEntry |
createPlanningStackEntry(GroupSymbol group,
Command nestedCommand,
boolean isUpdateProcedure,
Set<org.teiid.query.optimizer.relational.RelationalPlanner.PlanningStackEntry> entries) |
static PlanNode |
createProjectNode(List<? extends Expression> select) |
static PlanNode |
createSelectNode(Criteria crit,
boolean isHaving) |
static PlanNode |
createSortNode(OrderBy orderBy) |
PlanNode |
executeRules(RuleStack rules,
PlanNode plan) |
PlanNode |
generatePlan(Command cmd) |
static Object |
getTrackableGroup(GroupSymbol group,
QueryMetadataInterface metadata) |
void |
initialize(Command command,
IDGenerator idGenerator,
QueryMetadataInterface metadata,
CapabilitiesFinder capFinder,
AnalysisRecord analysisRecord,
CommandContext context) |
static boolean |
isNoCacheGroup(QueryMetadataInterface metadata,
Object metadataID,
Option option) |
RelationalPlan |
optimize(Command command) |
void |
planSubqueries(Set<GroupSymbol> groupSymbols,
PlanNode node,
List<SubqueryContainer<?>> subqueryContainers,
boolean isStackEntry,
boolean skipPlanning) |
static Map<ElementSymbol,List<Set<Constant>>> |
remapPartitionInfo(GroupSymbol group,
Map<ElementSymbol,List<Set<Constant>>> partitionInfo) |
public static final String MAT_PREFIX
public RelationalPlan optimize(Command command) throws QueryPlannerException, QueryMetadataException, TeiidComponentException, QueryResolverException
public void initialize(Command command, IDGenerator idGenerator, QueryMetadataInterface metadata, CapabilitiesFinder capFinder, AnalysisRecord analysisRecord, CommandContext context)
public void planSubqueries(Set<GroupSymbol> groupSymbols, PlanNode node, List<SubqueryContainer<?>> subqueryContainers, boolean isStackEntry, boolean skipPlanning) throws QueryMetadataException, TeiidComponentException, QueryPlannerException
public RuleStack buildRules()
public PlanNode executeRules(RuleStack rules, PlanNode plan) throws QueryPlannerException, QueryMetadataException, TeiidComponentException
public PlanNode generatePlan(Command cmd) throws TeiidComponentException, TeiidProcessingException
public static Map<ElementSymbol,List<Set<Constant>>> remapPartitionInfo(GroupSymbol group, Map<ElementSymbol,List<Set<Constant>>> partitionInfo)
public static Object getTrackableGroup(GroupSymbol group, QueryMetadataInterface metadata) throws TeiidComponentException, QueryMetadataException
public org.teiid.query.optimizer.relational.RelationalPlanner.PlanningStackEntry createPlanningStackEntry(GroupSymbol group, Command nestedCommand, boolean isUpdateProcedure, Set<org.teiid.query.optimizer.relational.RelationalPlanner.PlanningStackEntry> entries) throws TeiidComponentException, QueryMetadataException, QueryPlannerException
public static SymbolMap buildGroupingNode(Collection<AggregateSymbol> aggs, List<? extends Expression> groupingCols, PlanNode groupNode, CommandContext cc, IDGenerator idGenerator) throws QueryMetadataException, TeiidComponentException
public static PlanNode createProjectNode(List<? extends Expression> select)
public static Query createMatViewQuery(Object matMetadataId, String matTableName, List<? extends Expression> select, boolean isGlobal)
public Query createMatViewQuery(Object viewMatadataId, Object matMetadataId, String matTableName, List<? extends Expression> select, boolean isGlobal) throws QueryMetadataException, TeiidComponentException
public static boolean isNoCacheGroup(QueryMetadataInterface metadata, Object metadataID, Option option) throws QueryMetadataException, TeiidComponentException
Copyright © 2019. All rights reserved.