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) |
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) |
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) 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 © 2017 JBoss by Red Hat. All rights reserved.