blob: ca63fd8da5ad5ecb7418e6485554e63e75d7f0e7 [file] [log] [blame]
<!DOCTYPE HTML>
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc -->
<title>Uses of Interface org.apache.calcite.sql.util.SqlVisitor (Apache Calcite API)</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
<link rel="stylesheet" type="text/css" href="../../../../../../jquery/jquery-ui.css" title="Style">
<script type="text/javascript" src="../../../../../../script.js"></script>
<script type="text/javascript" src="../../../../../../jquery/jszip/dist/jszip.min.js"></script>
<script type="text/javascript" src="../../../../../../jquery/jszip-utils/dist/jszip-utils.min.js"></script>
<!--[if IE]>
<script type="text/javascript" src="../../../../../../jquery/jszip-utils/dist/jszip-utils-ie.min.js"></script>
<![endif]-->
<script type="text/javascript" src="../../../../../../jquery/jquery-3.3.1.js"></script>
<script type="text/javascript" src="../../../../../../jquery/jquery-migrate-3.0.1.js"></script>
<script type="text/javascript" src="../../../../../../jquery/jquery-ui.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.calcite.sql.util.SqlVisitor (Apache Calcite API)";
}
}
catch(err) {
}
//-->
var pathtoroot = "../../../../../../";
var useModuleDirectories = true;
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<header role="banner">
<nav role="navigation">
<div class="fixedNav">
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a id="navbar.top">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a id="navbar.top.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../../index.html">Overview</a></li>
<li><a href="../package-summary.html">Package</a></li>
<li><a href="../SqlVisitor.html" title="interface in org.apache.calcite.sql.util">Class</a></li>
<li class="navBarCell1Rev">Use</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">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../../../allclasses.html">All&nbsp;Classes</a></li>
</ul>
<ul class="navListSearch">
<li><label for="search">SEARCH:</label>
<input type="text" id="search" value="search" disabled="disabled">
<input type="reset" id="reset" value="reset" disabled="disabled">
</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>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
</div>
<a id="skip.navbar.top">
<!-- -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
</div>
<div class="navPadding">&nbsp;</div>
<script type="text/javascript"><!--
$('.navPadding').css('padding-top', $('.fixedNav').css("height"));
//-->
</script>
</nav>
</header>
<main role="main">
<div class="header">
<h2 title="Uses of Interface org.apache.calcite.sql.util.SqlVisitor" class="title">Uses of Interface<br>org.apache.calcite.sql.util.SqlVisitor</h2>
</div>
<div class="classUseContainer">
<ul class="blockList">
<li class="blockList">
<table class="useSummary">
<caption><span>Packages that use <a href="../SqlVisitor.html" title="interface in org.apache.calcite.sql.util">SqlVisitor</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">
<th class="colFirst" scope="row"><a href="#org.apache.calcite.sql">org.apache.calcite.sql</a></th>
<td class="colLast">
<div class="block">Provides a SQL parser and object model.</div>
</td>
</tr>
<tr class="rowColor">
<th class="colFirst" scope="row"><a href="#org.apache.calcite.sql.fun">org.apache.calcite.sql.fun</a></th>
<td class="colLast">
<div class="block">Defines the set of standard SQL row-level functions and
operators.</div>
</td>
</tr>
<tr class="altColor">
<th class="colFirst" scope="row"><a href="#org.apache.calcite.sql.util">org.apache.calcite.sql.util</a></th>
<td class="colLast">
<div class="block">Utility classes for the SQL object model, parsing, and validation.</div>
</td>
</tr>
<tr class="rowColor">
<th class="colFirst" scope="row"><a href="#org.apache.calcite.sql.validate">org.apache.calcite.sql.validate</a></th>
<td class="colLast">
<div class="block">SQL validation.</div>
</td>
</tr>
<tr class="altColor">
<th class="colFirst" scope="row"><a href="#org.apache.calcite.sql2rel">org.apache.calcite.sql2rel</a></th>
<td class="colLast">
<div class="block">Translates a SQL parse tree to relational expression.</div>
</td>
</tr>
<tr class="rowColor">
<th class="colFirst" scope="row"><a href="#org.apache.calcite.util">org.apache.calcite.util</a></th>
<td class="colLast">
<div class="block">Provides utility classes.</div>
</td>
</tr>
</tbody>
</table>
</li>
<li class="blockList">
<ul class="blockList">
<li class="blockList">
<section role="region"><a id="org.apache.calcite.sql">
<!-- -->
</a>
<h3>Uses of <a href="../SqlVisitor.html" title="interface in org.apache.calcite.sql.util">SqlVisitor</a> in <a href="../../package-summary.html">org.apache.calcite.sql</a></h3>
<table class="useSummary">
<caption><span>Classes in <a href="../../package-summary.html">org.apache.calcite.sql</a> that implement <a href="../SqlVisitor.html" title="interface in org.apache.calcite.sql.util">SqlVisitor</a></span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colSecond" scope="col">Class</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tbody>
<tr class="altColor">
<td class="colFirst"><code>private static class&nbsp;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../SqlUtil.Genealogist.html" title="class in org.apache.calcite.sql">SqlUtil.Genealogist</a></span></code></th>
<td class="colLast">
<div class="block">Walks over a <a href="../../SqlNode.html" title="class in org.apache.calcite.sql"><code>SqlNode</code></a> tree and returns the
ancestry stack when it finds a given node.</div>
</td>
</tr>
</tbody>
</table>
<table class="useSummary">
<caption><span>Methods in <a href="../../package-summary.html">org.apache.calcite.sql</a> with parameters of type <a href="../SqlVisitor.html" title="interface in org.apache.calcite.sql.util">SqlVisitor</a></span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colSecond" scope="col">Method</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tbody>
<tr class="altColor">
<td class="colFirst"><code>&lt;R&gt;&nbsp;R</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">SqlCall.</span><code><span class="memberNameLink"><a href="../../SqlCall.html#accept(org.apache.calcite.sql.util.SqlVisitor)">accept</a></span>&#8203;(<a href="../SqlVisitor.html" title="interface in org.apache.calcite.sql.util">SqlVisitor</a>&lt;R&gt;&nbsp;visitor)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>&lt;R&gt;&nbsp;R</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">SqlDataTypeSpec.</span><code><span class="memberNameLink"><a href="../../SqlDataTypeSpec.html#accept(org.apache.calcite.sql.util.SqlVisitor)">accept</a></span>&#8203;(<a href="../SqlVisitor.html" title="interface in org.apache.calcite.sql.util">SqlVisitor</a>&lt;R&gt;&nbsp;visitor)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>&lt;R&gt;&nbsp;R</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">SqlDynamicParam.</span><code><span class="memberNameLink"><a href="../../SqlDynamicParam.html#accept(org.apache.calcite.sql.util.SqlVisitor)">accept</a></span>&#8203;(<a href="../SqlVisitor.html" title="interface in org.apache.calcite.sql.util">SqlVisitor</a>&lt;R&gt;&nbsp;visitor)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>&lt;R&gt;&nbsp;R</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">SqlIdentifier.</span><code><span class="memberNameLink"><a href="../../SqlIdentifier.html#accept(org.apache.calcite.sql.util.SqlVisitor)">accept</a></span>&#8203;(<a href="../SqlVisitor.html" title="interface in org.apache.calcite.sql.util">SqlVisitor</a>&lt;R&gt;&nbsp;visitor)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>&lt;R&gt;&nbsp;R</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">SqlIntervalQualifier.</span><code><span class="memberNameLink"><a href="../../SqlIntervalQualifier.html#accept(org.apache.calcite.sql.util.SqlVisitor)">accept</a></span>&#8203;(<a href="../SqlVisitor.html" title="interface in org.apache.calcite.sql.util">SqlVisitor</a>&lt;R&gt;&nbsp;visitor)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>&lt;R&gt;&nbsp;R</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">SqlLiteral.</span><code><span class="memberNameLink"><a href="../../SqlLiteral.html#accept(org.apache.calcite.sql.util.SqlVisitor)">accept</a></span>&#8203;(<a href="../SqlVisitor.html" title="interface in org.apache.calcite.sql.util">SqlVisitor</a>&lt;R&gt;&nbsp;visitor)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>abstract &lt;R&gt;&nbsp;R</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">SqlNode.</span><code><span class="memberNameLink"><a href="../../SqlNode.html#accept(org.apache.calcite.sql.util.SqlVisitor)">accept</a></span>&#8203;(<a href="../SqlVisitor.html" title="interface in org.apache.calcite.sql.util">SqlVisitor</a>&lt;R&gt;&nbsp;visitor)</code></th>
<td class="colLast">
<div class="block">Accepts a generic visitor.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>&lt;R&gt;&nbsp;R</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">SqlNodeList.</span><code><span class="memberNameLink"><a href="../../SqlNodeList.html#accept(org.apache.calcite.sql.util.SqlVisitor)">accept</a></span>&#8203;(<a href="../SqlVisitor.html" title="interface in org.apache.calcite.sql.util">SqlVisitor</a>&lt;R&gt;&nbsp;visitor)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>&lt;R&gt;&nbsp;void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">SqlAsOperator.</span><code><span class="memberNameLink"><a href="../../SqlAsOperator.html#acceptCall(org.apache.calcite.sql.util.SqlVisitor,org.apache.calcite.sql.SqlCall,boolean,org.apache.calcite.sql.util.SqlBasicVisitor.ArgHandler)">acceptCall</a></span>&#8203;(<a href="../SqlVisitor.html" title="interface in org.apache.calcite.sql.util">SqlVisitor</a>&lt;R&gt;&nbsp;visitor,
<a href="../../SqlCall.html" title="class in org.apache.calcite.sql">SqlCall</a>&nbsp;call,
boolean&nbsp;onlyExpressions,
<a href="../SqlBasicVisitor.ArgHandler.html" title="interface in org.apache.calcite.sql.util">SqlBasicVisitor.ArgHandler</a>&lt;R&gt;&nbsp;argHandler)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>&lt;R&gt;&nbsp;void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">SqlMatchRecognize.SqlMatchRecognizeOperator.</span><code><span class="memberNameLink"><a href="../../SqlMatchRecognize.SqlMatchRecognizeOperator.html#acceptCall(org.apache.calcite.sql.util.SqlVisitor,org.apache.calcite.sql.SqlCall,boolean,org.apache.calcite.sql.util.SqlBasicVisitor.ArgHandler)">acceptCall</a></span>&#8203;(<a href="../SqlVisitor.html" title="interface in org.apache.calcite.sql.util">SqlVisitor</a>&lt;R&gt;&nbsp;visitor,
<a href="../../SqlCall.html" title="class in org.apache.calcite.sql">SqlCall</a>&nbsp;call,
boolean&nbsp;onlyExpressions,
<a href="../SqlBasicVisitor.ArgHandler.html" title="interface in org.apache.calcite.sql.util">SqlBasicVisitor.ArgHandler</a>&lt;R&gt;&nbsp;argHandler)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>&lt;R&gt;&nbsp;R</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">SqlOperator.</span><code><span class="memberNameLink"><a href="../../SqlOperator.html#acceptCall(org.apache.calcite.sql.util.SqlVisitor,org.apache.calcite.sql.SqlCall)">acceptCall</a></span>&#8203;(<a href="../SqlVisitor.html" title="interface in org.apache.calcite.sql.util">SqlVisitor</a>&lt;R&gt;&nbsp;visitor,
<a href="../../SqlCall.html" title="class in org.apache.calcite.sql">SqlCall</a>&nbsp;call)</code></th>
<td class="colLast">
<div class="block">Accepts a <a href="../SqlVisitor.html" title="interface in org.apache.calcite.sql.util"><code>SqlVisitor</code></a>, visiting each operand of a call.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>&lt;R&gt;&nbsp;void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">SqlOperator.</span><code><span class="memberNameLink"><a href="../../SqlOperator.html#acceptCall(org.apache.calcite.sql.util.SqlVisitor,org.apache.calcite.sql.SqlCall,boolean,org.apache.calcite.sql.util.SqlBasicVisitor.ArgHandler)">acceptCall</a></span>&#8203;(<a href="../SqlVisitor.html" title="interface in org.apache.calcite.sql.util">SqlVisitor</a>&lt;R&gt;&nbsp;visitor,
<a href="../../SqlCall.html" title="class in org.apache.calcite.sql">SqlCall</a>&nbsp;call,
boolean&nbsp;onlyExpressions,
<a href="../SqlBasicVisitor.ArgHandler.html" title="interface in org.apache.calcite.sql.util">SqlBasicVisitor.ArgHandler</a>&lt;R&gt;&nbsp;argHandler)</code></th>
<td class="colLast">
<div class="block">Accepts a <a href="../SqlVisitor.html" title="interface in org.apache.calcite.sql.util"><code>SqlVisitor</code></a>, directing an
<a href="../SqlBasicVisitor.ArgHandler.html" title="interface in org.apache.calcite.sql.util"><code>SqlBasicVisitor.ArgHandler</code></a>
to visit an operand of a call.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>&lt;R&gt;&nbsp;void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">SqlOverOperator.</span><code><span class="memberNameLink"><a href="../../SqlOverOperator.html#acceptCall(org.apache.calcite.sql.util.SqlVisitor,org.apache.calcite.sql.SqlCall,boolean,org.apache.calcite.sql.util.SqlBasicVisitor.ArgHandler)">acceptCall</a></span>&#8203;(<a href="../SqlVisitor.html" title="interface in org.apache.calcite.sql.util">SqlVisitor</a>&lt;R&gt;&nbsp;visitor,
<a href="../../SqlCall.html" title="class in org.apache.calcite.sql">SqlCall</a>&nbsp;call,
boolean&nbsp;onlyExpressions,
<a href="../SqlBasicVisitor.ArgHandler.html" title="interface in org.apache.calcite.sql.util">SqlBasicVisitor.ArgHandler</a>&lt;R&gt;&nbsp;argHandler)</code></th>
<td class="colLast">
<div class="block">Accepts a <a href="../SqlVisitor.html" title="interface in org.apache.calcite.sql.util"><code>SqlVisitor</code></a>, and tells it to visit each child.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>&lt;R&gt;&nbsp;void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">SqlSelectOperator.</span><code><span class="memberNameLink"><a href="../../SqlSelectOperator.html#acceptCall(org.apache.calcite.sql.util.SqlVisitor,org.apache.calcite.sql.SqlCall,boolean,org.apache.calcite.sql.util.SqlBasicVisitor.ArgHandler)">acceptCall</a></span>&#8203;(<a href="../SqlVisitor.html" title="interface in org.apache.calcite.sql.util">SqlVisitor</a>&lt;R&gt;&nbsp;visitor,
<a href="../../SqlCall.html" title="class in org.apache.calcite.sql">SqlCall</a>&nbsp;call,
boolean&nbsp;onlyExpressions,
<a href="../SqlBasicVisitor.ArgHandler.html" title="interface in org.apache.calcite.sql.util">SqlBasicVisitor.ArgHandler</a>&lt;R&gt;&nbsp;argHandler)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>&lt;R&gt;&nbsp;void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">SqlSnapshot.SqlSnapshotOperator.</span><code><span class="memberNameLink"><a href="../../SqlSnapshot.SqlSnapshotOperator.html#acceptCall(org.apache.calcite.sql.util.SqlVisitor,org.apache.calcite.sql.SqlCall,boolean,org.apache.calcite.sql.util.SqlBasicVisitor.ArgHandler)">acceptCall</a></span>&#8203;(<a href="../SqlVisitor.html" title="interface in org.apache.calcite.sql.util">SqlVisitor</a>&lt;R&gt;&nbsp;visitor,
<a href="../../SqlCall.html" title="class in org.apache.calcite.sql">SqlCall</a>&nbsp;call,
boolean&nbsp;onlyExpressions,
<a href="../SqlBasicVisitor.ArgHandler.html" title="interface in org.apache.calcite.sql.util">SqlBasicVisitor.ArgHandler</a>&lt;R&gt;&nbsp;argHandler)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>&lt;R&gt;&nbsp;void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">SqlWindow.SqlWindowOperator.</span><code><span class="memberNameLink"><a href="../../SqlWindow.SqlWindowOperator.html#acceptCall(org.apache.calcite.sql.util.SqlVisitor,org.apache.calcite.sql.SqlCall,boolean,org.apache.calcite.sql.util.SqlBasicVisitor.ArgHandler)">acceptCall</a></span>&#8203;(<a href="../SqlVisitor.html" title="interface in org.apache.calcite.sql.util">SqlVisitor</a>&lt;R&gt;&nbsp;visitor,
<a href="../../SqlCall.html" title="class in org.apache.calcite.sql">SqlCall</a>&nbsp;call,
boolean&nbsp;onlyExpressions,
<a href="../SqlBasicVisitor.ArgHandler.html" title="interface in org.apache.calcite.sql.util">SqlBasicVisitor.ArgHandler</a>&lt;R&gt;&nbsp;argHandler)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
</tbody>
</table>
</section>
</li>
<li class="blockList">
<section role="region"><a id="org.apache.calcite.sql.fun">
<!-- -->
</a>
<h3>Uses of <a href="../SqlVisitor.html" title="interface in org.apache.calcite.sql.util">SqlVisitor</a> in <a href="../../fun/package-summary.html">org.apache.calcite.sql.fun</a></h3>
<table class="useSummary">
<caption><span>Classes in <a href="../../fun/package-summary.html">org.apache.calcite.sql.fun</a> that implement <a href="../SqlVisitor.html" title="interface in org.apache.calcite.sql.util">SqlVisitor</a></span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colSecond" scope="col">Class</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tbody>
<tr class="altColor">
<td class="colFirst"><code>private static class&nbsp;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../fun/SqlBetweenOperator.AndFinder.html" title="class in org.apache.calcite.sql.fun">SqlBetweenOperator.AndFinder</a></span></code></th>
<td class="colLast">
<div class="block">Finds an AND operator in an expression.</div>
</td>
</tr>
</tbody>
</table>
<table class="useSummary">
<caption><span>Methods in <a href="../../fun/package-summary.html">org.apache.calcite.sql.fun</a> with parameters of type <a href="../SqlVisitor.html" title="interface in org.apache.calcite.sql.util">SqlVisitor</a></span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colSecond" scope="col">Method</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tbody>
<tr class="altColor">
<td class="colFirst"><code>&lt;R&gt;&nbsp;void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">SqlDotOperator.</span><code><span class="memberNameLink"><a href="../../fun/SqlDotOperator.html#acceptCall(org.apache.calcite.sql.util.SqlVisitor,org.apache.calcite.sql.SqlCall,boolean,org.apache.calcite.sql.util.SqlBasicVisitor.ArgHandler)">acceptCall</a></span>&#8203;(<a href="../SqlVisitor.html" title="interface in org.apache.calcite.sql.util">SqlVisitor</a>&lt;R&gt;&nbsp;visitor,
<a href="../../SqlCall.html" title="class in org.apache.calcite.sql">SqlCall</a>&nbsp;call,
boolean&nbsp;onlyExpressions,
<a href="../SqlBasicVisitor.ArgHandler.html" title="interface in org.apache.calcite.sql.util">SqlBasicVisitor.ArgHandler</a>&lt;R&gt;&nbsp;argHandler)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
</tbody>
</table>
</section>
</li>
<li class="blockList">
<section role="region"><a id="org.apache.calcite.sql.util">
<!-- -->
</a>
<h3>Uses of <a href="../SqlVisitor.html" title="interface in org.apache.calcite.sql.util">SqlVisitor</a> in <a href="../package-summary.html">org.apache.calcite.sql.util</a></h3>
<table class="useSummary">
<caption><span>Classes in <a href="../package-summary.html">org.apache.calcite.sql.util</a> that implement <a href="../SqlVisitor.html" title="interface in org.apache.calcite.sql.util">SqlVisitor</a></span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colSecond" scope="col">Class</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tbody>
<tr class="altColor">
<td class="colFirst"><code>class&nbsp;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../SqlBasicVisitor.html" title="class in org.apache.calcite.sql.util">SqlBasicVisitor</a>&lt;R&gt;</span></code></th>
<td class="colLast">
<div class="block">Basic implementation of <a href="../SqlVisitor.html" title="interface in org.apache.calcite.sql.util"><code>SqlVisitor</code></a> which does nothing at each node.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>class&nbsp;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../SqlShuttle.html" title="class in org.apache.calcite.sql.util">SqlShuttle</a></span></code></th>
<td class="colLast">
<div class="block">Basic implementation of <a href="../SqlVisitor.html" title="interface in org.apache.calcite.sql.util"><code>SqlVisitor</code></a> which returns each leaf node
unchanged.</div>
</td>
</tr>
</tbody>
</table>
<table class="useSummary">
<caption><span>Methods in <a href="../package-summary.html">org.apache.calcite.sql.util</a> with parameters of type <a href="../SqlVisitor.html" title="interface in org.apache.calcite.sql.util">SqlVisitor</a></span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colSecond" scope="col">Method</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tbody>
<tr class="altColor">
<td class="colFirst"><code><a href="../SqlBasicVisitor.ArgHandler.html" title="type parameter in SqlBasicVisitor.ArgHandler">R</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">SqlBasicVisitor.ArgHandler.</span><code><span class="memberNameLink"><a href="../SqlBasicVisitor.ArgHandler.html#visitChild(org.apache.calcite.sql.util.SqlVisitor,org.apache.calcite.sql.SqlNode,int,org.apache.calcite.sql.SqlNode)">visitChild</a></span>&#8203;(<a href="../SqlVisitor.html" title="interface in org.apache.calcite.sql.util">SqlVisitor</a>&lt;<a href="../SqlBasicVisitor.ArgHandler.html" title="type parameter in SqlBasicVisitor.ArgHandler">R</a>&gt;&nbsp;visitor,
<a href="../../SqlNode.html" title="class in org.apache.calcite.sql">SqlNode</a>&nbsp;expr,
int&nbsp;i,
<a href="../../SqlNode.html" title="class in org.apache.calcite.sql">SqlNode</a>&nbsp;operand)</code></th>
<td class="colLast">
<div class="block">Visits a particular operand of a call, using a given visitor.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../SqlBasicVisitor.ArgHandlerImpl.html" title="type parameter in SqlBasicVisitor.ArgHandlerImpl">R</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">SqlBasicVisitor.ArgHandlerImpl.</span><code><span class="memberNameLink"><a href="../SqlBasicVisitor.ArgHandlerImpl.html#visitChild(org.apache.calcite.sql.util.SqlVisitor,org.apache.calcite.sql.SqlNode,int,org.apache.calcite.sql.SqlNode)">visitChild</a></span>&#8203;(<a href="../SqlVisitor.html" title="interface in org.apache.calcite.sql.util">SqlVisitor</a>&lt;<a href="../SqlBasicVisitor.ArgHandlerImpl.html" title="type parameter in SqlBasicVisitor.ArgHandlerImpl">R</a>&gt;&nbsp;visitor,
<a href="../../SqlNode.html" title="class in org.apache.calcite.sql">SqlNode</a>&nbsp;expr,
int&nbsp;i,
<a href="../../SqlNode.html" title="class in org.apache.calcite.sql">SqlNode</a>&nbsp;operand)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../../SqlNode.html" title="class in org.apache.calcite.sql">SqlNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">SqlShuttle.CallCopyingArgHandler.</span><code><span class="memberNameLink"><a href="../SqlShuttle.CallCopyingArgHandler.html#visitChild(org.apache.calcite.sql.util.SqlVisitor,org.apache.calcite.sql.SqlNode,int,org.apache.calcite.sql.SqlNode)">visitChild</a></span>&#8203;(<a href="../SqlVisitor.html" title="interface in org.apache.calcite.sql.util">SqlVisitor</a>&lt;<a href="../../SqlNode.html" title="class in org.apache.calcite.sql">SqlNode</a>&gt;&nbsp;visitor,
<a href="../../SqlNode.html" title="class in org.apache.calcite.sql">SqlNode</a>&nbsp;expr,
int&nbsp;i,
<a href="../../SqlNode.html" title="class in org.apache.calcite.sql">SqlNode</a>&nbsp;operand)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
</tbody>
</table>
</section>
</li>
<li class="blockList">
<section role="region"><a id="org.apache.calcite.sql.validate">
<!-- -->
</a>
<h3>Uses of <a href="../SqlVisitor.html" title="interface in org.apache.calcite.sql.util">SqlVisitor</a> in <a href="../../validate/package-summary.html">org.apache.calcite.sql.validate</a></h3>
<table class="useSummary">
<caption><span>Classes in <a href="../../validate/package-summary.html">org.apache.calcite.sql.validate</a> that implement <a href="../SqlVisitor.html" title="interface in org.apache.calcite.sql.util">SqlVisitor</a></span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colSecond" scope="col">Class</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tbody>
<tr class="altColor">
<td class="colFirst"><code>(package private) class&nbsp;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../validate/AggChecker.html" title="class in org.apache.calcite.sql.validate">AggChecker</a></span></code></th>
<td class="colLast">
<div class="block">Visitor which throws an exception if any component of the expression is not a
group expression.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>(package private) class&nbsp;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../validate/AggFinder.html" title="class in org.apache.calcite.sql.validate">AggFinder</a></span></code></th>
<td class="colLast">
<div class="block">Visitor that looks for an aggregate function inside a tree of
<a href="../../SqlNode.html" title="class in org.apache.calcite.sql"><code>SqlNode</code></a> objects and throws <a href="../../../util/Util.FoundOne.html" title="class in org.apache.calcite.util"><code>Util.FoundOne</code></a> when it finds
one.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>(package private) static class&nbsp;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../validate/AggFinder.AggIterable.html" title="class in org.apache.calcite.sql.validate">AggFinder.AggIterable</a></span></code></th>
<td class="colLast">
<div class="block">Iterates over all aggregates.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>(package private) class&nbsp;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../validate/AggVisitor.html" title="class in org.apache.calcite.sql.validate">AggVisitor</a></span></code></th>
<td class="colLast">
<div class="block">Visitor that can find aggregate and windowed aggregate functions.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>class&nbsp;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../validate/SqlScopedShuttle.html" title="class in org.apache.calcite.sql.validate">SqlScopedShuttle</a></span></code></th>
<td class="colLast">
<div class="block">Refinement to <a href="../SqlShuttle.html" title="class in org.apache.calcite.sql.util"><code>SqlShuttle</code></a> which maintains a stack of scopes.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private class&nbsp;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../validate/SqlValidatorImpl.DeriveTypeVisitor.html" title="class in org.apache.calcite.sql.validate">SqlValidatorImpl.DeriveTypeVisitor</a></span></code></th>
<td class="colLast">
<div class="block">Visitor which derives the type of a given <a href="../../SqlNode.html" title="class in org.apache.calcite.sql"><code>SqlNode</code></a>.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private static class&nbsp;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../validate/SqlValidatorImpl.Expander.html" title="class in org.apache.calcite.sql.validate">SqlValidatorImpl.Expander</a></span></code></th>
<td class="colLast">
<div class="block">Converts an expression into canonical form by fully-qualifying any
identifiers.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>(package private) static class&nbsp;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../validate/SqlValidatorImpl.ExtendedExpander.html" title="class in org.apache.calcite.sql.validate">SqlValidatorImpl.ExtendedExpander</a></span></code></th>
<td class="colLast">
<div class="block">Shuttle which walks over an expression in the GROUP BY/HAVING clause, replacing
usages of aliases or ordinals with the underlying expression.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private static class&nbsp;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../validate/SqlValidatorImpl.NavigationExpander.html" title="class in org.apache.calcite.sql.validate">SqlValidatorImpl.NavigationExpander</a></span></code></th>
<td class="colLast">
<div class="block">Shuttle that expands navigation expressions in a MATCH_RECOGNIZE clause.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private static class&nbsp;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../validate/SqlValidatorImpl.NavigationModifier.html" title="class in org.apache.calcite.sql.validate">SqlValidatorImpl.NavigationModifier</a></span></code></th>
<td class="colLast">
<div class="block">Modify the nodes in navigation function
such as FIRST, LAST, PREV AND NEXT.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private static class&nbsp;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../validate/SqlValidatorImpl.NavigationReplacer.html" title="class in org.apache.calcite.sql.validate">SqlValidatorImpl.NavigationReplacer</a></span></code></th>
<td class="colLast">
<div class="block">Shuttle that replaces <code>A as A.price &gt; PREV(B.price)</code> with
<code>PREV(A.price, 0) &gt; LAST(B.price, 0)</code>.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>(package private) class&nbsp;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../validate/SqlValidatorImpl.OrderExpressionExpander.html" title="class in org.apache.calcite.sql.validate">SqlValidatorImpl.OrderExpressionExpander</a></span></code></th>
<td class="colLast">
<div class="block">Shuttle which walks over an expression in the ORDER BY clause, replacing
usages of aliases with the underlying expression.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private class&nbsp;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../validate/SqlValidatorImpl.PatternValidator.html" title="class in org.apache.calcite.sql.validate">SqlValidatorImpl.PatternValidator</a></span></code></th>
<td class="colLast">
<div class="block">Within one navigation function, the pattern var should be same</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private class&nbsp;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../validate/SqlValidatorImpl.PatternVarVisitor.html" title="class in org.apache.calcite.sql.validate">SqlValidatorImpl.PatternVarVisitor</a></span></code></th>
<td class="colLast">
<div class="block">retrieve pattern variables defined</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static class&nbsp;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../validate/SqlValidatorUtil.DeepCopier.html" title="class in org.apache.calcite.sql.validate">SqlValidatorUtil.DeepCopier</a></span></code></th>
<td class="colLast">
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
</td>
</tr>
</tbody>
</table>
</section>
</li>
<li class="blockList">
<section role="region"><a id="org.apache.calcite.sql2rel">
<!-- -->
</a>
<h3>Uses of <a href="../SqlVisitor.html" title="interface in org.apache.calcite.sql.util">SqlVisitor</a> in <a href="../../../sql2rel/package-summary.html">org.apache.calcite.sql2rel</a></h3>
<table class="useSummary">
<caption><span>Classes in <a href="../../../sql2rel/package-summary.html">org.apache.calcite.sql2rel</a> that implement <a href="../SqlVisitor.html" title="interface in org.apache.calcite.sql.util">SqlVisitor</a></span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colSecond" scope="col">Class</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tbody>
<tr class="altColor">
<td class="colFirst"><code>protected class&nbsp;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../../sql2rel/SqlToRelConverter.AggConverter.html" title="class in org.apache.calcite.sql2rel">SqlToRelConverter.AggConverter</a></span></code></th>
<td class="colLast">
<div class="block">Converts expressions to aggregates.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private static class&nbsp;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../../sql2rel/SqlToRelConverter.AggregateFinder.html" title="class in org.apache.calcite.sql2rel">SqlToRelConverter.AggregateFinder</a></span></code></th>
<td class="colLast">
<div class="block">Visitor that collects all aggregate functions in a <a href="../../SqlNode.html" title="class in org.apache.calcite.sql"><code>SqlNode</code></a> tree.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected class&nbsp;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../../sql2rel/SqlToRelConverter.Blackboard.html" title="class in org.apache.calcite.sql2rel">SqlToRelConverter.Blackboard</a></span></code></th>
<td class="colLast">
<div class="block">Workspace for translating an individual SELECT statement (or sub-SELECT).</div>
</td>
</tr>
</tbody>
</table>
</section>
</li>
<li class="blockList">
<section role="region"><a id="org.apache.calcite.util">
<!-- -->
</a>
<h3>Uses of <a href="../SqlVisitor.html" title="interface in org.apache.calcite.sql.util">SqlVisitor</a> in <a href="../../../util/package-summary.html">org.apache.calcite.util</a></h3>
<table class="useSummary">
<caption><span>Classes in <a href="../../../util/package-summary.html">org.apache.calcite.util</a> that implement <a href="../SqlVisitor.html" title="interface in org.apache.calcite.sql.util">SqlVisitor</a></span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colSecond" scope="col">Class</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tbody>
<tr class="altColor">
<td class="colFirst"><code>static class&nbsp;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../../util/Util.OverFinder.html" title="class in org.apache.calcite.util">Util.OverFinder</a></span></code></th>
<td class="colLast">
<div class="block">Visitor which looks for an OVER clause inside a tree of
<a href="../../SqlNode.html" title="class in org.apache.calcite.sql"><code>SqlNode</code></a> objects.</div>
</td>
</tr>
</tbody>
</table>
</section>
</li>
</ul>
</li>
</ul>
</div>
</main>
<footer role="contentinfo">
<nav role="navigation">
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a id="navbar.bottom">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a id="navbar.bottom.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../../index.html">Overview</a></li>
<li><a href="../package-summary.html">Package</a></li>
<li><a href="../SqlVisitor.html" title="interface in org.apache.calcite.sql.util">Class</a></li>
<li class="navBarCell1Rev">Use</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">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../../../allclasses.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>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
</div>
<a id="skip.navbar.bottom">
<!-- -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
</nav>
<p class="legalCopy"><small>Copyright &#169; 2012&#x2013;2019 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
</footer>
</body>
</html>