blob: fc7875b17295ada2d586e0944662c392a6dcc458 [file] [log] [blame]
<!DOCTYPE HTML>
<html lang="en">
<head>
<!-- Generated by javadoc (17) -->
<title>org.apache.calcite.rel.metadata (Apache Calcite API)</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="description" content="declaration: package: org.apache.calcite.rel.metadata">
<meta name="generator" content="javadoc/PackageWriterImpl">
<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
<link rel="stylesheet" type="text/css" href="../../../../../script-dir/jquery-ui.min.css" title="Style">
<link rel="stylesheet" type="text/css" href="../../../../../jquery-ui.overrides.css" title="Style">
<script type="text/javascript" src="../../../../../script.js"></script>
<script type="text/javascript" src="../../../../../script-dir/jquery-3.5.1.min.js"></script>
<script type="text/javascript" src="../../../../../script-dir/jquery-ui.min.js"></script>
</head>
<body class="package-declaration-page">
<script type="text/javascript">var evenRowColor = "even-row-color";
var oddRowColor = "odd-row-color";
var tableTab = "table-tab";
var activeTableTab = "active-table-tab";
var pathtoroot = "../../../../../";
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<div class="flex-box">
<header role="banner" class="flex-header">
<nav role="navigation">
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="top-nav" id="navbar-top">
<div class="skip-nav"><a href="#skip-navbar-top" title="Skip navigation links">Skip navigation links</a></div>
<div class="about-language"><b>Apache Calcite</b></div>
<ul id="navbar-top-firstrow" class="nav-list" title="Navigation">
<li><a href="../../../../../index.html">Overview</a></li>
<li class="nav-bar-cell1-rev">Package</li>
<li>Class</li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../help-doc.html#package">Help</a></li>
</ul>
</div>
<div class="sub-nav">
<div>
<ul class="sub-nav-list">
<li>Package:&nbsp;</li>
<li><a href="#package-description">Description</a>&nbsp;|&nbsp;</li>
<li><a href="#related-package-summary">Related Packages</a>&nbsp;|&nbsp;</li>
<li><a href="#class-summary">Classes and Interfaces</a></li>
</ul>
</div>
<div class="nav-list-search"><label for="search-input">SEARCH:</label>
<input type="text" id="search-input" value="search" disabled="disabled">
<input type="reset" id="reset-button" value="reset" disabled="disabled">
</div>
</div>
<!-- ========= END OF TOP NAVBAR ========= -->
<span class="skip-nav" id="skip-navbar-top"></span></nav>
</header>
<div class="flex-content">
<main role="main">
<div class="header">
<h1 title="Package org.apache.calcite.rel.metadata" class="title">Package org.apache.calcite.rel.metadata</h1>
</div>
<hr>
<div class="package-signature">package <span class="element-name">org.apache.calcite.rel.metadata</span></div>
<section class="package-description" id="package-description">
<div class="block">Defines metadata interfaces and utilities for relational
expressions.</div>
</section>
<section class="summary">
<ul class="summary-list">
<li>
<div id="related-package-summary">
<div class="caption"><span>Related Packages</span></div>
<div class="summary-table two-column-summary">
<div class="table-header col-first">Package</div>
<div class="table-header col-last">Description</div>
<div class="col-first even-row-color"><a href="../package-summary.html">org.apache.calcite.rel</a></div>
<div class="col-last even-row-color">
<div class="block">Defines relational expressions.</div>
</div>
<div class="col-first odd-row-color"><a href="janino/package-summary.html">org.apache.calcite.rel.metadata.janino</a></div>
<div class="col-last odd-row-color">
<div class="block">Code for generating metadata handlers.</div>
</div>
</div>
</div>
</li>
<li>
<div id="class-summary">
<div class="table-tabs" role="tablist" aria-orientation="horizontal"><button id="class-summary-tab0" role="tab" aria-selected="true" aria-controls="class-summary.tabpanel" tabindex="0" onkeydown="switchTab(event)" onclick="show('class-summary', 'class-summary', 2)" class="active-table-tab">All Classes and Interfaces</button><button id="class-summary-tab1" role="tab" aria-selected="false" aria-controls="class-summary.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('class-summary', 'class-summary-tab1', 2)" class="table-tab">Interfaces</button><button id="class-summary-tab2" role="tab" aria-selected="false" aria-controls="class-summary.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('class-summary', 'class-summary-tab2', 2)" class="table-tab">Classes</button><button id="class-summary-tab3" role="tab" aria-selected="false" aria-controls="class-summary.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('class-summary', 'class-summary-tab3', 2)" class="table-tab">Enums</button><button id="class-summary-tab5" role="tab" aria-selected="false" aria-controls="class-summary.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('class-summary', 'class-summary-tab5', 2)" class="table-tab">Exceptions</button></div>
<div id="class-summary.tabpanel" role="tabpanel">
<div class="summary-table two-column-summary" aria-labelledby="class-summary-tab0">
<div class="table-header col-first">Class</div>
<div class="table-header col-last">Description</div>
<div class="col-first even-row-color class-summary class-summary-tab2"><a href="BuiltInMetadata.html" title="class in org.apache.calcite.rel.metadata">BuiltInMetadata</a></div>
<div class="col-last even-row-color class-summary class-summary-tab2">
<div class="block">Contains the interfaces for several common forms of metadata.</div>
</div>
<div class="col-first odd-row-color class-summary class-summary-tab1"><a href="BuiltInMetadata.AllPredicates.html" title="interface in org.apache.calcite.rel.metadata">BuiltInMetadata.AllPredicates</a></div>
<div class="col-last odd-row-color class-summary class-summary-tab1">
<div class="block">Metadata about the predicates that hold in the rows emitted from a
relational expression.</div>
</div>
<div class="col-first even-row-color class-summary class-summary-tab1"><a href="BuiltInMetadata.AllPredicates.Handler.html" title="interface in org.apache.calcite.rel.metadata">BuiltInMetadata.AllPredicates.Handler</a></div>
<div class="col-last even-row-color class-summary class-summary-tab1">
<div class="block">Handler API.</div>
</div>
<div class="col-first odd-row-color class-summary class-summary-tab1"><a href="BuiltInMetadata.Collation.html" title="interface in org.apache.calcite.rel.metadata">BuiltInMetadata.Collation</a></div>
<div class="col-last odd-row-color class-summary class-summary-tab1">
<div class="block">Metadata about which columns are sorted.</div>
</div>
<div class="col-first even-row-color class-summary class-summary-tab1"><a href="BuiltInMetadata.Collation.Handler.html" title="interface in org.apache.calcite.rel.metadata">BuiltInMetadata.Collation.Handler</a></div>
<div class="col-last even-row-color class-summary class-summary-tab1">
<div class="block">Handler API.</div>
</div>
<div class="col-first odd-row-color class-summary class-summary-tab1"><a href="BuiltInMetadata.ColumnOrigin.html" title="interface in org.apache.calcite.rel.metadata">BuiltInMetadata.ColumnOrigin</a></div>
<div class="col-last odd-row-color class-summary class-summary-tab1">
<div class="block">Metadata about the origins of columns.</div>
</div>
<div class="col-first even-row-color class-summary class-summary-tab1"><a href="BuiltInMetadata.ColumnOrigin.Handler.html" title="interface in org.apache.calcite.rel.metadata">BuiltInMetadata.ColumnOrigin.Handler</a></div>
<div class="col-last even-row-color class-summary class-summary-tab1">
<div class="block">Handler API.</div>
</div>
<div class="col-first odd-row-color class-summary class-summary-tab1"><a href="BuiltInMetadata.ColumnUniqueness.html" title="interface in org.apache.calcite.rel.metadata">BuiltInMetadata.ColumnUniqueness</a></div>
<div class="col-last odd-row-color class-summary class-summary-tab1">
<div class="block">Metadata about whether a set of columns uniquely identifies a row.</div>
</div>
<div class="col-first even-row-color class-summary class-summary-tab1"><a href="BuiltInMetadata.ColumnUniqueness.Handler.html" title="interface in org.apache.calcite.rel.metadata">BuiltInMetadata.ColumnUniqueness.Handler</a></div>
<div class="col-last even-row-color class-summary class-summary-tab1">
<div class="block">Handler API.</div>
</div>
<div class="col-first odd-row-color class-summary class-summary-tab1"><a href="BuiltInMetadata.CumulativeCost.html" title="interface in org.apache.calcite.rel.metadata">BuiltInMetadata.CumulativeCost</a></div>
<div class="col-last odd-row-color class-summary class-summary-tab1">
<div class="block">Metadata about the cost of evaluating a relational expression, including
all of its inputs.</div>
</div>
<div class="col-first even-row-color class-summary class-summary-tab1"><a href="BuiltInMetadata.CumulativeCost.Handler.html" title="interface in org.apache.calcite.rel.metadata">BuiltInMetadata.CumulativeCost.Handler</a></div>
<div class="col-last even-row-color class-summary class-summary-tab1">
<div class="block">Handler API.</div>
</div>
<div class="col-first odd-row-color class-summary class-summary-tab1"><a href="BuiltInMetadata.DistinctRowCount.html" title="interface in org.apache.calcite.rel.metadata">BuiltInMetadata.DistinctRowCount</a></div>
<div class="col-last odd-row-color class-summary class-summary-tab1">
<div class="block">Metadata about the number of distinct rows returned by a set of columns
in a relational expression.</div>
</div>
<div class="col-first even-row-color class-summary class-summary-tab1"><a href="BuiltInMetadata.DistinctRowCount.Handler.html" title="interface in org.apache.calcite.rel.metadata">BuiltInMetadata.DistinctRowCount.Handler</a></div>
<div class="col-last even-row-color class-summary class-summary-tab1">
<div class="block">Handler API.</div>
</div>
<div class="col-first odd-row-color class-summary class-summary-tab1"><a href="BuiltInMetadata.Distribution.html" title="interface in org.apache.calcite.rel.metadata">BuiltInMetadata.Distribution</a></div>
<div class="col-last odd-row-color class-summary class-summary-tab1">
<div class="block">Metadata about how a relational expression is distributed.</div>
</div>
<div class="col-first even-row-color class-summary class-summary-tab1"><a href="BuiltInMetadata.Distribution.Handler.html" title="interface in org.apache.calcite.rel.metadata">BuiltInMetadata.Distribution.Handler</a></div>
<div class="col-last even-row-color class-summary class-summary-tab1">
<div class="block">Handler API.</div>
</div>
<div class="col-first odd-row-color class-summary class-summary-tab1"><a href="BuiltInMetadata.ExplainVisibility.html" title="interface in org.apache.calcite.rel.metadata">BuiltInMetadata.ExplainVisibility</a></div>
<div class="col-last odd-row-color class-summary class-summary-tab1">
<div class="block">Metadata about whether a relational expression should appear in a plan.</div>
</div>
<div class="col-first even-row-color class-summary class-summary-tab1"><a href="BuiltInMetadata.ExplainVisibility.Handler.html" title="interface in org.apache.calcite.rel.metadata">BuiltInMetadata.ExplainVisibility.Handler</a></div>
<div class="col-last even-row-color class-summary class-summary-tab1">
<div class="block">Handler API.</div>
</div>
<div class="col-first odd-row-color class-summary class-summary-tab1"><a href="BuiltInMetadata.ExpressionLineage.html" title="interface in org.apache.calcite.rel.metadata">BuiltInMetadata.ExpressionLineage</a></div>
<div class="col-last odd-row-color class-summary class-summary-tab1">
<div class="block">Metadata about the origins of expressions.</div>
</div>
<div class="col-first even-row-color class-summary class-summary-tab1"><a href="BuiltInMetadata.ExpressionLineage.Handler.html" title="interface in org.apache.calcite.rel.metadata">BuiltInMetadata.ExpressionLineage.Handler</a></div>
<div class="col-last even-row-color class-summary class-summary-tab1">
<div class="block">Handler API.</div>
</div>
<div class="col-first odd-row-color class-summary class-summary-tab1"><a href="BuiltInMetadata.LowerBoundCost.html" title="interface in org.apache.calcite.rel.metadata">BuiltInMetadata.LowerBoundCost</a></div>
<div class="col-last odd-row-color class-summary class-summary-tab1">
<div class="block">Metadata to get the lower bound cost of a RelNode.</div>
</div>
<div class="col-first even-row-color class-summary class-summary-tab1"><a href="BuiltInMetadata.LowerBoundCost.Handler.html" title="interface in org.apache.calcite.rel.metadata">BuiltInMetadata.LowerBoundCost.Handler</a></div>
<div class="col-last even-row-color class-summary class-summary-tab1">
<div class="block">Handler API.</div>
</div>
<div class="col-first odd-row-color class-summary class-summary-tab1"><a href="BuiltInMetadata.MaxRowCount.html" title="interface in org.apache.calcite.rel.metadata">BuiltInMetadata.MaxRowCount</a></div>
<div class="col-last odd-row-color class-summary class-summary-tab1">
<div class="block">Metadata about the maximum number of rows returned by a relational
expression.</div>
</div>
<div class="col-first even-row-color class-summary class-summary-tab1"><a href="BuiltInMetadata.MaxRowCount.Handler.html" title="interface in org.apache.calcite.rel.metadata">BuiltInMetadata.MaxRowCount.Handler</a></div>
<div class="col-last even-row-color class-summary class-summary-tab1">
<div class="block">Handler API.</div>
</div>
<div class="col-first odd-row-color class-summary class-summary-tab1"><a href="BuiltInMetadata.Memory.html" title="interface in org.apache.calcite.rel.metadata">BuiltInMetadata.Memory</a></div>
<div class="col-last odd-row-color class-summary class-summary-tab1">
<div class="block">Metadata about the memory use of an operator.</div>
</div>
<div class="col-first even-row-color class-summary class-summary-tab1"><a href="BuiltInMetadata.Memory.Handler.html" title="interface in org.apache.calcite.rel.metadata">BuiltInMetadata.Memory.Handler</a></div>
<div class="col-last even-row-color class-summary class-summary-tab1">
<div class="block">Handler API.</div>
</div>
<div class="col-first odd-row-color class-summary class-summary-tab1"><a href="BuiltInMetadata.MinRowCount.html" title="interface in org.apache.calcite.rel.metadata">BuiltInMetadata.MinRowCount</a></div>
<div class="col-last odd-row-color class-summary class-summary-tab1">
<div class="block">Metadata about the minimum number of rows returned by a relational
expression.</div>
</div>
<div class="col-first even-row-color class-summary class-summary-tab1"><a href="BuiltInMetadata.MinRowCount.Handler.html" title="interface in org.apache.calcite.rel.metadata">BuiltInMetadata.MinRowCount.Handler</a></div>
<div class="col-last even-row-color class-summary class-summary-tab1">
<div class="block">Handler API.</div>
</div>
<div class="col-first odd-row-color class-summary class-summary-tab1"><a href="BuiltInMetadata.NodeTypes.html" title="interface in org.apache.calcite.rel.metadata">BuiltInMetadata.NodeTypes</a></div>
<div class="col-last odd-row-color class-summary class-summary-tab1">
<div class="block">Metadata about the node types in a relational expression.</div>
</div>
<div class="col-first even-row-color class-summary class-summary-tab1"><a href="BuiltInMetadata.NodeTypes.Handler.html" title="interface in org.apache.calcite.rel.metadata">BuiltInMetadata.NodeTypes.Handler</a></div>
<div class="col-last even-row-color class-summary class-summary-tab1">
<div class="block">Handler API.</div>
</div>
<div class="col-first odd-row-color class-summary class-summary-tab1"><a href="BuiltInMetadata.NonCumulativeCost.html" title="interface in org.apache.calcite.rel.metadata">BuiltInMetadata.NonCumulativeCost</a></div>
<div class="col-last odd-row-color class-summary class-summary-tab1">
<div class="block">Metadata about the cost of evaluating a relational expression, not
including its inputs.</div>
</div>
<div class="col-first even-row-color class-summary class-summary-tab1"><a href="BuiltInMetadata.NonCumulativeCost.Handler.html" title="interface in org.apache.calcite.rel.metadata">BuiltInMetadata.NonCumulativeCost.Handler</a></div>
<div class="col-last even-row-color class-summary class-summary-tab1">
<div class="block">Handler API.</div>
</div>
<div class="col-first odd-row-color class-summary class-summary-tab1"><a href="BuiltInMetadata.Parallelism.html" title="interface in org.apache.calcite.rel.metadata">BuiltInMetadata.Parallelism</a></div>
<div class="col-last odd-row-color class-summary class-summary-tab1">
<div class="block">Metadata about the degree of parallelism of a relational expression, and
how its operators are assigned to processes with independent resource
pools.</div>
</div>
<div class="col-first even-row-color class-summary class-summary-tab1"><a href="BuiltInMetadata.Parallelism.Handler.html" title="interface in org.apache.calcite.rel.metadata">BuiltInMetadata.Parallelism.Handler</a></div>
<div class="col-last even-row-color class-summary class-summary-tab1">
<div class="block">Handler API.</div>
</div>
<div class="col-first odd-row-color class-summary class-summary-tab1"><a href="BuiltInMetadata.PercentageOriginalRows.html" title="interface in org.apache.calcite.rel.metadata">BuiltInMetadata.PercentageOriginalRows</a></div>
<div class="col-last odd-row-color class-summary class-summary-tab1">
<div class="block">Metadata about the proportion of original rows that remain in a relational
expression.</div>
</div>
<div class="col-first even-row-color class-summary class-summary-tab1"><a href="BuiltInMetadata.PercentageOriginalRows.Handler.html" title="interface in org.apache.calcite.rel.metadata">BuiltInMetadata.PercentageOriginalRows.Handler</a></div>
<div class="col-last even-row-color class-summary class-summary-tab1">
<div class="block">Handler API.</div>
</div>
<div class="col-first odd-row-color class-summary class-summary-tab1"><a href="BuiltInMetadata.PopulationSize.html" title="interface in org.apache.calcite.rel.metadata">BuiltInMetadata.PopulationSize</a></div>
<div class="col-last odd-row-color class-summary class-summary-tab1">
<div class="block">Metadata about the number of distinct values in the original source of a
column or set of columns.</div>
</div>
<div class="col-first even-row-color class-summary class-summary-tab1"><a href="BuiltInMetadata.PopulationSize.Handler.html" title="interface in org.apache.calcite.rel.metadata">BuiltInMetadata.PopulationSize.Handler</a></div>
<div class="col-last even-row-color class-summary class-summary-tab1">
<div class="block">Handler API.</div>
</div>
<div class="col-first odd-row-color class-summary class-summary-tab1"><a href="BuiltInMetadata.Predicates.html" title="interface in org.apache.calcite.rel.metadata">BuiltInMetadata.Predicates</a></div>
<div class="col-last odd-row-color class-summary class-summary-tab1">
<div class="block">Metadata about the predicates that hold in the rows emitted from a
relational expression.</div>
</div>
<div class="col-first even-row-color class-summary class-summary-tab1"><a href="BuiltInMetadata.Predicates.Handler.html" title="interface in org.apache.calcite.rel.metadata">BuiltInMetadata.Predicates.Handler</a></div>
<div class="col-last even-row-color class-summary class-summary-tab1">
<div class="block">Handler API.</div>
</div>
<div class="col-first odd-row-color class-summary class-summary-tab1"><a href="BuiltInMetadata.RowCount.html" title="interface in org.apache.calcite.rel.metadata">BuiltInMetadata.RowCount</a></div>
<div class="col-last odd-row-color class-summary class-summary-tab1">
<div class="block">Metadata about the number of rows returned by a relational expression.</div>
</div>
<div class="col-first even-row-color class-summary class-summary-tab1"><a href="BuiltInMetadata.RowCount.Handler.html" title="interface in org.apache.calcite.rel.metadata">BuiltInMetadata.RowCount.Handler</a></div>
<div class="col-last even-row-color class-summary class-summary-tab1">
<div class="block">Handler API.</div>
</div>
<div class="col-first odd-row-color class-summary class-summary-tab1"><a href="BuiltInMetadata.Selectivity.html" title="interface in org.apache.calcite.rel.metadata">BuiltInMetadata.Selectivity</a></div>
<div class="col-last odd-row-color class-summary class-summary-tab1">
<div class="block">Metadata about the selectivity of a predicate.</div>
</div>
<div class="col-first even-row-color class-summary class-summary-tab1"><a href="BuiltInMetadata.Selectivity.Handler.html" title="interface in org.apache.calcite.rel.metadata">BuiltInMetadata.Selectivity.Handler</a></div>
<div class="col-last even-row-color class-summary class-summary-tab1">
<div class="block">Handler API.</div>
</div>
<div class="col-first odd-row-color class-summary class-summary-tab1"><a href="BuiltInMetadata.Size.html" title="interface in org.apache.calcite.rel.metadata">BuiltInMetadata.Size</a></div>
<div class="col-last odd-row-color class-summary class-summary-tab1">
<div class="block">Metadata about the size of rows and columns.</div>
</div>
<div class="col-first even-row-color class-summary class-summary-tab1"><a href="BuiltInMetadata.Size.Handler.html" title="interface in org.apache.calcite.rel.metadata">BuiltInMetadata.Size.Handler</a></div>
<div class="col-last even-row-color class-summary class-summary-tab1">
<div class="block">Handler API.</div>
</div>
<div class="col-first odd-row-color class-summary class-summary-tab1"><a href="BuiltInMetadata.TableReferences.html" title="interface in org.apache.calcite.rel.metadata">BuiltInMetadata.TableReferences</a></div>
<div class="col-last odd-row-color class-summary class-summary-tab1">
<div class="block">Metadata to obtain references to tables used by a given expression.</div>
</div>
<div class="col-first even-row-color class-summary class-summary-tab1"><a href="BuiltInMetadata.TableReferences.Handler.html" title="interface in org.apache.calcite.rel.metadata">BuiltInMetadata.TableReferences.Handler</a></div>
<div class="col-last even-row-color class-summary class-summary-tab1">
<div class="block">Handler API.</div>
</div>
<div class="col-first odd-row-color class-summary class-summary-tab1"><a href="BuiltInMetadata.UniqueKeys.html" title="interface in org.apache.calcite.rel.metadata">BuiltInMetadata.UniqueKeys</a></div>
<div class="col-last odd-row-color class-summary class-summary-tab1">
<div class="block">Metadata about which combinations of columns are unique identifiers.</div>
</div>
<div class="col-first even-row-color class-summary class-summary-tab1"><a href="BuiltInMetadata.UniqueKeys.Handler.html" title="interface in org.apache.calcite.rel.metadata">BuiltInMetadata.UniqueKeys.Handler</a></div>
<div class="col-last even-row-color class-summary class-summary-tab1">
<div class="block">Handler API.</div>
</div>
<div class="col-first odd-row-color class-summary class-summary-tab2"><a href="CachingRelMetadataProvider.html" title="class in org.apache.calcite.rel.metadata">CachingRelMetadataProvider</a></div>
<div class="col-last odd-row-color class-summary class-summary-tab2">Deprecated.</div>
<div class="col-first even-row-color class-summary class-summary-tab2"><a href="ChainedRelMetadataProvider.html" title="class in org.apache.calcite.rel.metadata">ChainedRelMetadataProvider</a></div>
<div class="col-last even-row-color class-summary class-summary-tab2">
<div class="block">Implementation of the <a href="RelMetadataProvider.html" title="interface in org.apache.calcite.rel.metadata"><code>RelMetadataProvider</code></a>
interface via the
<a href="../../util/Glossary.html#CHAIN_OF_RESPONSIBILITY_PATTERN"><code>Glossary.CHAIN_OF_RESPONSIBILITY_PATTERN</code></a>.</div>
</div>
<div class="col-first odd-row-color class-summary class-summary-tab5"><a href="CyclicMetadataException.html" title="class in org.apache.calcite.rel.metadata">CyclicMetadataException</a></div>
<div class="col-last odd-row-color class-summary class-summary-tab5">
<div class="block">Exception that indicates that a cycle has been detected while
computing metadata.</div>
</div>
<div class="col-first even-row-color class-summary class-summary-tab2"><a href="DefaultRelMetadataProvider.html" title="class in org.apache.calcite.rel.metadata">DefaultRelMetadataProvider</a></div>
<div class="col-last even-row-color class-summary class-summary-tab2">
<div class="block">DefaultRelMetadataProvider supplies a default implementation of the
<a href="RelMetadataProvider.html" title="interface in org.apache.calcite.rel.metadata"><code>RelMetadataProvider</code></a> interface.</div>
</div>
<div class="col-first odd-row-color class-summary class-summary-tab1"><a href="DelegatingMetadataRel.html" title="interface in org.apache.calcite.rel.metadata">DelegatingMetadataRel</a></div>
<div class="col-last odd-row-color class-summary class-summary-tab1">
<div class="block">Interface for <a href="../RelNode.html" title="interface in org.apache.calcite.rel"><code>RelNode</code></a> where the metadata is derived from another node.</div>
</div>
<div class="col-first even-row-color class-summary class-summary-tab2"><a href="JaninoRelMetadataProvider.html" title="class in org.apache.calcite.rel.metadata">JaninoRelMetadataProvider</a></div>
<div class="col-last even-row-color class-summary class-summary-tab2">
<div class="block">Implementation of the <a href="RelMetadataProvider.html" title="interface in org.apache.calcite.rel.metadata"><code>RelMetadataProvider</code></a> interface that generates
a class that dispatches to the underlying providers.</div>
</div>
<div class="col-first odd-row-color class-summary class-summary-tab5"><a href="JaninoRelMetadataProvider.NoHandler.html" title="class in org.apache.calcite.rel.metadata">JaninoRelMetadataProvider.NoHandler</a></div>
<div class="col-last odd-row-color class-summary class-summary-tab5">Deprecated.</div>
<div class="col-first even-row-color class-summary class-summary-tab1"><a href="Metadata.html" title="interface in org.apache.calcite.rel.metadata">Metadata</a></div>
<div class="col-last even-row-color class-summary class-summary-tab1">
<div class="block">Metadata about a relational expression.</div>
</div>
<div class="col-first odd-row-color class-summary class-summary-tab2"><a href="MetadataDef.html" title="class in org.apache.calcite.rel.metadata">MetadataDef</a>&lt;M extends <a href="Metadata.html" title="interface in org.apache.calcite.rel.metadata">Metadata</a>&gt;</div>
<div class="col-last odd-row-color class-summary class-summary-tab2">
<div class="block">Definition of metadata.</div>
</div>
<div class="col-first even-row-color class-summary class-summary-tab1"><a href="MetadataFactory.html" title="interface in org.apache.calcite.rel.metadata">MetadataFactory</a></div>
<div class="col-last even-row-color class-summary class-summary-tab1">
<div class="block">Source of metadata about relational expressions.</div>
</div>
<div class="col-first odd-row-color class-summary class-summary-tab2"><a href="MetadataFactoryImpl.html" title="class in org.apache.calcite.rel.metadata">MetadataFactoryImpl</a></div>
<div class="col-last odd-row-color class-summary class-summary-tab2">Deprecated.
<div class="deprecation-comment">Use <a href="RelMetadataQuery.html" title="class in org.apache.calcite.rel.metadata"><code>RelMetadataQuery</code></a>.</div>
</div>
<div class="col-first even-row-color class-summary class-summary-tab1"><a href="MetadataHandler.html" title="interface in org.apache.calcite.rel.metadata">MetadataHandler</a>&lt;M extends <a href="Metadata.html" title="interface in org.apache.calcite.rel.metadata">Metadata</a>&gt;</div>
<div class="col-last even-row-color class-summary class-summary-tab1">
<div class="block">Marker interface for a handler of metadata.</div>
</div>
<div class="col-first odd-row-color class-summary class-summary-tab1"><a href="MetadataHandlerProvider.html" title="interface in org.apache.calcite.rel.metadata">MetadataHandlerProvider</a></div>
<div class="col-last odd-row-color class-summary class-summary-tab1">
<div class="block">Provides <a href="MetadataHandler.html" title="interface in org.apache.calcite.rel.metadata"><code>MetadataHandler</code></a> call sites for
<a href="RelMetadataQuery.html" title="class in org.apache.calcite.rel.metadata"><code>RelMetadataQuery</code></a>.</div>
</div>
<div class="col-first even-row-color class-summary class-summary-tab5"><a href="MetadataHandlerProvider.NoHandler.html" title="class in org.apache.calcite.rel.metadata">MetadataHandlerProvider.NoHandler</a></div>
<div class="col-last even-row-color class-summary class-summary-tab5">
<div class="block">Exception that indicates there there should be a handler for
this class but there is not.</div>
</div>
<div class="col-first odd-row-color class-summary class-summary-tab3"><a href="NullSentinel.html" title="enum in org.apache.calcite.rel.metadata">NullSentinel</a></div>
<div class="col-last odd-row-color class-summary class-summary-tab3">
<div class="block">Placeholder for null values.</div>
</div>
<div class="col-first even-row-color class-summary class-summary-tab2"><a href="ProxyingMetadataHandlerProvider.html" title="class in org.apache.calcite.rel.metadata">ProxyingMetadataHandlerProvider</a></div>
<div class="col-last even-row-color class-summary class-summary-tab2">
<div class="block">A MetadataHandlerProvider built on a RelMetadataProvider.</div>
</div>
<div class="col-first odd-row-color class-summary class-summary-tab2"><a href="ReflectiveRelMetadataProvider.html" title="class in org.apache.calcite.rel.metadata">ReflectiveRelMetadataProvider</a></div>
<div class="col-last odd-row-color class-summary class-summary-tab2">
<div class="block">Implementation of the <a href="RelMetadataProvider.html" title="interface in org.apache.calcite.rel.metadata"><code>RelMetadataProvider</code></a> interface that dispatches
metadata methods to methods on a given object via reflection.</div>
</div>
<div class="col-first even-row-color class-summary class-summary-tab2"><a href="RelColumnMapping.html" title="class in org.apache.calcite.rel.metadata">RelColumnMapping</a></div>
<div class="col-last even-row-color class-summary class-summary-tab2">
<div class="block">Mapping from an input column of a <a href="../RelNode.html" title="interface in org.apache.calcite.rel"><code>RelNode</code></a> to
one of its output columns.</div>
</div>
<div class="col-first odd-row-color class-summary class-summary-tab2"><a href="RelColumnOrigin.html" title="class in org.apache.calcite.rel.metadata">RelColumnOrigin</a></div>
<div class="col-last odd-row-color class-summary class-summary-tab2">
<div class="block">RelColumnOrigin is a data structure describing one of the origins of an
output column produced by a relational expression.</div>
</div>
<div class="col-first even-row-color class-summary class-summary-tab2"><a href="RelMdAllPredicates.html" title="class in org.apache.calcite.rel.metadata">RelMdAllPredicates</a></div>
<div class="col-last even-row-color class-summary class-summary-tab2">
<div class="block">Utility to extract Predicates that are present in the (sub)plan
starting at this node.</div>
</div>
<div class="col-first odd-row-color class-summary class-summary-tab2"><a href="RelMdCollation.html" title="class in org.apache.calcite.rel.metadata">RelMdCollation</a></div>
<div class="col-last odd-row-color class-summary class-summary-tab2">
<div class="block">RelMdCollation supplies a default implementation of
<a href="RelMetadataQuery.html#collations(org.apache.calcite.rel.RelNode)"><code>RelMetadataQuery.collations(org.apache.calcite.rel.RelNode)</code></a>
for the standard logical algebra.</div>
</div>
<div class="col-first even-row-color class-summary class-summary-tab2"><a href="RelMdColumnOrigins.html" title="class in org.apache.calcite.rel.metadata">RelMdColumnOrigins</a></div>
<div class="col-last even-row-color class-summary class-summary-tab2">
<div class="block">RelMdColumnOrigins supplies a default implementation of
<a href="RelMetadataQuery.html#getColumnOrigins(org.apache.calcite.rel.RelNode,int)"><code>RelMetadataQuery.getColumnOrigins(org.apache.calcite.rel.RelNode, int)</code></a> for the standard logical algebra.</div>
</div>
<div class="col-first odd-row-color class-summary class-summary-tab2"><a href="RelMdColumnUniqueness.html" title="class in org.apache.calcite.rel.metadata">RelMdColumnUniqueness</a></div>
<div class="col-last odd-row-color class-summary class-summary-tab2">
<div class="block">RelMdColumnUniqueness supplies a default implementation of
<a href="RelMetadataQuery.html#areColumnsUnique(org.apache.calcite.rel.RelNode,org.apache.calcite.util.ImmutableBitSet)"><code>RelMetadataQuery.areColumnsUnique(org.apache.calcite.rel.RelNode, org.apache.calcite.util.ImmutableBitSet)</code></a> for the standard logical algebra.</div>
</div>
<div class="col-first even-row-color class-summary class-summary-tab2"><a href="RelMdDistinctRowCount.html" title="class in org.apache.calcite.rel.metadata">RelMdDistinctRowCount</a></div>
<div class="col-last even-row-color class-summary class-summary-tab2">
<div class="block">RelMdDistinctRowCount supplies a default implementation of
<a href="RelMetadataQuery.html#getDistinctRowCount(org.apache.calcite.rel.RelNode,org.apache.calcite.util.ImmutableBitSet,org.apache.calcite.rex.RexNode)"><code>RelMetadataQuery.getDistinctRowCount(org.apache.calcite.rel.RelNode, org.apache.calcite.util.ImmutableBitSet, org.apache.calcite.rex.RexNode)</code></a> for the standard logical
algebra.</div>
</div>
<div class="col-first odd-row-color class-summary class-summary-tab2"><a href="RelMdDistribution.html" title="class in org.apache.calcite.rel.metadata">RelMdDistribution</a></div>
<div class="col-last odd-row-color class-summary class-summary-tab2">
<div class="block">RelMdCollation supplies a default implementation of
<a href="RelMetadataQuery.html#distribution(org.apache.calcite.rel.RelNode)"><code>RelMetadataQuery.distribution(org.apache.calcite.rel.RelNode)</code></a>
for the standard logical algebra.</div>
</div>
<div class="col-first even-row-color class-summary class-summary-tab2"><a href="RelMdExplainVisibility.html" title="class in org.apache.calcite.rel.metadata">RelMdExplainVisibility</a></div>
<div class="col-last even-row-color class-summary class-summary-tab2">
<div class="block">RelMdExplainVisibility supplies a default implementation of
<a href="RelMetadataQuery.html#isVisibleInExplain(org.apache.calcite.rel.RelNode,org.apache.calcite.sql.SqlExplainLevel)"><code>RelMetadataQuery.isVisibleInExplain(org.apache.calcite.rel.RelNode, org.apache.calcite.sql.SqlExplainLevel)</code></a> for the standard logical algebra.</div>
</div>
<div class="col-first odd-row-color class-summary class-summary-tab2"><a href="RelMdExpressionLineage.html" title="class in org.apache.calcite.rel.metadata">RelMdExpressionLineage</a></div>
<div class="col-last odd-row-color class-summary class-summary-tab2">
<div class="block">Default implementation of
<a href="RelMetadataQuery.html#getExpressionLineage(org.apache.calcite.rel.RelNode,org.apache.calcite.rex.RexNode)"><code>RelMetadataQuery.getExpressionLineage(org.apache.calcite.rel.RelNode, org.apache.calcite.rex.RexNode)</code></a> for the standard logical
algebra.</div>
</div>
<div class="col-first even-row-color class-summary class-summary-tab2"><a href="RelMdLowerBoundCost.html" title="class in org.apache.calcite.rel.metadata">RelMdLowerBoundCost</a></div>
<div class="col-last even-row-color class-summary class-summary-tab2">
<div class="block">Default implementations of the
<a href="BuiltInMetadata.LowerBoundCost.html" title="interface in org.apache.calcite.rel.metadata"><code>BuiltInMetadata.LowerBoundCost</code></a>
metadata provider for the standard algebra.</div>
</div>
<div class="col-first odd-row-color class-summary class-summary-tab2"><a href="RelMdMaxRowCount.html" title="class in org.apache.calcite.rel.metadata">RelMdMaxRowCount</a></div>
<div class="col-last odd-row-color class-summary class-summary-tab2">
<div class="block">RelMdMaxRowCount supplies a default implementation of
<a href="RelMetadataQuery.html#getMaxRowCount(org.apache.calcite.rel.RelNode)"><code>RelMetadataQuery.getMaxRowCount(org.apache.calcite.rel.RelNode)</code></a> for the standard logical algebra.</div>
</div>
<div class="col-first even-row-color class-summary class-summary-tab2"><a href="RelMdMemory.html" title="class in org.apache.calcite.rel.metadata">RelMdMemory</a></div>
<div class="col-last even-row-color class-summary class-summary-tab2">
<div class="block">Default implementations of the
<a href="BuiltInMetadata.Memory.html" title="interface in org.apache.calcite.rel.metadata"><code>BuiltInMetadata.Memory</code></a>
metadata provider for the standard logical algebra.</div>
</div>
<div class="col-first odd-row-color class-summary class-summary-tab2"><a href="RelMdMinRowCount.html" title="class in org.apache.calcite.rel.metadata">RelMdMinRowCount</a></div>
<div class="col-last odd-row-color class-summary class-summary-tab2">
<div class="block">RelMdMinRowCount supplies a default implementation of
<a href="RelMetadataQuery.html#getMinRowCount(org.apache.calcite.rel.RelNode)"><code>RelMetadataQuery.getMinRowCount(org.apache.calcite.rel.RelNode)</code></a> for the standard logical algebra.</div>
</div>
<div class="col-first even-row-color class-summary class-summary-tab2"><a href="RelMdNodeTypes.html" title="class in org.apache.calcite.rel.metadata">RelMdNodeTypes</a></div>
<div class="col-last even-row-color class-summary class-summary-tab2">
<div class="block">RelMdNodeTypeCount supplies a default implementation of
<a href="RelMetadataQuery.html#getNodeTypes(org.apache.calcite.rel.RelNode)"><code>RelMetadataQuery.getNodeTypes(org.apache.calcite.rel.RelNode)</code></a> for the standard logical algebra.</div>
</div>
<div class="col-first odd-row-color class-summary class-summary-tab2"><a href="RelMdParallelism.html" title="class in org.apache.calcite.rel.metadata">RelMdParallelism</a></div>
<div class="col-last odd-row-color class-summary class-summary-tab2">
<div class="block">Default implementations of the
<a href="BuiltInMetadata.Parallelism.html" title="interface in org.apache.calcite.rel.metadata"><code>BuiltInMetadata.Parallelism</code></a>
metadata provider for the standard logical algebra.</div>
</div>
<div class="col-first even-row-color class-summary class-summary-tab2"><a href="RelMdPercentageOriginalRows.html" title="class in org.apache.calcite.rel.metadata">RelMdPercentageOriginalRows</a></div>
<div class="col-last even-row-color class-summary class-summary-tab2">
<div class="block">RelMdPercentageOriginalRows supplies a default implementation of
<a href="RelMetadataQuery.html#getPercentageOriginalRows(org.apache.calcite.rel.RelNode)"><code>RelMetadataQuery.getPercentageOriginalRows(org.apache.calcite.rel.RelNode)</code></a> for the standard logical
algebra.</div>
</div>
<div class="col-first odd-row-color class-summary class-summary-tab2"><a href="RelMdPopulationSize.html" title="class in org.apache.calcite.rel.metadata">RelMdPopulationSize</a></div>
<div class="col-last odd-row-color class-summary class-summary-tab2">
<div class="block">RelMdPopulationSize supplies a default implementation of
<a href="RelMetadataQuery.html#getPopulationSize(org.apache.calcite.rel.RelNode,org.apache.calcite.util.ImmutableBitSet)"><code>RelMetadataQuery.getPopulationSize(org.apache.calcite.rel.RelNode, org.apache.calcite.util.ImmutableBitSet)</code></a> for the standard logical algebra.</div>
</div>
<div class="col-first even-row-color class-summary class-summary-tab2"><a href="RelMdPredicates.html" title="class in org.apache.calcite.rel.metadata">RelMdPredicates</a></div>
<div class="col-last even-row-color class-summary class-summary-tab2">
<div class="block">Utility to infer Predicates that are applicable above a RelNode.</div>
</div>
<div class="col-first odd-row-color class-summary class-summary-tab2"><a href="RelMdRowCount.html" title="class in org.apache.calcite.rel.metadata">RelMdRowCount</a></div>
<div class="col-last odd-row-color class-summary class-summary-tab2">
<div class="block">RelMdRowCount supplies a default implementation of
<a href="RelMetadataQuery.html#getRowCount(org.apache.calcite.rel.RelNode)"><code>RelMetadataQuery.getRowCount(org.apache.calcite.rel.RelNode)</code></a> for the standard logical algebra.</div>
</div>
<div class="col-first even-row-color class-summary class-summary-tab2"><a href="RelMdSelectivity.html" title="class in org.apache.calcite.rel.metadata">RelMdSelectivity</a></div>
<div class="col-last even-row-color class-summary class-summary-tab2">
<div class="block">RelMdSelectivity supplies a default implementation of
<a href="RelMetadataQuery.html#getSelectivity(org.apache.calcite.rel.RelNode,org.apache.calcite.rex.RexNode)"><code>RelMetadataQuery.getSelectivity(org.apache.calcite.rel.RelNode, org.apache.calcite.rex.RexNode)</code></a> for the standard logical algebra.</div>
</div>
<div class="col-first odd-row-color class-summary class-summary-tab2"><a href="RelMdSize.html" title="class in org.apache.calcite.rel.metadata">RelMdSize</a></div>
<div class="col-last odd-row-color class-summary class-summary-tab2">
<div class="block">Default implementations of the
<a href="BuiltInMetadata.Size.html" title="interface in org.apache.calcite.rel.metadata"><code>BuiltInMetadata.Size</code></a>
metadata provider for the standard logical algebra.</div>
</div>
<div class="col-first even-row-color class-summary class-summary-tab2"><a href="RelMdTableReferences.html" title="class in org.apache.calcite.rel.metadata">RelMdTableReferences</a></div>
<div class="col-last even-row-color class-summary class-summary-tab2">
<div class="block">Default implementation of <a href="RelMetadataQuery.html#getTableReferences(org.apache.calcite.rel.RelNode)"><code>RelMetadataQuery.getTableReferences(org.apache.calcite.rel.RelNode)</code></a> for the
standard logical algebra.</div>
</div>
<div class="col-first odd-row-color class-summary class-summary-tab2"><a href="RelMdUniqueKeys.html" title="class in org.apache.calcite.rel.metadata">RelMdUniqueKeys</a></div>
<div class="col-last odd-row-color class-summary class-summary-tab2">
<div class="block">RelMdUniqueKeys supplies a default implementation of
<a href="RelMetadataQuery.html#getUniqueKeys(org.apache.calcite.rel.RelNode)"><code>RelMetadataQuery.getUniqueKeys(org.apache.calcite.rel.RelNode)</code></a> for the standard logical algebra.</div>
</div>
<div class="col-first even-row-color class-summary class-summary-tab2"><a href="RelMdUtil.html" title="class in org.apache.calcite.rel.metadata">RelMdUtil</a></div>
<div class="col-last even-row-color class-summary class-summary-tab2">
<div class="block">RelMdUtil provides utility methods used by the metadata provider methods.</div>
</div>
<div class="col-first odd-row-color class-summary class-summary-tab1"><a href="RelMetadataProvider.html" title="interface in org.apache.calcite.rel.metadata">RelMetadataProvider</a></div>
<div class="col-last odd-row-color class-summary class-summary-tab1">
<div class="block">RelMetadataProvider defines an interface for obtaining metadata about
relational expressions.</div>
</div>
<div class="col-first even-row-color class-summary class-summary-tab2"><a href="RelMetadataQuery.html" title="class in org.apache.calcite.rel.metadata">RelMetadataQuery</a></div>
<div class="col-last even-row-color class-summary class-summary-tab2">
<div class="block">RelMetadataQuery provides a strongly-typed facade on top of
<a href="RelMetadataProvider.html" title="interface in org.apache.calcite.rel.metadata"><code>RelMetadataProvider</code></a> for the set of relational expression metadata
queries defined as standard within Calcite.</div>
</div>
<div class="col-first odd-row-color class-summary class-summary-tab2"><a href="RelMetadataQueryBase.html" title="class in org.apache.calcite.rel.metadata">RelMetadataQueryBase</a></div>
<div class="col-last odd-row-color class-summary class-summary-tab2">
<div class="block">Base class for the RelMetadataQuery that uses the metadata handler class
generated by the Janino.</div>
</div>
<div class="col-first even-row-color class-summary class-summary-tab1"><a href="UnboundMetadata.html" title="interface in org.apache.calcite.rel.metadata">UnboundMetadata</a>&lt;M extends @Nullable <a href="Metadata.html" title="interface in org.apache.calcite.rel.metadata">Metadata</a>&gt;</div>
<div class="col-last even-row-color class-summary class-summary-tab1">
<div class="block">Metadata that needs to be bound to a <a href="../RelNode.html" title="interface in org.apache.calcite.rel"><code>RelNode</code></a> and
<a href="RelMetadataQuery.html" title="class in org.apache.calcite.rel.metadata"><code>RelMetadataQuery</code></a> before it can be used.</div>
</div>
</div>
</div>
</div>
</li>
</ul>
</section>
</main>
<footer role="contentinfo">
<hr>
<p class="legal-copy"><small>Copyright &copy; 2012-2023 Apache Software Foundation. All Rights Reserved.</small></p>
</footer>
</div>
</div>
</body>
</html>