<!DOCTYPE HTML>
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc -->
<title>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="SqlVisitor (Apache Calcite API)";
        }
    }
    catch(err) {
    }
//-->
var data = {"i0":6,"i1":6,"i2":6,"i3":6,"i4":6,"i5":6,"i6":6};
var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
var tableTab = "tableTab";
var activeTableTab = "activeTableTab";
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 class="navBarCell1Rev">Class</li>
<li><a href="class-use/SqlVisitor.html">Use</a></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>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</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>
<!-- ======== START OF CLASS DATA ======== -->
<main role="main">
<div class="header">
<div class="subTitle"><span class="packageLabelInType">Package</span>&nbsp;<a href="package-summary.html">org.apache.calcite.sql.util</a></div>
<h2 title="Interface SqlVisitor" class="title">Interface SqlVisitor&lt;R&gt;</h2>
</div>
<div class="contentContainer">
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt><span class="paramLabel">Type Parameters:</span></dt>
<dd><code>R</code> - Return type</dd>
</dl>
<dl>
<dt>All Known Implementing Classes:</dt>
<dd><code><a href="../validate/AggChecker.html" title="class in org.apache.calcite.sql.validate">AggChecker</a></code>, <code><a href="../validate/AggFinder.html" title="class in org.apache.calcite.sql.validate">AggFinder</a></code>, <code><a href="../validate/AggFinder.AggIterable.html" title="class in org.apache.calcite.sql.validate">AggFinder.AggIterable</a></code>, <code><a href="../validate/AggVisitor.html" title="class in org.apache.calcite.sql.validate">AggVisitor</a></code>, <code><a href="SqlBasicVisitor.html" title="class in org.apache.calcite.sql.util">SqlBasicVisitor</a></code>, <code><a href="../fun/SqlBetweenOperator.AndFinder.html" title="class in org.apache.calcite.sql.fun">SqlBetweenOperator.AndFinder</a></code>, <code><a href="../validate/SqlScopedShuttle.html" title="class in org.apache.calcite.sql.validate">SqlScopedShuttle</a></code>, <code><a href="SqlShuttle.html" title="class in org.apache.calcite.sql.util">SqlShuttle</a></code>, <code><a href="../../sql2rel/SqlToRelConverter.AggConverter.html" title="class in org.apache.calcite.sql2rel">SqlToRelConverter.AggConverter</a></code>, <code><a href="../../sql2rel/SqlToRelConverter.AggregateFinder.html" title="class in org.apache.calcite.sql2rel">SqlToRelConverter.AggregateFinder</a></code>, <code><a href="../../sql2rel/SqlToRelConverter.Blackboard.html" title="class in org.apache.calcite.sql2rel">SqlToRelConverter.Blackboard</a></code>, <code><a href="../SqlUtil.Genealogist.html" title="class in org.apache.calcite.sql">SqlUtil.Genealogist</a></code>, <code><a href="../validate/SqlValidatorImpl.DeriveTypeVisitor.html" title="class in org.apache.calcite.sql.validate">SqlValidatorImpl.DeriveTypeVisitor</a></code>, <code><a href="../validate/SqlValidatorImpl.Expander.html" title="class in org.apache.calcite.sql.validate">SqlValidatorImpl.Expander</a></code>, <code><a href="../validate/SqlValidatorImpl.ExtendedExpander.html" title="class in org.apache.calcite.sql.validate">SqlValidatorImpl.ExtendedExpander</a></code>, <code><a href="../validate/SqlValidatorImpl.NavigationExpander.html" title="class in org.apache.calcite.sql.validate">SqlValidatorImpl.NavigationExpander</a></code>, <code><a href="../validate/SqlValidatorImpl.NavigationModifier.html" title="class in org.apache.calcite.sql.validate">SqlValidatorImpl.NavigationModifier</a></code>, <code><a href="../validate/SqlValidatorImpl.NavigationReplacer.html" title="class in org.apache.calcite.sql.validate">SqlValidatorImpl.NavigationReplacer</a></code>, <code><a href="../validate/SqlValidatorImpl.OrderExpressionExpander.html" title="class in org.apache.calcite.sql.validate">SqlValidatorImpl.OrderExpressionExpander</a></code>, <code><a href="../validate/SqlValidatorImpl.PatternValidator.html" title="class in org.apache.calcite.sql.validate">SqlValidatorImpl.PatternValidator</a></code>, <code><a href="../validate/SqlValidatorImpl.PatternVarVisitor.html" title="class in org.apache.calcite.sql.validate">SqlValidatorImpl.PatternVarVisitor</a></code>, <code><a href="../validate/SqlValidatorUtil.DeepCopier.html" title="class in org.apache.calcite.sql.validate">SqlValidatorUtil.DeepCopier</a></code>, <code><a href="../../util/Util.OverFinder.html" title="class in org.apache.calcite.util">Util.OverFinder</a></code></dd>
</dl>
<hr>
<pre>public interface <span class="typeNameLabel">SqlVisitor&lt;R&gt;</span></pre>
<div class="block">Visitor class, follows the
 <a href="../../util/Glossary.html#VISITOR_PATTERN"><code>visitor pattern</code></a>.

 <p>The type parameter <code>R</code> is the return type of each <code>
 visit()</code> method. If the methods do not need to return a value, use
 <code>Void</code>.</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="SqlBasicVisitor.html" title="class in org.apache.calcite.sql.util"><code>SqlBasicVisitor</code></a>, 
<a href="../SqlNode.html#accept(org.apache.calcite.sql.util.SqlVisitor)"><code>SqlNode.accept(SqlVisitor)</code></a>, 
<a href="../SqlOperator.html#acceptCall(org.apache.calcite.sql.util.SqlVisitor,org.apache.calcite.sql.SqlCall)"><code>SqlOperator.acceptCall(org.apache.calcite.sql.util.SqlVisitor&lt;R&gt;, org.apache.calcite.sql.SqlCall)</code></a></dd>
</dl>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ========== METHOD SUMMARY =========== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="method.summary">
<!--   -->
</a>
<h3>Method Summary</h3>
<table class="memberSummary">
<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t3" class="tableTab"><span><a href="javascript:show(4);">Abstract Methods</a></span><span class="tabEnd">&nbsp;</span></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>
<tr id="i0" class="altColor">
<td class="colFirst"><code><a href="SqlVisitor.html" title="type parameter in SqlVisitor">R</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#visit(org.apache.calcite.sql.SqlCall)">visit</a></span>&#8203;(<a href="../SqlCall.html" title="class in org.apache.calcite.sql">SqlCall</a>&nbsp;call)</code></th>
<td class="colLast">
<div class="block">Visits a call to a <a href="../SqlOperator.html" title="class in org.apache.calcite.sql"><code>SqlOperator</code></a>.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code><a href="SqlVisitor.html" title="type parameter in SqlVisitor">R</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#visit(org.apache.calcite.sql.SqlDataTypeSpec)">visit</a></span>&#8203;(<a href="../SqlDataTypeSpec.html" title="class in org.apache.calcite.sql">SqlDataTypeSpec</a>&nbsp;type)</code></th>
<td class="colLast">
<div class="block">Visits a datatype specification.</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code><a href="SqlVisitor.html" title="type parameter in SqlVisitor">R</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#visit(org.apache.calcite.sql.SqlDynamicParam)">visit</a></span>&#8203;(<a href="../SqlDynamicParam.html" title="class in org.apache.calcite.sql">SqlDynamicParam</a>&nbsp;param)</code></th>
<td class="colLast">
<div class="block">Visits a dynamic parameter.</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code><a href="SqlVisitor.html" title="type parameter in SqlVisitor">R</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#visit(org.apache.calcite.sql.SqlIdentifier)">visit</a></span>&#8203;(<a href="../SqlIdentifier.html" title="class in org.apache.calcite.sql">SqlIdentifier</a>&nbsp;id)</code></th>
<td class="colLast">
<div class="block">Visits an identifier.</div>
</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code><a href="SqlVisitor.html" title="type parameter in SqlVisitor">R</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#visit(org.apache.calcite.sql.SqlIntervalQualifier)">visit</a></span>&#8203;(<a href="../SqlIntervalQualifier.html" title="class in org.apache.calcite.sql">SqlIntervalQualifier</a>&nbsp;intervalQualifier)</code></th>
<td class="colLast">
<div class="block">Visits an interval qualifier</div>
</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code><a href="SqlVisitor.html" title="type parameter in SqlVisitor">R</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#visit(org.apache.calcite.sql.SqlLiteral)">visit</a></span>&#8203;(<a href="../SqlLiteral.html" title="class in org.apache.calcite.sql">SqlLiteral</a>&nbsp;literal)</code></th>
<td class="colLast">
<div class="block">Visits a literal.</div>
</td>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><code><a href="SqlVisitor.html" title="type parameter in SqlVisitor">R</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#visit(org.apache.calcite.sql.SqlNodeList)">visit</a></span>&#8203;(<a href="../SqlNodeList.html" title="class in org.apache.calcite.sql">SqlNodeList</a>&nbsp;nodeList)</code></th>
<td class="colLast">
<div class="block">Visits a list of <a href="../SqlNode.html" title="class in org.apache.calcite.sql"><code>SqlNode</code></a> objects.</div>
</td>
</tr>
</table>
</li>
</ul>
</section>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ============ METHOD DETAIL ========== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="method.detail">
<!--   -->
</a>
<h3>Method Detail</h3>
<a id="visit(org.apache.calcite.sql.SqlLiteral)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>visit</h4>
<pre class="methodSignature"><a href="SqlVisitor.html" title="type parameter in SqlVisitor">R</a>&nbsp;visit&#8203;(<a href="../SqlLiteral.html" title="class in org.apache.calcite.sql">SqlLiteral</a>&nbsp;literal)</pre>
<div class="block">Visits a literal.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>literal</code> - Literal</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../SqlLiteral.html#accept(org.apache.calcite.sql.util.SqlVisitor)"><code>SqlLiteral.accept(SqlVisitor)</code></a></dd>
</dl>
</li>
</ul>
<a id="visit(org.apache.calcite.sql.SqlCall)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>visit</h4>
<pre class="methodSignature"><a href="SqlVisitor.html" title="type parameter in SqlVisitor">R</a>&nbsp;visit&#8203;(<a href="../SqlCall.html" title="class in org.apache.calcite.sql">SqlCall</a>&nbsp;call)</pre>
<div class="block">Visits a call to a <a href="../SqlOperator.html" title="class in org.apache.calcite.sql"><code>SqlOperator</code></a>.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>call</code> - Call</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../SqlCall.html#accept(org.apache.calcite.sql.util.SqlVisitor)"><code>SqlCall.accept(SqlVisitor)</code></a></dd>
</dl>
</li>
</ul>
<a id="visit(org.apache.calcite.sql.SqlNodeList)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>visit</h4>
<pre class="methodSignature"><a href="SqlVisitor.html" title="type parameter in SqlVisitor">R</a>&nbsp;visit&#8203;(<a href="../SqlNodeList.html" title="class in org.apache.calcite.sql">SqlNodeList</a>&nbsp;nodeList)</pre>
<div class="block">Visits a list of <a href="../SqlNode.html" title="class in org.apache.calcite.sql"><code>SqlNode</code></a> objects.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>nodeList</code> - list of nodes</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../SqlNodeList.html#accept(org.apache.calcite.sql.util.SqlVisitor)"><code>SqlNodeList.accept(SqlVisitor)</code></a></dd>
</dl>
</li>
</ul>
<a id="visit(org.apache.calcite.sql.SqlIdentifier)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>visit</h4>
<pre class="methodSignature"><a href="SqlVisitor.html" title="type parameter in SqlVisitor">R</a>&nbsp;visit&#8203;(<a href="../SqlIdentifier.html" title="class in org.apache.calcite.sql">SqlIdentifier</a>&nbsp;id)</pre>
<div class="block">Visits an identifier.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>id</code> - identifier</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../SqlIdentifier.html#accept(org.apache.calcite.sql.util.SqlVisitor)"><code>SqlIdentifier.accept(SqlVisitor)</code></a></dd>
</dl>
</li>
</ul>
<a id="visit(org.apache.calcite.sql.SqlDataTypeSpec)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>visit</h4>
<pre class="methodSignature"><a href="SqlVisitor.html" title="type parameter in SqlVisitor">R</a>&nbsp;visit&#8203;(<a href="../SqlDataTypeSpec.html" title="class in org.apache.calcite.sql">SqlDataTypeSpec</a>&nbsp;type)</pre>
<div class="block">Visits a datatype specification.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>type</code> - datatype specification</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../SqlDataTypeSpec.html#accept(org.apache.calcite.sql.util.SqlVisitor)"><code>SqlDataTypeSpec.accept(SqlVisitor)</code></a></dd>
</dl>
</li>
</ul>
<a id="visit(org.apache.calcite.sql.SqlDynamicParam)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>visit</h4>
<pre class="methodSignature"><a href="SqlVisitor.html" title="type parameter in SqlVisitor">R</a>&nbsp;visit&#8203;(<a href="../SqlDynamicParam.html" title="class in org.apache.calcite.sql">SqlDynamicParam</a>&nbsp;param)</pre>
<div class="block">Visits a dynamic parameter.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>param</code> - Dynamic parameter</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../SqlDynamicParam.html#accept(org.apache.calcite.sql.util.SqlVisitor)"><code>SqlDynamicParam.accept(SqlVisitor)</code></a></dd>
</dl>
</li>
</ul>
<a id="visit(org.apache.calcite.sql.SqlIntervalQualifier)">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>visit</h4>
<pre class="methodSignature"><a href="SqlVisitor.html" title="type parameter in SqlVisitor">R</a>&nbsp;visit&#8203;(<a href="../SqlIntervalQualifier.html" title="class in org.apache.calcite.sql">SqlIntervalQualifier</a>&nbsp;intervalQualifier)</pre>
<div class="block">Visits an interval qualifier</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>intervalQualifier</code> - Interval qualifier</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../SqlIntervalQualifier.html#accept(org.apache.calcite.sql.util.SqlVisitor)"><code>SqlIntervalQualifier.accept(SqlVisitor)</code></a></dd>
</dl>
</li>
</ul>
</li>
</ul>
</section>
</li>
</ul>
</div>
</div>
</main>
<!-- ========= END OF CLASS DATA ========= -->
<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 class="navBarCell1Rev">Class</li>
<li><a href="class-use/SqlVisitor.html">Use</a></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>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</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>
