blob: 18f62021ece44bcd36df88955f15d82c4a5ff978 [file] [log] [blame]
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Uses of Interface org.apache.drill.exec.planner.index.FunctionalIndexInfo (Drill : 1.20.3 API)</title>
<link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
<script type="text/javascript" src="../../../../../../../script.js"></script>
</head>
<body>
<script type="text/javascript"><!--
try {
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="Uses of Interface org.apache.drill.exec.planner.index.FunctionalIndexInfo (Drill : 1.20.3 API)";
}
}
catch(err) {
}
//-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a name="navbar.top">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.top.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
<li><a href="../package-summary.html">Package</a></li>
<li><a href="../../../../../../../org/apache/drill/exec/planner/index/FunctionalIndexInfo.html" title="interface in org.apache.drill.exec.planner.index">Class</a></li>
<li class="navBarCell1Rev">Use</li>
<li><a href="../../../../../../../overview-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">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li>Prev</li>
<li>Next</li>
</ul>
<ul class="navList">
<li><a href="../../../../../../../index.html?org/apache/drill/exec/planner/index/class-use/FunctionalIndexInfo.html" target="_top">Frames</a></li>
<li><a href="FunctionalIndexInfo.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_top");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
</div>
<a name="skip.navbar.top">
<!-- -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<div class="header">
<h2 title="Uses of Interface org.apache.drill.exec.planner.index.FunctionalIndexInfo" class="title">Uses of Interface<br>org.apache.drill.exec.planner.index.FunctionalIndexInfo</h2>
</div>
<div class="classUseContainer">
<ul class="blockList">
<li class="blockList">
<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
<caption><span>Packages that use <a href="../../../../../../../org/apache/drill/exec/planner/index/FunctionalIndexInfo.html" title="interface in org.apache.drill.exec.planner.index">FunctionalIndexInfo</a></span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Package</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tbody>
<tr class="altColor">
<td class="colFirst"><a href="#org.apache.drill.exec.planner.index">org.apache.drill.exec.planner.index</a></td>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="#org.apache.drill.exec.planner.index.generators">org.apache.drill.exec.planner.index.generators</a></td>
<td class="colLast">&nbsp;</td>
</tr>
</tbody>
</table>
</li>
<li class="blockList">
<ul class="blockList">
<li class="blockList"><a name="org.apache.drill.exec.planner.index">
<!-- -->
</a>
<h3>Uses of <a href="../../../../../../../org/apache/drill/exec/planner/index/FunctionalIndexInfo.html" title="interface in org.apache.drill.exec.planner.index">FunctionalIndexInfo</a> in <a href="../../../../../../../org/apache/drill/exec/planner/index/package-summary.html">org.apache.drill.exec.planner.index</a></h3>
<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
<caption><span>Classes in <a href="../../../../../../../org/apache/drill/exec/planner/index/package-summary.html">org.apache.drill.exec.planner.index</a> that implement <a href="../../../../../../../org/apache/drill/exec/planner/index/FunctionalIndexInfo.html" title="interface in org.apache.drill.exec.planner.index">FunctionalIndexInfo</a></span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Class and Description</th>
</tr>
<tbody>
<tr class="altColor">
<td class="colFirst"><code>class&nbsp;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/drill/exec/planner/index/MapRDBFunctionalIndexInfo.html" title="class in org.apache.drill.exec.planner.index">MapRDBFunctionalIndexInfo</a></span></code>&nbsp;</td>
</tr>
</tbody>
</table>
<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
<caption><span>Methods in <a href="../../../../../../../org/apache/drill/exec/planner/index/package-summary.html">org.apache.drill.exec.planner.index</a> that return <a href="../../../../../../../org/apache/drill/exec/planner/index/FunctionalIndexInfo.html" title="interface in org.apache.drill.exec.planner.index">FunctionalIndexInfo</a></span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Method and Description</th>
</tr>
<tbody>
<tr class="altColor">
<td class="colFirst"><code><a href="../../../../../../../org/apache/drill/exec/planner/index/FunctionalIndexInfo.html" title="interface in org.apache.drill.exec.planner.index">FunctionalIndexInfo</a></code></td>
<td class="colLast"><span class="typeNameLabel">DrillIndexDescriptor.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/drill/exec/planner/index/DrillIndexDescriptor.html#getFunctionalInfo--">getFunctionalInfo</a></span>()</code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../../../../../../../org/apache/drill/exec/planner/index/FunctionalIndexInfo.html" title="interface in org.apache.drill.exec.planner.index">FunctionalIndexInfo</a></code></td>
<td class="colLast"><span class="typeNameLabel">IndexDescriptor.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/drill/exec/planner/index/IndexDescriptor.html#getFunctionalInfo--">getFunctionalInfo</a></span>()</code>
<div class="block">Get the functional index information associated with this index (Functional indexes are
indexes involving expressions e.g CAST(a as INT).</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../../../../../../../org/apache/drill/exec/planner/index/FunctionalIndexInfo.html" title="interface in org.apache.drill.exec.planner.index">FunctionalIndexInfo</a></code></td>
<td class="colLast"><span class="typeNameLabel">MapRDBIndexDescriptor.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/drill/exec/planner/index/MapRDBIndexDescriptor.html#getFunctionalInfo--">getFunctionalInfo</a></span>()</code>&nbsp;</td>
</tr>
</tbody>
</table>
<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
<caption><span>Methods in <a href="../../../../../../../org/apache/drill/exec/planner/index/package-summary.html">org.apache.drill.exec.planner.index</a> with parameters of type <a href="../../../../../../../org/apache/drill/exec/planner/index/FunctionalIndexInfo.html" title="interface in org.apache.drill.exec.planner.index">FunctionalIndexInfo</a></span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Method and Description</th>
</tr>
<tbody>
<tr class="altColor">
<td class="colFirst"><code>static org.apache.calcite.rel.RelCollation</code></td>
<td class="colLast"><span class="typeNameLabel">IndexPlanUtils.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/drill/exec/planner/index/IndexPlanUtils.html#buildCollationLowerProject-java.util.List-org.apache.calcite.rel.RelNode-org.apache.drill.exec.planner.index.FunctionalIndexInfo-">buildCollationLowerProject</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;org.apache.calcite.rex.RexNode&gt;&nbsp;projectRexs,
org.apache.calcite.rel.RelNode&nbsp;input,
<a href="../../../../../../../org/apache/drill/exec/planner/index/FunctionalIndexInfo.html" title="interface in org.apache.drill.exec.planner.index">FunctionalIndexInfo</a>&nbsp;indexInfo)</code>
<div class="block">Build collation property for the 'lower' project, the one closer to the Scan</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static org.apache.calcite.rel.RelCollation</code></td>
<td class="colLast"><span class="typeNameLabel">IndexPlanUtils.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/drill/exec/planner/index/IndexPlanUtils.html#buildCollationProject-java.util.List-org.apache.drill.exec.planner.common.DrillProjectRelBase-org.apache.calcite.rel.RelNode-org.apache.drill.exec.planner.index.FunctionalIndexInfo-org.apache.drill.exec.planner.index.IndexCallContext-">buildCollationProject</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;org.apache.calcite.rex.RexNode&gt;&nbsp;projectRexs,
<a href="../../../../../../../org/apache/drill/exec/planner/common/DrillProjectRelBase.html" title="class in org.apache.drill.exec.planner.common">DrillProjectRelBase</a>&nbsp;project,
org.apache.calcite.rel.RelNode&nbsp;input,
<a href="../../../../../../../org/apache/drill/exec/planner/index/FunctionalIndexInfo.html" title="interface in org.apache.drill.exec.planner.index">FunctionalIndexInfo</a>&nbsp;indexInfo,
<a href="../../../../../../../org/apache/drill/exec/planner/index/IndexCallContext.html" title="interface in org.apache.drill.exec.planner.index">IndexCallContext</a>&nbsp;context)</code>
<div class="block">Build collation property for project, the one closer to the Scan</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static org.apache.calcite.rel.RelCollation</code></td>
<td class="colLast"><span class="typeNameLabel">IndexPlanUtils.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/drill/exec/planner/index/IndexPlanUtils.html#buildCollationUpperProject-java.util.List-org.apache.calcite.rel.RelCollation-org.apache.drill.exec.planner.index.FunctionalIndexInfo-java.util.Map-">buildCollationUpperProject</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;org.apache.calcite.rex.RexNode&gt;&nbsp;projectRexs,
org.apache.calcite.rel.RelCollation&nbsp;inputCollation,
<a href="../../../../../../../org/apache/drill/exec/planner/index/FunctionalIndexInfo.html" title="interface in org.apache.drill.exec.planner.index">FunctionalIndexInfo</a>&nbsp;indexInfo,
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>,<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;org.apache.calcite.rex.RexNode&gt;&gt;&nbsp;collationFilterMap)</code>
<div class="block">Build collation property for the 'upper' project, the one above the filter</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static org.apache.calcite.rex.RexNode</code></td>
<td class="colLast"><span class="typeNameLabel">FunctionalIndexHelper.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/drill/exec/planner/index/FunctionalIndexHelper.html#convertConditionForIndexScan-org.apache.calcite.rex.RexNode-org.apache.calcite.rel.RelNode-org.apache.calcite.rel.type.RelDataType-org.apache.calcite.rex.RexBuilder-org.apache.drill.exec.planner.index.FunctionalIndexInfo-">convertConditionForIndexScan</a></span>(org.apache.calcite.rex.RexNode&nbsp;idxCondition,
org.apache.calcite.rel.RelNode&nbsp;origScan,
org.apache.calcite.rel.type.RelDataType&nbsp;idxRowType,
org.apache.calcite.rex.RexBuilder&nbsp;builder,
<a href="../../../../../../../org/apache/drill/exec/planner/index/FunctionalIndexInfo.html" title="interface in org.apache.drill.exec.planner.index">FunctionalIndexInfo</a>&nbsp;functionInfo)</code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static org.apache.calcite.rel.type.RelDataType</code></td>
<td class="colLast"><span class="typeNameLabel">FunctionalIndexHelper.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/drill/exec/planner/index/FunctionalIndexHelper.html#convertRowTypeForIndexScan-org.apache.drill.exec.planner.common.DrillScanRelBase-org.apache.drill.exec.planner.index.IndexableExprMarker-org.apache.drill.exec.physical.base.IndexGroupScan-org.apache.drill.exec.planner.index.FunctionalIndexInfo-">convertRowTypeForIndexScan</a></span>(<a href="../../../../../../../org/apache/drill/exec/planner/common/DrillScanRelBase.html" title="class in org.apache.drill.exec.planner.common">DrillScanRelBase</a>&nbsp;origScan,
<a href="../../../../../../../org/apache/drill/exec/planner/index/IndexableExprMarker.html" title="class in org.apache.drill.exec.planner.index">IndexableExprMarker</a>&nbsp;idxMarker,
<a href="../../../../../../../org/apache/drill/exec/physical/base/IndexGroupScan.html" title="interface in org.apache.drill.exec.physical.base">IndexGroupScan</a>&nbsp;idxScan,
<a href="../../../../../../../org/apache/drill/exec/planner/index/FunctionalIndexInfo.html" title="interface in org.apache.drill.exec.planner.index">FunctionalIndexInfo</a>&nbsp;functionInfo)</code>
<div class="block">For IndexScan in non-covering case, rowType to return contains only row_key('_id') of primary table.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static boolean</code></td>
<td class="colLast"><span class="typeNameLabel">IndexPlanUtils.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/drill/exec/planner/index/IndexPlanUtils.html#isCoveringIndex-org.apache.drill.exec.planner.index.IndexCallContext-org.apache.drill.exec.planner.index.FunctionalIndexInfo-">isCoveringIndex</a></span>(<a href="../../../../../../../org/apache/drill/exec/planner/index/IndexCallContext.html" title="interface in org.apache.drill.exec.planner.index">IndexCallContext</a>&nbsp;indexContext,
<a href="../../../../../../../org/apache/drill/exec/planner/index/FunctionalIndexInfo.html" title="interface in org.apache.drill.exec.planner.index">FunctionalIndexInfo</a>&nbsp;functionInfo)</code>
<div class="block">For a particular table scan for table T1 and an index on that table, find out if it is a covering index</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static org.apache.calcite.rex.RexNode</code></td>
<td class="colLast"><span class="typeNameLabel">IndexPlanUtils.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/drill/exec/planner/index/IndexPlanUtils.html#rewriteFunctionalRex-org.apache.drill.exec.planner.index.IndexCallContext-org.apache.drill.exec.planner.logical.DrillParseContext-org.apache.drill.exec.planner.common.DrillProjectRelBase-org.apache.calcite.rel.RelNode-org.apache.calcite.rex.RexNode-org.apache.calcite.rel.type.RelDataType-org.apache.drill.exec.planner.index.FunctionalIndexInfo-">rewriteFunctionalRex</a></span>(<a href="../../../../../../../org/apache/drill/exec/planner/index/IndexCallContext.html" title="interface in org.apache.drill.exec.planner.index">IndexCallContext</a>&nbsp;indexContext,
<a href="../../../../../../../org/apache/drill/exec/planner/logical/DrillParseContext.html" title="class in org.apache.drill.exec.planner.logical">DrillParseContext</a>&nbsp;parseContext,
<a href="../../../../../../../org/apache/drill/exec/planner/common/DrillProjectRelBase.html" title="class in org.apache.drill.exec.planner.common">DrillProjectRelBase</a>&nbsp;project,
org.apache.calcite.rel.RelNode&nbsp;scan,
org.apache.calcite.rex.RexNode&nbsp;toRewriteRex,
org.apache.calcite.rel.type.RelDataType&nbsp;newRowType,
<a href="../../../../../../../org/apache/drill/exec/planner/index/FunctionalIndexInfo.html" title="interface in org.apache.drill.exec.planner.index">FunctionalIndexInfo</a>&nbsp;functionInfo)</code>
<div class="block">A RexNode forest with three RexNodes for expressions "cast(a.q as int) * 2, b+c, concat(a.q, " world")"
on Scan RowType('a', 'b', 'c') will be like this:
(0)Call:"*" Call:"concat"
/ \ / \
(1)Call:CAST 2 Call:"+" (5)Call:ITEM ' world'
/ \ / \ / \
(2)Call:ITEM TYPE:INT (3)$1 (4)$2 $0 'q'
/ \
$0 'q'
So for above expressions, when visiting the RexNode trees using PathInExpr, we could mark indexed expressions in the trees,
as shown in the diagram above are the node (1),
then collect the schema paths in the indexed expression but found out of the indexed expression -- node (5),
and other regular schema paths (3) (4)</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static org.apache.calcite.rel.type.RelDataType</code></td>
<td class="colLast"><span class="typeNameLabel">FunctionalIndexHelper.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/drill/exec/planner/index/FunctionalIndexHelper.html#rewriteFunctionalRowType-org.apache.calcite.rel.RelNode-org.apache.drill.exec.planner.index.IndexCallContext-org.apache.drill.exec.planner.index.FunctionalIndexInfo-">rewriteFunctionalRowType</a></span>(org.apache.calcite.rel.RelNode&nbsp;origScan,
<a href="../../../../../../../org/apache/drill/exec/planner/index/IndexCallContext.html" title="interface in org.apache.drill.exec.planner.index">IndexCallContext</a>&nbsp;indexContext,
<a href="../../../../../../../org/apache/drill/exec/planner/index/FunctionalIndexInfo.html" title="interface in org.apache.drill.exec.planner.index">FunctionalIndexInfo</a>&nbsp;functionInfo)</code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static org.apache.calcite.rel.type.RelDataType</code></td>
<td class="colLast"><span class="typeNameLabel">FunctionalIndexHelper.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/drill/exec/planner/index/FunctionalIndexHelper.html#rewriteFunctionalRowType-org.apache.calcite.rel.RelNode-org.apache.drill.exec.planner.index.IndexCallContext-org.apache.drill.exec.planner.index.FunctionalIndexInfo-java.util.Collection-">rewriteFunctionalRowType</a></span>(org.apache.calcite.rel.RelNode&nbsp;origScan,
<a href="../../../../../../../org/apache/drill/exec/planner/index/IndexCallContext.html" title="interface in org.apache.drill.exec.planner.index">IndexCallContext</a>&nbsp;indexContext,
<a href="../../../../../../../org/apache/drill/exec/planner/index/FunctionalIndexInfo.html" title="interface in org.apache.drill.exec.planner.index">FunctionalIndexInfo</a>&nbsp;functionInfo,
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;<a href="../../../../../../../org/apache/drill/common/expression/SchemaPath.html" title="class in org.apache.drill.common.expression">SchemaPath</a>&gt;&nbsp;addedPaths)</code>
<div class="block">if a field in rowType serves only the to-be-replaced column(s), we should replace it with new name "$1",
otherwise we should keep this dataTypeField and add a new one for "$1"</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../../org/apache/drill/common/expression/SchemaPath.html" title="class in org.apache.drill.common.expression">SchemaPath</a>&gt;</code></td>
<td class="colLast"><span class="typeNameLabel">IndexPlanUtils.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/drill/exec/planner/index/IndexPlanUtils.html#rewriteFunctionColumn-java.util.List-org.apache.drill.exec.planner.index.FunctionalIndexInfo-java.util.List-">rewriteFunctionColumn</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../../org/apache/drill/common/expression/SchemaPath.html" title="class in org.apache.drill.common.expression">SchemaPath</a>&gt;&nbsp;paths,
<a href="../../../../../../../org/apache/drill/exec/planner/index/FunctionalIndexInfo.html" title="interface in org.apache.drill.exec.planner.index">FunctionalIndexInfo</a>&nbsp;functionInfo,
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../../org/apache/drill/common/expression/SchemaPath.html" title="class in org.apache.drill.common.expression">SchemaPath</a>&gt;&nbsp;addedPaths)</code>
<div class="block">For IndexGroupScan, if a column is only appeared in the should-be-renamed function,
this column is to-be-replaced column, we replace that column(schemaPath) from 'a.b'
to '$1' in the list of SchemaPath.</div>
</td>
</tr>
</tbody>
</table>
</li>
<li class="blockList"><a name="org.apache.drill.exec.planner.index.generators">
<!-- -->
</a>
<h3>Uses of <a href="../../../../../../../org/apache/drill/exec/planner/index/FunctionalIndexInfo.html" title="interface in org.apache.drill.exec.planner.index">FunctionalIndexInfo</a> in <a href="../../../../../../../org/apache/drill/exec/planner/index/generators/package-summary.html">org.apache.drill.exec.planner.index.generators</a></h3>
<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing fields, and an explanation">
<caption><span>Fields in <a href="../../../../../../../org/apache/drill/exec/planner/index/generators/package-summary.html">org.apache.drill.exec.planner.index.generators</a> declared as <a href="../../../../../../../org/apache/drill/exec/planner/index/FunctionalIndexInfo.html" title="interface in org.apache.drill.exec.planner.index">FunctionalIndexInfo</a></span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Field and Description</th>
</tr>
<tbody>
<tr class="altColor">
<td class="colFirst"><code>protected <a href="../../../../../../../org/apache/drill/exec/planner/index/FunctionalIndexInfo.html" title="interface in org.apache.drill.exec.planner.index">FunctionalIndexInfo</a></code></td>
<td class="colLast"><span class="typeNameLabel">CoveringIndexPlanGenerator.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/drill/exec/planner/index/generators/CoveringIndexPlanGenerator.html#functionInfo">functionInfo</a></span></code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected <a href="../../../../../../../org/apache/drill/exec/planner/index/FunctionalIndexInfo.html" title="interface in org.apache.drill.exec.planner.index">FunctionalIndexInfo</a></code></td>
<td class="colLast"><span class="typeNameLabel">CoveringPlanNoFilterGenerator.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/drill/exec/planner/index/generators/CoveringPlanNoFilterGenerator.html#functionInfo">functionInfo</a></span></code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected <a href="../../../../../../../org/apache/drill/exec/planner/index/FunctionalIndexInfo.html" title="interface in org.apache.drill.exec.planner.index">FunctionalIndexInfo</a></code></td>
<td class="colLast"><span class="typeNameLabel">NonCoveringIndexPlanGenerator.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/drill/exec/planner/index/generators/NonCoveringIndexPlanGenerator.html#functionInfo">functionInfo</a></span></code>&nbsp;</td>
</tr>
</tbody>
</table>
<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing constructors, and an explanation">
<caption><span>Constructors in <a href="../../../../../../../org/apache/drill/exec/planner/index/generators/package-summary.html">org.apache.drill.exec.planner.index.generators</a> with parameters of type <a href="../../../../../../../org/apache/drill/exec/planner/index/FunctionalIndexInfo.html" title="interface in org.apache.drill.exec.planner.index">FunctionalIndexInfo</a></span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colOne" scope="col">Constructor and Description</th>
</tr>
<tbody>
<tr class="altColor">
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/drill/exec/planner/index/generators/CoveringIndexPlanGenerator.html#CoveringIndexPlanGenerator-org.apache.drill.exec.planner.index.IndexLogicalPlanCallContext-org.apache.drill.exec.planner.index.FunctionalIndexInfo-org.apache.drill.exec.physical.base.IndexGroupScan-org.apache.calcite.rex.RexNode-org.apache.calcite.rex.RexNode-org.apache.calcite.rex.RexBuilder-org.apache.drill.exec.planner.physical.PlannerSettings-">CoveringIndexPlanGenerator</a></span>(<a href="../../../../../../../org/apache/drill/exec/planner/index/IndexLogicalPlanCallContext.html" title="class in org.apache.drill.exec.planner.index">IndexLogicalPlanCallContext</a>&nbsp;indexContext,
<a href="../../../../../../../org/apache/drill/exec/planner/index/FunctionalIndexInfo.html" title="interface in org.apache.drill.exec.planner.index">FunctionalIndexInfo</a>&nbsp;functionInfo,
<a href="../../../../../../../org/apache/drill/exec/physical/base/IndexGroupScan.html" title="interface in org.apache.drill.exec.physical.base">IndexGroupScan</a>&nbsp;indexGroupScan,
org.apache.calcite.rex.RexNode&nbsp;indexCondition,
org.apache.calcite.rex.RexNode&nbsp;remainderCondition,
org.apache.calcite.rex.RexBuilder&nbsp;builder,
<a href="../../../../../../../org/apache/drill/exec/planner/physical/PlannerSettings.html" title="class in org.apache.drill.exec.planner.physical">PlannerSettings</a>&nbsp;settings)</code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/drill/exec/planner/index/generators/CoveringPlanNoFilterGenerator.html#CoveringPlanNoFilterGenerator-org.apache.drill.exec.planner.index.IndexCallContext-org.apache.drill.exec.planner.index.FunctionalIndexInfo-boolean-org.apache.drill.exec.planner.physical.PlannerSettings-">CoveringPlanNoFilterGenerator</a></span>(<a href="../../../../../../../org/apache/drill/exec/planner/index/IndexCallContext.html" title="interface in org.apache.drill.exec.planner.index">IndexCallContext</a>&nbsp;indexContext,
<a href="../../../../../../../org/apache/drill/exec/planner/index/FunctionalIndexInfo.html" title="interface in org.apache.drill.exec.planner.index">FunctionalIndexInfo</a>&nbsp;functionInfo,
boolean&nbsp;isSingleton,
<a href="../../../../../../../org/apache/drill/exec/planner/physical/PlannerSettings.html" title="class in org.apache.drill.exec.planner.physical">PlannerSettings</a>&nbsp;settings)</code>&nbsp;</td>
</tr>
</tbody>
</table>
</li>
</ul>
</li>
</ul>
</div>
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a name="navbar.bottom">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.bottom.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
<li><a href="../package-summary.html">Package</a></li>
<li><a href="../../../../../../../org/apache/drill/exec/planner/index/FunctionalIndexInfo.html" title="interface in org.apache.drill.exec.planner.index">Class</a></li>
<li class="navBarCell1Rev">Use</li>
<li><a href="../../../../../../../overview-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">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li>Prev</li>
<li>Next</li>
</ul>
<ul class="navList">
<li><a href="../../../../../../../index.html?org/apache/drill/exec/planner/index/class-use/FunctionalIndexInfo.html" target="_top">Frames</a></li>
<li><a href="FunctionalIndexInfo.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_bottom");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
</div>
<a name="skip.navbar.bottom">
<!-- -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
<p class="legalCopy"><small>Copyright &#169; 1970 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
</body>
</html>