Class RelMdAllPredicates

java.lang.Object
org.apache.calcite.rel.metadata.RelMdAllPredicates
All Implemented Interfaces:
MetadataHandler<BuiltInMetadata.AllPredicates>

public class RelMdAllPredicates extends Object implements MetadataHandler<BuiltInMetadata.AllPredicates>
Utility to extract Predicates that are present in the (sub)plan starting at this node.

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.