<!DOCTYPE HTML>
<html lang="en">
<head>
<!-- Generated by javadoc (17) -->
<title>Prepare.PreparingTable (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.prepare, class: Prepare, interface: PreparingTable">
<meta name="generator" content="javadoc/ClassWriterImpl">
<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="class-declaration-page">
<script type="text/javascript">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><a href="package-summary.html">Package</a></li>
<li class="nav-bar-cell1-rev">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#class">Help</a></li>
</ul>
</div>
<div class="sub-nav">
<div>
<ul class="sub-nav-list">
<li>Summary:&nbsp;</li>
<li><a href="#nested-class-summary">Nested</a>&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method-summary">Method</a></li>
</ul>
<ul class="sub-nav-list">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li>Method</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">
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="sub-title"><span class="package-label-in-type">Package</span>&nbsp;<a href="package-summary.html">org.apache.calcite.prepare</a></div>
<h1 title="Interface Prepare.PreparingTable" class="title">Interface Prepare.PreparingTable</h1>
</div>
<section class="class-description" id="class-description">
<dl class="notes">
<dt>All Superinterfaces:</dt>
<dd><code><a href="../plan/RelOptTable.html" title="interface in org.apache.calcite.plan">RelOptTable</a></code>, <code><a href="../sql/validate/SqlValidatorTable.html" title="interface in org.apache.calcite.sql.validate">SqlValidatorTable</a></code>, <code><a href="../schema/Wrapper.html" title="interface in org.apache.calcite.schema">Wrapper</a></code></dd>
</dl>
<dl class="notes">
<dt>All Known Implementing Classes:</dt>
<dd><code><a href="../test/catalog/MockCatalogReader.MockModifiableViewRelOptTable.html" title="class in org.apache.calcite.test.catalog">MockCatalogReader.MockModifiableViewRelOptTable</a></code>, <code><a href="../test/catalog/MockCatalogReader.MockRelViewTable.html" title="class in org.apache.calcite.test.catalog">MockCatalogReader.MockRelViewTable</a></code>, <code><a href="../test/catalog/MockCatalogReader.MockTable.html" title="class in org.apache.calcite.test.catalog">MockCatalogReader.MockTable</a></code>, <code><a href="../test/catalog/MockCatalogReader.MockViewTable.html" title="class in org.apache.calcite.test.catalog">MockCatalogReader.MockViewTable</a></code>, <code><a href="Prepare.AbstractPreparingTable.html" title="class in org.apache.calcite.prepare">Prepare.AbstractPreparingTable</a></code>, <code><a href="RelOptTableImpl.html" title="class in org.apache.calcite.prepare">RelOptTableImpl</a></code></dd>
</dl>
<dl class="notes">
<dt>Enclosing class:</dt>
<dd><a href="Prepare.html" title="class in org.apache.calcite.prepare">Prepare</a></dd>
</dl>
<hr>
<div class="type-signature"><span class="modifiers">public static interface </span><span class="element-name type-name-label">Prepare.PreparingTable</span><span class="extends-implements">
extends <a href="../plan/RelOptTable.html" title="interface in org.apache.calcite.plan">RelOptTable</a>, <a href="../sql/validate/SqlValidatorTable.html" title="interface in org.apache.calcite.sql.validate">SqlValidatorTable</a></span></div>
<div class="block">Definition of a table, for the purposes of the validator and planner.</div>
</section>
<section class="summary">
<ul class="summary-list">
<!-- ======== NESTED CLASS SUMMARY ======== -->
<li>
<section class="nested-class-summary" id="nested-class-summary">
<h2>Nested Class Summary</h2>
<div class="inherited-list">
<h2 id="nested-classes-inherited-from-class-org.apache.calcite.plan.RelOptTable">Nested classes/interfaces inherited from interface&nbsp;org.apache.calcite.plan.<a href="../plan/RelOptTable.html" title="interface in org.apache.calcite.plan">RelOptTable</a></h2>
<code><a href="../plan/RelOptTable.ToRelContext.html" title="interface in org.apache.calcite.plan">RelOptTable.ToRelContext</a>, <a href="../plan/RelOptTable.ViewExpander.html" title="interface in org.apache.calcite.plan">RelOptTable.ViewExpander</a></code></div>
</section>
</li>
<!-- ========== METHOD SUMMARY =========== -->
<li>
<section class="method-summary" id="method-summary">
<h2>Method Summary</h2>
<div class="inherited-list">
<h3 id="methods-inherited-from-class-org.apache.calcite.plan.RelOptTable">Methods inherited from interface&nbsp;org.apache.calcite.plan.<a href="../plan/RelOptTable.html" title="interface in org.apache.calcite.plan">RelOptTable</a></h3>
<code><a href="../plan/RelOptTable.html#extend(java.util.List)">extend</a>, <a href="../plan/RelOptTable.html#getCollationList()">getCollationList</a>, <a href="../plan/RelOptTable.html#getColumnStrategies()">getColumnStrategies</a>, <a href="../plan/RelOptTable.html#getDistribution()">getDistribution</a>, <a href="../plan/RelOptTable.html#getExpression(java.lang.Class)">getExpression</a>, <a href="../plan/RelOptTable.html#getKeys()">getKeys</a>, <a href="../plan/RelOptTable.html#getQualifiedName()">getQualifiedName</a>, <a href="../plan/RelOptTable.html#getReferentialConstraints()">getReferentialConstraints</a>, <a href="../plan/RelOptTable.html#getRelOptSchema()">getRelOptSchema</a>, <a href="../plan/RelOptTable.html#getRowCount()">getRowCount</a>, <a href="../plan/RelOptTable.html#getRowType()">getRowType</a>, <a href="../plan/RelOptTable.html#isKey(org.apache.calcite.util.ImmutableBitSet)">isKey</a>, <a href="../plan/RelOptTable.html#toRel(org.apache.calcite.plan.RelOptTable.ToRelContext)">toRel</a></code></div>
<div class="inherited-list">
<h3 id="methods-inherited-from-class-org.apache.calcite.sql.validate.SqlValidatorTable">Methods inherited from interface&nbsp;org.apache.calcite.sql.validate.<a href="../sql/validate/SqlValidatorTable.html" title="interface in org.apache.calcite.sql.validate">SqlValidatorTable</a></h3>
<code><a href="../sql/validate/SqlValidatorTable.html#columnHasDefaultValue(org.apache.calcite.rel.type.RelDataType,int,org.apache.calcite.sql2rel.InitializerContext)">columnHasDefaultValue</a>, <a href="../sql/validate/SqlValidatorTable.html#getAllowedAccess()">getAllowedAccess</a>, <a href="../sql/validate/SqlValidatorTable.html#getMonotonicity(java.lang.String)">getMonotonicity</a>, <a href="../sql/validate/SqlValidatorTable.html#getQualifiedName()">getQualifiedName</a>, <a href="../sql/validate/SqlValidatorTable.html#getRowType()">getRowType</a>, <a href="../sql/validate/SqlValidatorTable.html#isTemporal()">isTemporal</a>, <a href="../sql/validate/SqlValidatorTable.html#supportsModality(org.apache.calcite.sql.validate.SqlModality)">supportsModality</a>, <a href="../sql/validate/SqlValidatorTable.html#table()">table</a></code></div>
<div class="inherited-list">
<h3 id="methods-inherited-from-class-org.apache.calcite.schema.Wrapper">Methods inherited from interface&nbsp;org.apache.calcite.schema.<a href="../schema/Wrapper.html" title="interface in org.apache.calcite.schema">Wrapper</a></h3>
<code><a href="../schema/Wrapper.html#maybeUnwrap(java.lang.Class)">maybeUnwrap</a>, <a href="../schema/Wrapper.html#unwrap(java.lang.Class)">unwrap</a>, <a href="../schema/Wrapper.html#unwrapOrThrow(java.lang.Class)">unwrapOrThrow</a></code></div>
</section>
</li>
</ul>
</section>
<!-- ========= END OF CLASS DATA ========= -->
</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>
