public abstract class Match extends SingleRel
Each output row has the columns defined in the measure statements.
| Modifier and Type | Class and Description |
|---|---|
private static class |
Match.AggregateFinder
Find aggregate functions in operands.
|
private static class |
Match.PatternVarFinder
Visits the operands of an aggregate call to retrieve relevant pattern
variables.
|
static class |
Match.RexMRAggCall
Aggregate calls in match recognize.
|
RelNode.Context| Modifier and Type | Field and Description |
|---|---|
protected RexNode |
after |
protected Set<Match.RexMRAggCall> |
aggregateCalls |
protected Map<String,SortedSet<Match.RexMRAggCall>> |
aggregateCallsPreVar |
protected boolean |
allRows |
protected RexNode |
interval |
protected com.google.common.collect.ImmutableMap<String,RexNode> |
measures |
protected RelCollation |
orderKeys |
protected List<RexNode> |
partitionKeys |
protected RexNode |
pattern |
protected com.google.common.collect.ImmutableMap<String,RexNode> |
patternDefinitions |
private static String |
STAR |
protected boolean |
strictEnd |
protected boolean |
strictStart |
protected com.google.common.collect.ImmutableMap<String,SortedSet<String>> |
subsets |
digest, id, rowType, traitSet| Modifier | Constructor and Description |
|---|---|
protected |
Match(RelOptCluster cluster,
RelTraitSet traitSet,
RelNode input,
RelDataType rowType,
RexNode pattern,
boolean strictStart,
boolean strictEnd,
Map<String,RexNode> patternDefinitions,
Map<String,RexNode> measures,
RexNode after,
Map<String,? extends SortedSet<String>> subsets,
boolean allRows,
List<RexNode> partitionKeys,
RelCollation orderKeys,
RexNode interval)
Creates a Match.
|
| Modifier and Type | Method and Description |
|---|---|
abstract Match |
copy(RelNode input,
RelDataType rowType,
RexNode pattern,
boolean strictStart,
boolean strictEnd,
Map<String,RexNode> patternDefinitions,
Map<String,RexNode> measures,
RexNode after,
Map<String,? extends SortedSet<String>> subsets,
boolean allRows,
List<RexNode> partitionKeys,
RelCollation orderKeys,
RexNode interval) |
RelNode |
copy(RelTraitSet traitSet,
List<RelNode> inputs)
Creates a copy of this relational expression, perhaps changing traits and
inputs.
|
private static <K extends Comparable<K>,V> |
copyMap(Map<K,? extends SortedSet<V>> map)
Creates an immutable map of a map of sorted sets.
|
RelWriter |
explainTerms(RelWriter pw)
Describes the inputs and attributes of this relational expression.
|
RexNode |
getAfter() |
RexNode |
getInterval() |
com.google.common.collect.ImmutableMap<String,RexNode> |
getMeasures() |
RelCollation |
getOrderKeys() |
List<RexNode> |
getPartitionKeys() |
RexNode |
getPattern() |
com.google.common.collect.ImmutableMap<String,RexNode> |
getPatternDefinitions() |
com.google.common.collect.ImmutableMap<String,SortedSet<String>> |
getSubsets() |
boolean |
isAllRows() |
boolean |
isStrictEnd() |
boolean |
isStrictStart() |
childrenAccept, deriveRowType, estimateRowCount, getInput, getInputs, replaceInputaccept, accept, collectVariablesSet, collectVariablesUsed, computeDigest, computeSelfCost, computeSelfCost, explain, getChildExps, getCluster, getCollationList, getConvention, getCorrelVariable, getDescription, getDigest, getExpectedInputRowType, getId, getInput, getQuery, getRelTypeName, getRows, getRowType, getTable, getTraitSet, getVariablesSet, getVariablesStopped, isDistinct, isKey, isValid, isValid, metadata, onRegister, recomputeDigest, register, sole, toStringprivate static final String STAR
protected final RexNode pattern
protected final boolean strictStart
protected final boolean strictEnd
protected final boolean allRows
protected final RexNode after
protected final com.google.common.collect.ImmutableMap<String,RexNode> patternDefinitions
protected final Set<Match.RexMRAggCall> aggregateCalls
protected final Map<String,SortedSet<Match.RexMRAggCall>> aggregateCallsPreVar
protected final RelCollation orderKeys
protected final RexNode interval
protected Match(RelOptCluster cluster, RelTraitSet traitSet, RelNode input, RelDataType rowType, RexNode pattern, boolean strictStart, boolean strictEnd, Map<String,RexNode> patternDefinitions, Map<String,RexNode> measures, RexNode after, Map<String,? extends SortedSet<String>> subsets, boolean allRows, List<RexNode> partitionKeys, RelCollation orderKeys, RexNode interval)
cluster - ClustertraitSet - Trait setinput - Input relational expressionrowType - Row typepattern - Regular expression that defines pattern variablesstrictStart - Whether it is a strict start patternstrictEnd - Whether it is a strict end patternpatternDefinitions - Pattern definitionsmeasures - Measure definitionsafter - After match definitionssubsets - Subsets of pattern variablesallRows - Whether all rows per match (false means one row per match)partitionKeys - Partition by columnsorderKeys - Order by columnsinterval - Interval definition, null if WITHIN clause is not definedprivate static <K extends Comparable<K>,V> com.google.common.collect.ImmutableSortedMap<K,SortedSet<V>> copyMap(Map<K,? extends SortedSet<V>> map)
public RexNode getAfter()
public RexNode getPattern()
public boolean isStrictStart()
public boolean isStrictEnd()
public boolean isAllRows()
public com.google.common.collect.ImmutableMap<String,RexNode> getPatternDefinitions()
public RelCollation getOrderKeys()
public RexNode getInterval()
public abstract Match copy(RelNode input, RelDataType rowType, RexNode pattern, boolean strictStart, boolean strictEnd, Map<String,RexNode> patternDefinitions, Map<String,RexNode> measures, RexNode after, Map<String,? extends SortedSet<String>> subsets, boolean allRows, List<RexNode> partitionKeys, RelCollation orderKeys, RexNode interval)
public RelNode copy(RelTraitSet traitSet, List<RelNode> inputs)
RelNodeSub-classes with other important attributes are encouraged to create variants of this method with more parameters.
copy in interface RelNodecopy in class AbstractRelNodetraitSet - Trait setinputs - Inputspublic RelWriter explainTerms(RelWriter pw)
AbstractRelNodesuper.explainTerms, then call the
RelWriterImpl.input(String, RelNode)
and
RelWriterImpl.item(String, Object)
methods for each input and attribute.explainTerms in class SingleRelpw - Plan writerCopyright © 2012–2018 The Apache Software Foundation. All rights reserved.