Package org.apache.calcite.rel.metadata
package org.apache.calcite.rel.metadata
Defines metadata interfaces and utilities for relational
expressions.
-
ClassDescriptionContains the interfaces for several common forms of metadata.Metadata about the predicates that hold in the rows emitted from a relational expression.Handler API.Metadata about which columns are sorted.Handler API.Metadata about the origins of columns.Handler API.Metadata about whether a set of columns uniquely identifies a row.Handler API.Metadata about the cost of evaluating a relational expression, including all of its inputs.Handler API.Metadata about the number of distinct rows returned by a set of columns in a relational expression.Handler API.Metadata about how a relational expression is distributed.Handler API.Metadata about whether a relational expression should appear in a plan.Handler API.Metadata about the origins of expressions.Handler API.Metadata to get the lower bound cost of a RelNode.Handler API.Metadata about the maximum number of rows returned by a relational expression.Handler API.Metadata about whether a column is a measure and, if so, what is the expression to evaluate that measure in the current context.Context for a use of a measure at a call site.Handler API.Metadata about the memory use of an operator.Handler API.Metadata about the minimum number of rows returned by a relational expression.Handler API.Metadata about the node types in a relational expression.Handler API.Metadata about the cost of evaluating a relational expression, not including its inputs.Handler API.Metadata about the degree of parallelism of a relational expression, and how its operators are assigned to processes with independent resource pools.Handler API.Metadata about the proportion of original rows that remain in a relational expression.Handler API.Metadata about the number of distinct values in the original source of a column or set of columns.Handler API.Metadata about the predicates that hold in the rows emitted from a relational expression.Handler API.Metadata about the number of rows returned by a relational expression.Handler API.Metadata about the selectivity of a predicate.Handler API.Metadata about the size of rows and columns.Handler API.Metadata to obtain references to tables used by a given expression.Handler API.Metadata about which combinations of columns are unique identifiers.Handler API.Deprecated.Implementation of the
RelMetadataProvider
interface via theGlossary.CHAIN_OF_RESPONSIBILITY_PATTERN
.Exception that indicates that a cycle has been detected while computing metadata.DefaultRelMetadataProvider supplies a default implementation of theRelMetadataProvider
interface.Interface forRelNode
where the metadata is derived from another node.Implementation of theRelMetadataProvider
interface that generates a class that dispatches to the underlying providers.Deprecated.Metadata about a relational expression.MetadataDef<M extends Metadata>Definition of metadata.Source of metadata about relational expressions.Deprecated.MetadataHandler<M extends Metadata>Marker interface for a handler of metadata.ProvidesMetadataHandler
call sites forRelMetadataQuery
.Exception that indicates there there should be a handler for this class but there is not.Placeholder for null values.A MetadataHandlerProvider built on a RelMetadataProvider.Implementation of theRelMetadataProvider
interface that dispatches metadata methods to methods on a given object via reflection.Mapping from an input column of aRelNode
to one of its output columns.RelColumnOrigin is a data structure describing one of the origins of an output column produced by a relational expression.Utility to extract Predicates that are present in the (sub)plan starting at this node.RelMdCollation supplies a default implementation ofRelMetadataQuery.collations(org.apache.calcite.rel.RelNode)
for the standard logical algebra.RelMdColumnOrigins supplies a default implementation ofRelMetadataQuery.getColumnOrigins(org.apache.calcite.rel.RelNode, int)
for the standard logical algebra.RelMdColumnUniqueness supplies a default implementation ofRelMetadataQuery.areColumnsUnique(org.apache.calcite.rel.RelNode, org.apache.calcite.util.ImmutableBitSet)
for the standard logical algebra.RelMdDistinctRowCount supplies a default implementation ofRelMetadataQuery.getDistinctRowCount(org.apache.calcite.rel.RelNode, org.apache.calcite.util.ImmutableBitSet, org.apache.calcite.rex.RexNode)
for the standard logical algebra.RelMdCollation supplies a default implementation ofRelMetadataQuery.distribution(org.apache.calcite.rel.RelNode)
for the standard logical algebra.RelMdExplainVisibility supplies a default implementation ofRelMetadataQuery.isVisibleInExplain(org.apache.calcite.rel.RelNode, org.apache.calcite.sql.SqlExplainLevel)
for the standard logical algebra.Default implementation ofRelMetadataQuery.getExpressionLineage(org.apache.calcite.rel.RelNode, org.apache.calcite.rex.RexNode)
for the standard logical algebra.Default implementations of theBuiltInMetadata.LowerBoundCost
metadata provider for the standard algebra.RelMdMaxRowCount supplies a default implementation ofRelMetadataQuery.getMaxRowCount(org.apache.calcite.rel.RelNode)
for the standard logical algebra.Default implementations of theBuiltInMetadata.Measure
metadata provider for the standard logical algebra.Helpers forBuiltInMetadata.Measure.Context
.Implementation of Context that delegates to another Context.Default implementations of theBuiltInMetadata.Memory
metadata provider for the standard logical algebra.RelMdMinRowCount supplies a default implementation ofRelMetadataQuery.getMinRowCount(org.apache.calcite.rel.RelNode)
for the standard logical algebra.RelMdNodeTypeCount supplies a default implementation ofRelMetadataQuery.getNodeTypes(org.apache.calcite.rel.RelNode)
for the standard logical algebra.Default implementations of theBuiltInMetadata.Parallelism
metadata provider for the standard logical algebra.RelMdPercentageOriginalRows supplies a default implementation ofRelMetadataQuery.getPercentageOriginalRows(org.apache.calcite.rel.RelNode)
for the standard logical algebra.RelMdPopulationSize supplies a default implementation ofRelMetadataQuery.getPopulationSize(org.apache.calcite.rel.RelNode, org.apache.calcite.util.ImmutableBitSet)
for the standard logical algebra.Utility to infer Predicates that are applicable above a RelNode.RelMdRowCount supplies a default implementation ofRelMetadataQuery.getRowCount(org.apache.calcite.rel.RelNode)
for the standard logical algebra.RelMdSelectivity supplies a default implementation ofRelMetadataQuery.getSelectivity(org.apache.calcite.rel.RelNode, org.apache.calcite.rex.RexNode)
for the standard logical algebra.Default implementations of theBuiltInMetadata.Size
metadata provider for the standard logical algebra.Default implementation ofRelMetadataQuery.getTableReferences(org.apache.calcite.rel.RelNode)
for the standard logical algebra.RelMdUniqueKeys supplies a default implementation ofRelMetadataQuery.getUniqueKeys(org.apache.calcite.rel.RelNode)
for the standard logical algebra.RelMdUtil provides utility methods used by the metadata provider methods.RelMetadataProvider defines an interface for obtaining metadata about relational expressions.RelMetadataQuery provides a strongly-typed facade on top ofRelMetadataProvider
for the set of relational expression metadata queries defined as standard within Calcite.Base class for the RelMetadataQuery that uses the metadata handler class generated by the Janino.UnboundMetadata<M extends @Nullable Metadata>Metadata that needs to be bound to aRelNode
andRelMetadataQuery
before it can be used.
RelMetadataQuery
.