public class RelMdAllPredicates extends java.lang.Object implements MetadataHandler<BuiltInMetadata.AllPredicates>
This should be used to infer whether same filters are applied on a given plan by materialized view rewriting rules.
The output predicates might contain references to columns produced
by TableScan operators (RexTableInputRef
). In turn, each TableScan
operator is identified uniquely by its qualified name and an identifier.
If the provider cannot infer the lineage for any of the expressions contain in any of the predicates, it will return null. Observe that this is different from the empty list of predicates, which means that there are not predicates in the (sub)plan.
Modifier and Type | Field and Description |
---|---|
static RelMetadataProvider |
SOURCE |
Constructor and Description |
---|
RelMdAllPredicates() |
public static final RelMetadataProvider SOURCE
public MetadataDef<BuiltInMetadata.AllPredicates> getDef()
getDef
in interface MetadataHandler<BuiltInMetadata.AllPredicates>
public RelOptPredicateList getAllPredicates(RelNode rel, RelMetadataQuery mq)
BuiltInMetadata.AllPredicates.getAllPredicates()
,
invoked using reflection.public RelOptPredicateList getAllPredicates(HepRelVertex rel, RelMetadataQuery mq)
public RelOptPredicateList getAllPredicates(RelSubset rel, RelMetadataQuery mq)
public RelOptPredicateList getAllPredicates(TableScan table, RelMetadataQuery mq)
public RelOptPredicateList getAllPredicates(Project project, RelMetadataQuery mq)
public RelOptPredicateList getAllPredicates(Filter filter, RelMetadataQuery mq)
public RelOptPredicateList getAllPredicates(Join join, RelMetadataQuery mq)
public RelOptPredicateList getAllPredicates(Aggregate agg, RelMetadataQuery mq)
public RelOptPredicateList getAllPredicates(Union union, RelMetadataQuery mq)
public RelOptPredicateList getAllPredicates(Sort sort, RelMetadataQuery mq)
public RelOptPredicateList getAllPredicates(Exchange exchange, RelMetadataQuery mq)
Copyright © 2012–2019 The Apache Software Foundation. All rights reserved.