| <!DOCTYPE HTML> |
| <!-- NewPage --> |
| <html lang="en"> |
| <head> |
| <!-- Generated by javadoc --> |
| <title>SqlValidator (Apache Calcite calcite API)</title> |
| <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> |
| <meta name="description" content="declaration: package: org.apache.calcite.sql.validate, interface: SqlValidator"> |
| <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.css" title="Style"> |
| <script type="text/javascript" src="../../../../../script.js"></script> |
| <script type="text/javascript" src="../../../../../script-dir/jszip/dist/jszip.min.js"></script> |
| <script type="text/javascript" src="../../../../../script-dir/jszip-utils/dist/jszip-utils.min.js"></script> |
| <!--[if IE]> |
| <script type="text/javascript" src="../../../../../script-dir/jszip-utils/dist/jszip-utils-ie.min.js"></script> |
| <![endif]--> |
| <script type="text/javascript" src="../../../../../script-dir/jquery-3.4.1.js"></script> |
| <script type="text/javascript" src="../../../../../script-dir/jquery-ui.js"></script> |
| </head> |
| <body class="class-declaration"> |
| <script type="text/javascript">var data = {"i0":6,"i1":6,"i2":6,"i3":6,"i4":6,"i5":6,"i6":6,"i7":6,"i8":6,"i9":6,"i10":6,"i11":6,"i12":6,"i13":6,"i14":6,"i15":6,"i16":6,"i17":6,"i18":6,"i19":6,"i20":6,"i21":6,"i22":6,"i23":6,"i24":6,"i25":6,"i26":6,"i27":6,"i28":6,"i29":6,"i30":6,"i31":6,"i32":38,"i33":6,"i34":6,"i35":6,"i36":6,"i37":6,"i38":6,"i39":6,"i40":6,"i41":50,"i42":6,"i43":6,"i44":6,"i45":6,"i46":6,"i47":6,"i48":6,"i49":6,"i50":6,"i51":6,"i52":6,"i53":6,"i54":6,"i55":6,"i56":6,"i57":6,"i58":6,"i59":6,"i60":6,"i61":6,"i62":6,"i63":6,"i64":6}; |
| var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"],16:["t5","Default Methods"],32:["t6","Deprecated Methods"]}; |
| var altColor = "altColor"; |
| var rowColor = "rowColor"; |
| var tableTab = "tableTab"; |
| var activeTableTab = "activeTableTab"; |
| var pathtoroot = "../../../../../"; |
| loadScripts(document, 'script');</script> |
| <noscript> |
| <div>JavaScript is disabled on your browser.</div> |
| </noscript> |
| <div class="flexBox"> |
| <header role="banner" class="flexHeader"> |
| <nav role="navigation"> |
| <!-- ========= 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="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 class="aboutLanguage"><b>Apache Calcite</b></div> |
| </div> |
| <div class="subNav"> |
| <div> |
| <ul class="subNavList"> |
| <li>Summary: </li> |
| <li><a href="#nested.class.summary">Nested</a> | </li> |
| <li>Field | </li> |
| <li>Constr | </li> |
| <li><a href="#method.summary">Method</a></li> |
| </ul> |
| <ul class="subNavList"> |
| <li>Detail: </li> |
| <li>Field | </li> |
| <li>Constr | </li> |
| <li><a href="#method.detail">Method</a></li> |
| </ul> |
| </div> |
| <div class="navListSearch"><label for="search">SEARCH:</label> |
| <input type="text" id="search" value="search" disabled="disabled"> |
| <input type="reset" id="reset" value="reset" disabled="disabled"> |
| </div> |
| </div> |
| <!-- ========= END OF TOP NAVBAR ========= --> |
| <div class="skipNav"><a id="skip.navbar.top"> |
| <!-- --> |
| </a></div> |
| </nav> |
| </header> |
| <div class="flexContent"> |
| <main role="main"> |
| <!-- ======== START OF CLASS DATA ======== --> |
| <div class="header"> |
| <div class="subTitle"><span class="packageLabelInType">Package</span> <a href="package-summary.html">org.apache.calcite.sql.validate</a></div> |
| <h1 title="Interface SqlValidator" class="title">Interface SqlValidator</h1> |
| </div> |
| <div class="contentContainer"> |
| <section class="description"> |
| <dl> |
| <dt>All Known Subinterfaces:</dt> |
| <dd><code><a href="SqlValidatorWithHints.html" title="interface in org.apache.calcite.sql.validate">SqlValidatorWithHints</a></code></dd> |
| </dl> |
| <dl> |
| <dt>All Known Implementing Classes:</dt> |
| <dd><code><a href="../../jdbc/ContextSqlValidator.html" title="class in org.apache.calcite.jdbc">ContextSqlValidator</a></code>, <code><a href="../advise/SqlAdvisorValidator.html" title="class in org.apache.calcite.sql.advise">SqlAdvisorValidator</a></code>, <code><a href="SqlValidatorImpl.html" title="class in org.apache.calcite.sql.validate">SqlValidatorImpl</a></code></dd> |
| </dl> |
| <hr> |
| <pre>public interface <span class="typeNameLabel">SqlValidator</span></pre> |
| <div class="block">Validates the parse tree of a SQL statement, and provides semantic |
| information about the parse tree. |
| |
| <p>To create an instance of the default validator implementation, call |
| <a href="SqlValidatorUtil.html#newValidator(org.apache.calcite.sql.SqlOperatorTable,org.apache.calcite.sql.validate.SqlValidatorCatalogReader,org.apache.calcite.rel.type.RelDataTypeFactory,org.apache.calcite.sql.validate.SqlValidator.Config)"><code>SqlValidatorUtil.newValidator(org.apache.calcite.sql.SqlOperatorTable, org.apache.calcite.sql.validate.SqlValidatorCatalogReader, org.apache.calcite.rel.type.RelDataTypeFactory, org.apache.calcite.sql.validate.SqlValidator.Config)</code></a>. |
| |
| <h2>Visitor pattern</h2> |
| |
| <p>The validator interface is an instance of the |
| <a href="../../util/Glossary.html#VISITOR_PATTERN"><code>visitor pattern</code></a>. |
| Implementations |
| of the <a href="../SqlNode.html#validate(org.apache.calcite.sql.validate.SqlValidator,org.apache.calcite.sql.validate.SqlValidatorScope)"><code>SqlNode.validate(org.apache.calcite.sql.validate.SqlValidator, org.apache.calcite.sql.validate.SqlValidatorScope)</code></a> method call the <code>validateXxx</code> |
| method appropriate to the kind of node: |
| <ul> |
| <li><a href="../SqlLiteral.html#validate(org.apache.calcite.sql.validate.SqlValidator,org.apache.calcite.sql.validate.SqlValidatorScope)"><code>SqlLiteral.validate(SqlValidator, SqlValidatorScope)</code></a> |
| calls |
| <a href="#validateLiteral(org.apache.calcite.sql.SqlLiteral)"><code>validateLiteral(org.apache.calcite.sql.SqlLiteral)</code></a>; |
| <li><a href="../SqlCall.html#validate(org.apache.calcite.sql.validate.SqlValidator,org.apache.calcite.sql.validate.SqlValidatorScope)"><code>SqlCall.validate(SqlValidator, SqlValidatorScope)</code></a> |
| calls |
| <a href="#validateCall(org.apache.calcite.sql.SqlCall,org.apache.calcite.sql.validate.SqlValidatorScope)"><code>validateCall(SqlCall, SqlValidatorScope)</code></a>; |
| <li>and so forth.</ul> |
| |
| <p>The <a href="../SqlNode.html#validateExpr(org.apache.calcite.sql.validate.SqlValidator,org.apache.calcite.sql.validate.SqlValidatorScope)"><code>SqlNode.validateExpr(SqlValidator, SqlValidatorScope)</code></a> method |
| is as <a href="../SqlNode.html#validate(org.apache.calcite.sql.validate.SqlValidator,org.apache.calcite.sql.validate.SqlValidatorScope)"><code>SqlNode.validate(SqlValidator, SqlValidatorScope)</code></a> but is called |
| when the node is known to be a scalar expression. |
| |
| <h2>Scopes and namespaces</h2> |
| |
| <p>In order to resolve names to objects, the validator builds a map of the |
| structure of the query. This map consists of two types of objects. A |
| <a href="SqlValidatorScope.html" title="interface in org.apache.calcite.sql.validate"><code>SqlValidatorScope</code></a> describes the tables and columns accessible at a |
| particular point in the query; and a <a href="SqlValidatorNamespace.html" title="interface in org.apache.calcite.sql.validate"><code>SqlValidatorNamespace</code></a> is a |
| description of a data source used in a query. |
| |
| <p>There are different kinds of namespace for different parts of the query. |
| for example <a href="IdentifierNamespace.html" title="class in org.apache.calcite.sql.validate"><code>IdentifierNamespace</code></a> for table names, |
| <a href="SelectNamespace.html" title="class in org.apache.calcite.sql.validate"><code>SelectNamespace</code></a> for SELECT queries, |
| <a href="SetopNamespace.html" title="class in org.apache.calcite.sql.validate"><code>SetopNamespace</code></a> for UNION, EXCEPT |
| and INTERSECT. A validator is allowed to wrap namespaces in other objects |
| which implement <a href="SqlValidatorNamespace.html" title="interface in org.apache.calcite.sql.validate"><code>SqlValidatorNamespace</code></a>, so don't try to cast your |
| namespace or use <code>instanceof</code>; use |
| <a href="SqlValidatorNamespace.html#unwrap(java.lang.Class)"><code>SqlValidatorNamespace.unwrap(Class)</code></a> and |
| <a href="SqlValidatorNamespace.html#isWrapperFor(java.lang.Class)"><code>SqlValidatorNamespace.isWrapperFor(Class)</code></a> instead.</p> |
| |
| <p>The validator builds the map by making a quick scan over the query when |
| the root <a href="../SqlNode.html" title="class in org.apache.calcite.sql"><code>SqlNode</code></a> is first provided. Thereafter, it supplies the |
| correct scope or namespace object when it calls validation methods.</p> |
| |
| <p>The methods <a href="#getSelectScope(org.apache.calcite.sql.SqlSelect)"><code>getSelectScope(org.apache.calcite.sql.SqlSelect)</code></a>, <a href="#getFromScope(org.apache.calcite.sql.SqlSelect)"><code>getFromScope(org.apache.calcite.sql.SqlSelect)</code></a>, |
| <a href="#getWhereScope(org.apache.calcite.sql.SqlSelect)"><code>getWhereScope(org.apache.calcite.sql.SqlSelect)</code></a>, <a href="#getGroupScope(org.apache.calcite.sql.SqlSelect)"><code>getGroupScope(org.apache.calcite.sql.SqlSelect)</code></a>, <a href="#getHavingScope(org.apache.calcite.sql.SqlSelect)"><code>getHavingScope(org.apache.calcite.sql.SqlSelect)</code></a>, |
| <a href="#getOrderScope(org.apache.calcite.sql.SqlSelect)"><code>getOrderScope(org.apache.calcite.sql.SqlSelect)</code></a> and <a href="#getJoinScope(org.apache.calcite.sql.SqlNode)"><code>getJoinScope(org.apache.calcite.sql.SqlNode)</code></a> get the correct scope |
| to resolve |
| names in a particular clause of a SQL statement.</p></div> |
| </section> |
| <section class="summary"> |
| <ul class="blockList"> |
| <!-- ======== NESTED CLASS SUMMARY ======== --> |
| <li class="blockList"> |
| <section class="nestedClassSummary"><a id="nested.class.summary"> |
| <!-- --> |
| </a> |
| <h2>Nested Class Summary</h2> |
| <div class="memberSummary"> |
| <table> |
| <caption><span>Nested Classes</span><span class="tabEnd"> </span></caption> |
| <thead> |
| <tr> |
| <th class="colFirst" scope="col">Modifier and Type</th> |
| <th class="colSecond" scope="col">Interface</th> |
| <th class="colLast" scope="col">Description</th> |
| </tr> |
| </thead> |
| <tbody> |
| <tr class="altColor"> |
| <td class="colFirst"><code>static interface </code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="SqlValidator.Config.html" title="interface in org.apache.calcite.sql.validate">SqlValidator.Config</a></span></code></th> |
| <td class="colLast"> |
| <div class="block">Interface to define the configuration for a SqlValidator.</div> |
| </td> |
| </tr> |
| </tbody> |
| </table> |
| </div> |
| </section> |
| </li> |
| <!-- ========== METHOD SUMMARY =========== --> |
| <li class="blockList"> |
| <section class="methodSummary"><a id="method.summary"> |
| <!-- --> |
| </a> |
| <h2>Method Summary</h2> |
| <div class="memberSummary"> |
| <div role="tablist" aria-orientation="horizontal"><button role="tab" aria-selected="true" aria-controls="memberSummary_tabpanel" tabindex="0" onkeydown="switchTab(event)" id="t0" class="activeTableTab">All Methods</button><button role="tab" aria-selected="false" aria-controls="memberSummary_tabpanel" tabindex="-1" onkeydown="switchTab(event)" id="t2" class="tableTab" onclick="show(2);">Instance Methods</button><button role="tab" aria-selected="false" aria-controls="memberSummary_tabpanel" tabindex="-1" onkeydown="switchTab(event)" id="t3" class="tableTab" onclick="show(4);">Abstract Methods</button><button role="tab" aria-selected="false" aria-controls="memberSummary_tabpanel" tabindex="-1" onkeydown="switchTab(event)" id="t5" class="tableTab" onclick="show(16);">Default Methods</button><button role="tab" aria-selected="false" aria-controls="memberSummary_tabpanel" tabindex="-1" onkeydown="switchTab(event)" id="t6" class="tableTab" onclick="show(32);">Deprecated Methods</button></div> |
| <div id="memberSummary_tabpanel" role="tabpanel"> |
| <table aria-labelledby="t0"> |
| <thead> |
| <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> |
| </thead> |
| <tbody> |
| <tr class="altColor" id="i0"> |
| <td class="colFirst"><code><a href="SqlValidator.Config.html" title="interface in org.apache.calcite.sql.validate">SqlValidator.Config</a></code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#config()">config</a></span>()</code></th> |
| <td class="colLast"> |
| <div class="block">Returns the config of the validator.</div> |
| </td> |
| </tr> |
| <tr class="rowColor" id="i1"> |
| <td class="colFirst"><code>void</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#declareCursor(org.apache.calcite.sql.SqlSelect,org.apache.calcite.sql.validate.SqlValidatorScope)">declareCursor</a></span>​(<a href="../SqlSelect.html" title="class in org.apache.calcite.sql">SqlSelect</a> select, |
| <a href="SqlValidatorScope.html" title="interface in org.apache.calcite.sql.validate">SqlValidatorScope</a> scope)</code></th> |
| <td class="colLast"> |
| <div class="block">Declares a SELECT expression as a cursor.</div> |
| </td> |
| </tr> |
| <tr class="altColor" id="i2"> |
| <td class="colFirst"><code>@Nullable <a href="https://docs.oracle.com/javase/9/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a></code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#deriveAlias(org.apache.calcite.sql.SqlNode,int)">deriveAlias</a></span>​(<a href="../SqlNode.html" title="class in org.apache.calcite.sql">SqlNode</a> node, |
| int ordinal)</code></th> |
| <td class="colLast"> |
| <div class="block">Derives an alias for an expression.</div> |
| </td> |
| </tr> |
| <tr class="rowColor" id="i3"> |
| <td class="colFirst"><code><a href="../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a></code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#deriveConstructorType(org.apache.calcite.sql.validate.SqlValidatorScope,org.apache.calcite.sql.SqlCall,org.apache.calcite.sql.SqlFunction,org.apache.calcite.sql.SqlFunction,java.util.List)">deriveConstructorType</a></span>​(<a href="SqlValidatorScope.html" title="interface in org.apache.calcite.sql.validate">SqlValidatorScope</a> scope, |
| <a href="../SqlCall.html" title="class in org.apache.calcite.sql">SqlCall</a> call, |
| <a href="../SqlFunction.html" title="class in org.apache.calcite.sql">SqlFunction</a> unresolvedConstructor, |
| @Nullable <a href="../SqlFunction.html" title="class in org.apache.calcite.sql">SqlFunction</a> resolvedConstructor, |
| <a href="https://docs.oracle.com/javase/9/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util" class="externalLink">List</a><<a href="../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a>> argTypes)</code></th> |
| <td class="colLast"> |
| <div class="block">Derives the type of a constructor.</div> |
| </td> |
| </tr> |
| <tr class="altColor" id="i4"> |
| <td class="colFirst"><code><a href="../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a></code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#deriveType(org.apache.calcite.sql.validate.SqlValidatorScope,org.apache.calcite.sql.SqlNode)">deriveType</a></span>​(<a href="SqlValidatorScope.html" title="interface in org.apache.calcite.sql.validate">SqlValidatorScope</a> scope, |
| <a href="../SqlNode.html" title="class in org.apache.calcite.sql">SqlNode</a> operand)</code></th> |
| <td class="colLast"> |
| <div class="block">Derives the type of a node in a given scope.</div> |
| </td> |
| </tr> |
| <tr class="rowColor" id="i5"> |
| <td class="colFirst"><code><a href="../SqlNode.html" title="class in org.apache.calcite.sql">SqlNode</a></code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#expand(org.apache.calcite.sql.SqlNode,org.apache.calcite.sql.validate.SqlValidatorScope)">expand</a></span>​(<a href="../SqlNode.html" title="class in org.apache.calcite.sql">SqlNode</a> expr, |
| <a href="SqlValidatorScope.html" title="interface in org.apache.calcite.sql.validate">SqlValidatorScope</a> scope)</code></th> |
| <td class="colLast"> |
| <div class="block">Expands an expression.</div> |
| </td> |
| </tr> |
| <tr class="altColor" id="i6"> |
| <td class="colFirst"><code><a href="../SqlNode.html" title="class in org.apache.calcite.sql">SqlNode</a></code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#expandOrderExpr(org.apache.calcite.sql.SqlSelect,org.apache.calcite.sql.SqlNode)">expandOrderExpr</a></span>​(<a href="../SqlSelect.html" title="class in org.apache.calcite.sql">SqlSelect</a> select, |
| <a href="../SqlNode.html" title="class in org.apache.calcite.sql">SqlNode</a> orderExpr)</code></th> |
| <td class="colLast"> |
| <div class="block">Expands an expression in the ORDER BY clause into an expression with the |
| same semantics as expressions in the SELECT clause.</div> |
| </td> |
| </tr> |
| <tr class="rowColor" id="i7"> |
| <td class="colFirst"><code><a href="../SqlNodeList.html" title="class in org.apache.calcite.sql">SqlNodeList</a></code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#expandStar(org.apache.calcite.sql.SqlNodeList,org.apache.calcite.sql.SqlSelect,boolean)">expandStar</a></span>​(<a href="../SqlNodeList.html" title="class in org.apache.calcite.sql">SqlNodeList</a> selectList, |
| <a href="../SqlSelect.html" title="class in org.apache.calcite.sql">SqlSelect</a> query, |
| boolean includeSystemVars)</code></th> |
| <td class="colLast"> |
| <div class="block">Returns a list of expressions, with every occurrence of "*" or |
| "TABLE.*" expanded.</div> |
| </td> |
| </tr> |
| <tr class="altColor" id="i8"> |
| <td class="colFirst"><code><a href="SqlValidatorCatalogReader.html" title="interface in org.apache.calcite.sql.validate">SqlValidatorCatalogReader</a></code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getCatalogReader()">getCatalogReader</a></span>()</code></th> |
| <td class="colLast"> |
| <div class="block">Returns the catalog reader used by this validator.</div> |
| </td> |
| </tr> |
| <tr class="rowColor" id="i9"> |
| <td class="colFirst"><code><a href="https://docs.oracle.com/javase/9/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util" class="externalLink">List</a><@Nullable <a href="https://docs.oracle.com/javase/9/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util" class="externalLink">List</a><<a href="https://docs.oracle.com/javase/9/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>>></code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getFieldOrigins(org.apache.calcite.sql.SqlNode)">getFieldOrigins</a></span>​(<a href="../SqlNode.html" title="class in org.apache.calcite.sql">SqlNode</a> sqlQuery)</code></th> |
| <td class="colLast"> |
| <div class="block">Returns a description of how each field in the row type maps to a |
| catalog, schema, table and column in the schema.</div> |
| </td> |
| </tr> |
| <tr class="altColor" id="i10"> |
| <td class="colFirst"><code>@Nullable <a href="SqlValidatorScope.html" title="interface in org.apache.calcite.sql.validate">SqlValidatorScope</a></code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getFromScope(org.apache.calcite.sql.SqlSelect)">getFromScope</a></span>​(<a href="../SqlSelect.html" title="class in org.apache.calcite.sql">SqlSelect</a> select)</code></th> |
| <td class="colLast"> |
| <div class="block">Returns a scope containing the objects visible from the FROM clause of a |
| query.</div> |
| </td> |
| </tr> |
| <tr class="rowColor" id="i11"> |
| <td class="colFirst"><code><a href="SqlValidatorScope.html" title="interface in org.apache.calcite.sql.validate">SqlValidatorScope</a></code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getGroupScope(org.apache.calcite.sql.SqlSelect)">getGroupScope</a></span>​(<a href="../SqlSelect.html" title="class in org.apache.calcite.sql">SqlSelect</a> select)</code></th> |
| <td class="colLast"> |
| <div class="block">Returns a scope containing the objects visible from the GROUP BY clause |
| of a query.</div> |
| </td> |
| </tr> |
| <tr class="altColor" id="i12"> |
| <td class="colFirst"><code><a href="SqlValidatorScope.html" title="interface in org.apache.calcite.sql.validate">SqlValidatorScope</a></code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getHavingScope(org.apache.calcite.sql.SqlSelect)">getHavingScope</a></span>​(<a href="../SqlSelect.html" title="class in org.apache.calcite.sql">SqlSelect</a> select)</code></th> |
| <td class="colLast"> |
| <div class="block">Returns a scope containing the objects visible from the HAVING clause of |
| a query.</div> |
| </td> |
| </tr> |
| <tr class="rowColor" id="i13"> |
| <td class="colFirst"><code>@Nullable <a href="SqlValidatorScope.html" title="interface in org.apache.calcite.sql.validate">SqlValidatorScope</a></code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getJoinScope(org.apache.calcite.sql.SqlNode)">getJoinScope</a></span>​(<a href="../SqlNode.html" title="class in org.apache.calcite.sql">SqlNode</a> node)</code></th> |
| <td class="colLast"> |
| <div class="block">Returns a scope containing the objects visible from the ON and USING |
| sections of a JOIN clause.</div> |
| </td> |
| </tr> |
| <tr class="altColor" id="i14"> |
| <td class="colFirst"><code><a href="SqlValidatorScope.html" title="interface in org.apache.calcite.sql.validate">SqlValidatorScope</a></code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getMatchRecognizeScope(org.apache.calcite.sql.SqlMatchRecognize)">getMatchRecognizeScope</a></span>​(<a href="../SqlMatchRecognize.html" title="class in org.apache.calcite.sql">SqlMatchRecognize</a> node)</code></th> |
| <td class="colLast"> |
| <div class="block">Returns a scope match recognize clause.</div> |
| </td> |
| </tr> |
| <tr class="rowColor" id="i15"> |
| <td class="colFirst"><code>@Nullable <a href="SqlValidatorNamespace.html" title="interface in org.apache.calcite.sql.validate">SqlValidatorNamespace</a></code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getNamespace(org.apache.calcite.sql.SqlNode)">getNamespace</a></span>​(<a href="../SqlNode.html" title="class in org.apache.calcite.sql">SqlNode</a> node)</code></th> |
| <td class="colLast"> |
| <div class="block">Finds the namespace corresponding to a given node.</div> |
| </td> |
| </tr> |
| <tr class="altColor" id="i16"> |
| <td class="colFirst"><code><a href="../SqlOperatorTable.html" title="interface in org.apache.calcite.sql">SqlOperatorTable</a></code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getOperatorTable()">getOperatorTable</a></span>()</code></th> |
| <td class="colLast"> |
| <div class="block">Returns the operator table used by this validator.</div> |
| </td> |
| </tr> |
| <tr class="rowColor" id="i17"> |
| <td class="colFirst"><code><a href="SqlValidatorScope.html" title="interface in org.apache.calcite.sql.validate">SqlValidatorScope</a></code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getOrderScope(org.apache.calcite.sql.SqlSelect)">getOrderScope</a></span>​(<a href="../SqlSelect.html" title="class in org.apache.calcite.sql">SqlSelect</a> select)</code></th> |
| <td class="colLast"> |
| <div class="block">Returns the scope that expressions in the SELECT and HAVING clause of |
| this query should use.</div> |
| </td> |
| </tr> |
| <tr class="altColor" id="i18"> |
| <td class="colFirst"><code><a href="SqlValidatorScope.html" title="interface in org.apache.calcite.sql.validate">SqlValidatorScope</a></code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getOverScope(org.apache.calcite.sql.SqlNode)">getOverScope</a></span>​(<a href="../SqlNode.html" title="class in org.apache.calcite.sql">SqlNode</a> node)</code></th> |
| <td class="colLast"> |
| <div class="block">Returns the scope of an OVER or VALUES node.</div> |
| </td> |
| </tr> |
| <tr class="rowColor" id="i19"> |
| <td class="colFirst"><code><a href="../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a></code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getParameterRowType(org.apache.calcite.sql.SqlNode)">getParameterRowType</a></span>​(<a href="../SqlNode.html" title="class in org.apache.calcite.sql">SqlNode</a> sqlQuery)</code></th> |
| <td class="colLast"> |
| <div class="block">Returns a record type that contains the name and type of each parameter.</div> |
| </td> |
| </tr> |
| <tr class="altColor" id="i20"> |
| <td class="colFirst"><code>@Nullable <a href="https://docs.oracle.com/javase/9/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a></code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getParentCursor(java.lang.String)">getParentCursor</a></span>​(<a href="https://docs.oracle.com/javase/9/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a> columnListParamName)</code></th> |
| <td class="colLast"> |
| <div class="block">Retrieves the name of the parent cursor referenced by a column list |
| parameter.</div> |
| </td> |
| </tr> |
| <tr class="rowColor" id="i21"> |
| <td class="colFirst"><code>@Nullable <a href="SelectScope.html" title="class in org.apache.calcite.sql.validate">SelectScope</a></code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getRawSelectScope(org.apache.calcite.sql.SqlSelect)">getRawSelectScope</a></span>​(<a href="../SqlSelect.html" title="class in org.apache.calcite.sql">SqlSelect</a> select)</code></th> |
| <td class="colLast"> |
| <div class="block">Returns the scope for resolving the SELECT, GROUP BY and HAVING clauses.</div> |
| </td> |
| </tr> |
| <tr class="altColor" id="i22"> |
| <td class="colFirst"><code><a href="SqlValidatorScope.html" title="interface in org.apache.calcite.sql.validate">SqlValidatorScope</a></code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getSelectScope(org.apache.calcite.sql.SqlSelect)">getSelectScope</a></span>​(<a href="../SqlSelect.html" title="class in org.apache.calcite.sql">SqlSelect</a> select)</code></th> |
| <td class="colLast"> |
| <div class="block">Returns the appropriate scope for validating a particular clause of a |
| SELECT statement.</div> |
| </td> |
| </tr> |
| <tr class="rowColor" id="i23"> |
| <td class="colFirst"><code><a href="implicit/TypeCoercion.html" title="interface in org.apache.calcite.sql.validate.implicit">TypeCoercion</a></code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getTypeCoercion()">getTypeCoercion</a></span>()</code></th> |
| <td class="colLast"> |
| <div class="block">Get the type coercion instance.</div> |
| </td> |
| </tr> |
| <tr class="altColor" id="i24"> |
| <td class="colFirst"><code><a href="../../rel/type/RelDataTypeFactory.html" title="interface in org.apache.calcite.rel.type">RelDataTypeFactory</a></code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getTypeFactory()">getTypeFactory</a></span>()</code></th> |
| <td class="colLast"> |
| <div class="block">Returns the type factory used by this validator.</div> |
| </td> |
| </tr> |
| <tr class="rowColor" id="i25"> |
| <td class="colFirst"><code><a href="../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a></code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getUnknownType()">getUnknownType</a></span>()</code></th> |
| <td class="colLast"> |
| <div class="block">Returns an object representing the "unknown" type.</div> |
| </td> |
| </tr> |
| <tr class="altColor" id="i26"> |
| <td class="colFirst"><code><a href="../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a></code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getValidatedNodeType(org.apache.calcite.sql.SqlNode)">getValidatedNodeType</a></span>​(<a href="../SqlNode.html" title="class in org.apache.calcite.sql">SqlNode</a> node)</code></th> |
| <td class="colLast"> |
| <div class="block">Returns the type assigned to a node by validation.</div> |
| </td> |
| </tr> |
| <tr class="rowColor" id="i27"> |
| <td class="colFirst"><code>@Nullable <a href="../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a></code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getValidatedNodeTypeIfKnown(org.apache.calcite.sql.SqlNode)">getValidatedNodeTypeIfKnown</a></span>​(<a href="../SqlNode.html" title="class in org.apache.calcite.sql">SqlNode</a> node)</code></th> |
| <td class="colLast"> |
| <div class="block">Returns the type assigned to a node by validation, or null if unknown.</div> |
| </td> |
| </tr> |
| <tr class="altColor" id="i28"> |
| <td class="colFirst"><code>@Nullable <a href="https://docs.oracle.com/javase/9/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util" class="externalLink">List</a><<a href="../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a>></code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getValidatedOperandTypes(org.apache.calcite.sql.SqlCall)">getValidatedOperandTypes</a></span>​(<a href="../SqlCall.html" title="class in org.apache.calcite.sql">SqlCall</a> call)</code></th> |
| <td class="colLast"> |
| <div class="block">Returns the types of a call's operands.</div> |
| </td> |
| </tr> |
| <tr class="rowColor" id="i29"> |
| <td class="colFirst"><code><a href="SqlValidatorScope.html" title="interface in org.apache.calcite.sql.validate">SqlValidatorScope</a></code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getWhereScope(org.apache.calcite.sql.SqlSelect)">getWhereScope</a></span>​(<a href="../SqlSelect.html" title="class in org.apache.calcite.sql">SqlSelect</a> select)</code></th> |
| <td class="colLast"> |
| <div class="block">Returns the scope that expressions in the WHERE and GROUP BY clause of |
| this query should use.</div> |
| </td> |
| </tr> |
| <tr class="altColor" id="i30"> |
| <td class="colFirst"><code>@Nullable <a href="SqlValidatorScope.html" title="interface in org.apache.calcite.sql.validate">SqlValidatorScope</a></code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getWithScope(org.apache.calcite.sql.SqlNode)">getWithScope</a></span>​(<a href="../SqlNode.html" title="class in org.apache.calcite.sql">SqlNode</a> withItem)</code></th> |
| <td class="colLast"> </td> |
| </tr> |
| <tr class="rowColor" id="i31"> |
| <td class="colFirst"><code><a href="../../runtime/CalciteException.html" title="class in org.apache.calcite.runtime">CalciteException</a></code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#handleUnresolvedFunction(org.apache.calcite.sql.SqlCall,org.apache.calcite.sql.SqlOperator,java.util.List,java.util.List)">handleUnresolvedFunction</a></span>​(<a href="../SqlCall.html" title="class in org.apache.calcite.sql">SqlCall</a> call, |
| <a href="../SqlOperator.html" title="class in org.apache.calcite.sql">SqlOperator</a> unresolvedFunction, |
| <a href="https://docs.oracle.com/javase/9/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util" class="externalLink">List</a><<a href="../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a>> argTypes, |
| @Nullable <a href="https://docs.oracle.com/javase/9/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util" class="externalLink">List</a><<a href="https://docs.oracle.com/javase/9/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>> argNames)</code></th> |
| <td class="colLast"> |
| <div class="block">Handles a call to a function which cannot be resolved.</div> |
| </td> |
| </tr> |
| <tr class="altColor" id="i32"> |
| <td class="colFirst"><code>boolean</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#isAggregate(org.apache.calcite.sql.SqlNode)">isAggregate</a></span>​(<a href="../SqlNode.html" title="class in org.apache.calcite.sql">SqlNode</a> selectNode)</code></th> |
| <td class="colLast"> |
| <div class="block"><span class="deprecatedLabel">Deprecated.</span></div> |
| </td> |
| </tr> |
| <tr class="rowColor" id="i33"> |
| <td class="colFirst"><code>boolean</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#isAggregate(org.apache.calcite.sql.SqlSelect)">isAggregate</a></span>​(<a href="../SqlSelect.html" title="class in org.apache.calcite.sql">SqlSelect</a> select)</code></th> |
| <td class="colLast"> |
| <div class="block">Returns whether a SELECT statement is an aggregation.</div> |
| </td> |
| </tr> |
| <tr class="altColor" id="i34"> |
| <td class="colFirst"><code>boolean</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#isSystemField(org.apache.calcite.rel.type.RelDataTypeField)">isSystemField</a></span>​(<a href="../../rel/type/RelDataTypeField.html" title="interface in org.apache.calcite.rel.type">RelDataTypeField</a> field)</code></th> |
| <td class="colLast"> |
| <div class="block">Returns whether a field is a system field.</div> |
| </td> |
| </tr> |
| <tr class="rowColor" id="i35"> |
| <td class="colFirst"><code>@Nullable <a href="../SqlCall.html" title="class in org.apache.calcite.sql">SqlCall</a></code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#makeNullaryCall(org.apache.calcite.sql.SqlIdentifier)">makeNullaryCall</a></span>​(<a href="../SqlIdentifier.html" title="class in org.apache.calcite.sql">SqlIdentifier</a> id)</code></th> |
| <td class="colLast"> |
| <div class="block">If an identifier is a legitimate call to a function that has no |
| arguments and requires no parentheses (for example "CURRENT_USER"), |
| returns a call to that function, otherwise returns null.</div> |
| </td> |
| </tr> |
| <tr class="altColor" id="i36"> |
| <td class="colFirst"><code><a href="../../runtime/CalciteContextException.html" title="class in org.apache.calcite.runtime">CalciteContextException</a></code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#newValidationError(org.apache.calcite.sql.SqlNode,org.apache.calcite.runtime.Resources.ExInst)">newValidationError</a></span>​(<a href="../SqlNode.html" title="class in org.apache.calcite.sql">SqlNode</a> node, |
| org.apache.calcite.runtime.Resources.ExInst<<a href="SqlValidatorException.html" title="class in org.apache.calcite.sql.validate">SqlValidatorException</a>> e)</code></th> |
| <td class="colLast"> |
| <div class="block">Adds "line x, column y" context to a validator exception.</div> |
| </td> |
| </tr> |
| <tr class="rowColor" id="i37"> |
| <td class="colFirst"><code>void</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#popFunctionCall()">popFunctionCall</a></span>()</code></th> |
| <td class="colLast"> |
| <div class="block">Removes the topmost entry from the function call stack.</div> |
| </td> |
| </tr> |
| <tr class="altColor" id="i38"> |
| <td class="colFirst"><code>void</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#pushFunctionCall()">pushFunctionCall</a></span>()</code></th> |
| <td class="colLast"> |
| <div class="block">Pushes a new instance of a function call on to a function call stack.</div> |
| </td> |
| </tr> |
| <tr class="rowColor" id="i39"> |
| <td class="colFirst"><code>void</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#removeValidatedNodeType(org.apache.calcite.sql.SqlNode)">removeValidatedNodeType</a></span>​(<a href="../SqlNode.html" title="class in org.apache.calcite.sql">SqlNode</a> node)</code></th> |
| <td class="colLast"> |
| <div class="block">Removes a node from the set of validated nodes.</div> |
| </td> |
| </tr> |
| <tr class="altColor" id="i40"> |
| <td class="colFirst"><code><a href="../SqlWindow.html" title="class in org.apache.calcite.sql">SqlWindow</a></code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#resolveWindow(org.apache.calcite.sql.SqlNode,org.apache.calcite.sql.validate.SqlValidatorScope)">resolveWindow</a></span>​(<a href="../SqlNode.html" title="class in org.apache.calcite.sql">SqlNode</a> windowOrRef, |
| <a href="SqlValidatorScope.html" title="interface in org.apache.calcite.sql.validate">SqlValidatorScope</a> scope)</code></th> |
| <td class="colLast"> |
| <div class="block">Converts a window specification or window name into a fully-resolved |
| window specification.</div> |
| </td> |
| </tr> |
| <tr class="rowColor" id="i41"> |
| <td class="colFirst"><code>default <a href="../SqlWindow.html" title="class in org.apache.calcite.sql">SqlWindow</a></code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#resolveWindow(org.apache.calcite.sql.SqlNode,org.apache.calcite.sql.validate.SqlValidatorScope,boolean)">resolveWindow</a></span>​(<a href="../SqlNode.html" title="class in org.apache.calcite.sql">SqlNode</a> windowOrRef, |
| <a href="SqlValidatorScope.html" title="interface in org.apache.calcite.sql.validate">SqlValidatorScope</a> scope, |
| boolean populateBounds)</code></th> |
| <td class="colLast"> |
| <div class="block"><span class="deprecatedLabel">Deprecated.</span> |
| <div class="deprecationComment">Use <a href="#resolveWindow(org.apache.calcite.sql.SqlNode,org.apache.calcite.sql.validate.SqlValidatorScope)"><code>resolveWindow(SqlNode, SqlValidatorScope)</code></a>, which |
| does not have the deprecated <code>populateBounds</code> parameter.</div> |
| </div> |
| </td> |
| </tr> |
| <tr class="altColor" id="i42"> |
| <td class="colFirst"><code>void</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setValidatedNodeType(org.apache.calcite.sql.SqlNode,org.apache.calcite.rel.type.RelDataType)">setValidatedNodeType</a></span>​(<a href="../SqlNode.html" title="class in org.apache.calcite.sql">SqlNode</a> node, |
| <a href="../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a> type)</code></th> |
| <td class="colLast"> |
| <div class="block">Saves the type of a <a href="../SqlNode.html" title="class in org.apache.calcite.sql"><code>SqlNode</code></a>, now that it has been validated.</div> |
| </td> |
| </tr> |
| <tr class="rowColor" id="i43"> |
| <td class="colFirst"><code><a href="SqlValidator.html" title="interface in org.apache.calcite.sql.validate">SqlValidator</a></code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#transform(java.util.function.UnaryOperator)">transform</a></span>​(<a href="https://docs.oracle.com/javase/9/docs/api/java/util/function/UnaryOperator.html?is-external=true" title="class or interface in java.util.function" class="externalLink">UnaryOperator</a><<a href="SqlValidator.Config.html" title="interface in org.apache.calcite.sql.validate">SqlValidator.Config</a>> transform)</code></th> |
| <td class="colLast"> |
| <div class="block">Returns this SqlValidator, with the same state, applying |
| a transform to the config.</div> |
| </td> |
| </tr> |
| <tr class="altColor" id="i44"> |
| <td class="colFirst"><code><a href="../SqlNode.html" title="class in org.apache.calcite.sql">SqlNode</a></code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#validate(org.apache.calcite.sql.SqlNode)">validate</a></span>​(<a href="../SqlNode.html" title="class in org.apache.calcite.sql">SqlNode</a> topNode)</code></th> |
| <td class="colLast"> |
| <div class="block">Validates an expression tree.</div> |
| </td> |
| </tr> |
| <tr class="rowColor" id="i45"> |
| <td class="colFirst"><code>void</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#validateAggregateParams(org.apache.calcite.sql.SqlCall,org.apache.calcite.sql.SqlNode,org.apache.calcite.sql.SqlNodeList,org.apache.calcite.sql.SqlNodeList,org.apache.calcite.sql.validate.SqlValidatorScope)">validateAggregateParams</a></span>​(<a href="../SqlCall.html" title="class in org.apache.calcite.sql">SqlCall</a> aggCall, |
| @Nullable <a href="../SqlNode.html" title="class in org.apache.calcite.sql">SqlNode</a> filter, |
| @Nullable <a href="../SqlNodeList.html" title="class in org.apache.calcite.sql">SqlNodeList</a> distinctList, |
| @Nullable <a href="../SqlNodeList.html" title="class in org.apache.calcite.sql">SqlNodeList</a> orderList, |
| <a href="SqlValidatorScope.html" title="interface in org.apache.calcite.sql.validate">SqlValidatorScope</a> scope)</code></th> |
| <td class="colLast"> |
| <div class="block">Validates parameters for aggregate function.</div> |
| </td> |
| </tr> |
| <tr class="altColor" id="i46"> |
| <td class="colFirst"><code>void</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#validateCall(org.apache.calcite.sql.SqlCall,org.apache.calcite.sql.validate.SqlValidatorScope)">validateCall</a></span>​(<a href="../SqlCall.html" title="class in org.apache.calcite.sql">SqlCall</a> call, |
| <a href="SqlValidatorScope.html" title="interface in org.apache.calcite.sql.validate">SqlValidatorScope</a> scope)</code></th> |
| <td class="colLast"> |
| <div class="block">Validates a call to an operator.</div> |
| </td> |
| </tr> |
| <tr class="rowColor" id="i47"> |
| <td class="colFirst"><code>void</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#validateColumnListParams(org.apache.calcite.sql.SqlFunction,java.util.List,java.util.List)">validateColumnListParams</a></span>​(<a href="../SqlFunction.html" title="class in org.apache.calcite.sql">SqlFunction</a> function, |
| <a href="https://docs.oracle.com/javase/9/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util" class="externalLink">List</a><<a href="../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a>> argTypes, |
| <a href="https://docs.oracle.com/javase/9/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util" class="externalLink">List</a><<a href="../SqlNode.html" title="class in org.apache.calcite.sql">SqlNode</a>> operands)</code></th> |
| <td class="colLast"> |
| <div class="block">Validates a COLUMN_LIST parameter.</div> |
| </td> |
| </tr> |
| <tr class="altColor" id="i48"> |
| <td class="colFirst"><code>void</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#validateDataType(org.apache.calcite.sql.SqlDataTypeSpec)">validateDataType</a></span>​(<a href="../SqlDataTypeSpec.html" title="class in org.apache.calcite.sql">SqlDataTypeSpec</a> dataType)</code></th> |
| <td class="colLast"> |
| <div class="block">Validates a data type expression.</div> |
| </td> |
| </tr> |
| <tr class="rowColor" id="i49"> |
| <td class="colFirst"><code>void</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#validateDelete(org.apache.calcite.sql.SqlDelete)">validateDelete</a></span>​(<a href="../SqlDelete.html" title="class in org.apache.calcite.sql">SqlDelete</a> delete)</code></th> |
| <td class="colLast"> |
| <div class="block">Validates a DELETE statement.</div> |
| </td> |
| </tr> |
| <tr class="altColor" id="i50"> |
| <td class="colFirst"><code>void</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#validateDynamicParam(org.apache.calcite.sql.SqlDynamicParam)">validateDynamicParam</a></span>​(<a href="../SqlDynamicParam.html" title="class in org.apache.calcite.sql">SqlDynamicParam</a> dynamicParam)</code></th> |
| <td class="colLast"> |
| <div class="block">Validates a dynamic parameter.</div> |
| </td> |
| </tr> |
| <tr class="rowColor" id="i51"> |
| <td class="colFirst"><code>void</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#validateIdentifier(org.apache.calcite.sql.SqlIdentifier,org.apache.calcite.sql.validate.SqlValidatorScope)">validateIdentifier</a></span>​(<a href="../SqlIdentifier.html" title="class in org.apache.calcite.sql">SqlIdentifier</a> id, |
| <a href="SqlValidatorScope.html" title="interface in org.apache.calcite.sql.validate">SqlValidatorScope</a> scope)</code></th> |
| <td class="colLast"> |
| <div class="block">Resolves an identifier to a fully-qualified name.</div> |
| </td> |
| </tr> |
| <tr class="altColor" id="i52"> |
| <td class="colFirst"><code>void</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#validateInsert(org.apache.calcite.sql.SqlInsert)">validateInsert</a></span>​(<a href="../SqlInsert.html" title="class in org.apache.calcite.sql">SqlInsert</a> insert)</code></th> |
| <td class="colLast"> |
| <div class="block">Validates an INSERT statement.</div> |
| </td> |
| </tr> |
| <tr class="rowColor" id="i53"> |
| <td class="colFirst"><code>void</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#validateIntervalQualifier(org.apache.calcite.sql.SqlIntervalQualifier)">validateIntervalQualifier</a></span>​(<a href="../SqlIntervalQualifier.html" title="class in org.apache.calcite.sql">SqlIntervalQualifier</a> qualifier)</code></th> |
| <td class="colLast"> |
| <div class="block">Validates a <a href="../SqlIntervalQualifier.html" title="class in org.apache.calcite.sql"><code>SqlIntervalQualifier</code></a>.</div> |
| </td> |
| </tr> |
| <tr class="altColor" id="i54"> |
| <td class="colFirst"><code>void</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#validateLiteral(org.apache.calcite.sql.SqlLiteral)">validateLiteral</a></span>​(<a href="../SqlLiteral.html" title="class in org.apache.calcite.sql">SqlLiteral</a> literal)</code></th> |
| <td class="colLast"> |
| <div class="block">Validates a literal.</div> |
| </td> |
| </tr> |
| <tr class="rowColor" id="i55"> |
| <td class="colFirst"><code>void</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#validateMatchRecognize(org.apache.calcite.sql.SqlCall)">validateMatchRecognize</a></span>​(<a href="../SqlCall.html" title="class in org.apache.calcite.sql">SqlCall</a> pattern)</code></th> |
| <td class="colLast"> |
| <div class="block">Validates a MATCH_RECOGNIZE clause.</div> |
| </td> |
| </tr> |
| <tr class="altColor" id="i56"> |
| <td class="colFirst"><code>void</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#validateMerge(org.apache.calcite.sql.SqlMerge)">validateMerge</a></span>​(<a href="../SqlMerge.html" title="class in org.apache.calcite.sql">SqlMerge</a> merge)</code></th> |
| <td class="colLast"> |
| <div class="block">Validates a MERGE statement.</div> |
| </td> |
| </tr> |
| <tr class="rowColor" id="i57"> |
| <td class="colFirst"><code>boolean</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#validateModality(org.apache.calcite.sql.SqlSelect,org.apache.calcite.sql.validate.SqlModality,boolean)">validateModality</a></span>​(<a href="../SqlSelect.html" title="class in org.apache.calcite.sql">SqlSelect</a> select, |
| <a href="SqlModality.html" title="enum in org.apache.calcite.sql.validate">SqlModality</a> modality, |
| boolean fail)</code></th> |
| <td class="colLast"> |
| <div class="block">Validates that a query is capable of producing a return of given modality |
| (relational or streaming).</div> |
| </td> |
| </tr> |
| <tr class="altColor" id="i58"> |
| <td class="colFirst"><code><a href="../SqlNode.html" title="class in org.apache.calcite.sql">SqlNode</a></code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#validateParameterizedExpression(org.apache.calcite.sql.SqlNode,java.util.Map)">validateParameterizedExpression</a></span>​(<a href="../SqlNode.html" title="class in org.apache.calcite.sql">SqlNode</a> topNode, |
| <a href="https://docs.oracle.com/javase/9/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util" class="externalLink">Map</a><<a href="https://docs.oracle.com/javase/9/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>,​<a href="../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a>> nameToTypeMap)</code></th> |
| <td class="colLast"> |
| <div class="block">Validates an expression tree.</div> |
| </td> |
| </tr> |
| <tr class="rowColor" id="i59"> |
| <td class="colFirst"><code>void</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#validateQuery(org.apache.calcite.sql.SqlNode,org.apache.calcite.sql.validate.SqlValidatorScope,org.apache.calcite.rel.type.RelDataType)">validateQuery</a></span>​(<a href="../SqlNode.html" title="class in org.apache.calcite.sql">SqlNode</a> node, |
| @Nullable <a href="SqlValidatorScope.html" title="interface in org.apache.calcite.sql.validate">SqlValidatorScope</a> scope, |
| <a href="../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a> targetRowType)</code></th> |
| <td class="colLast"> |
| <div class="block">Checks that a query is valid.</div> |
| </td> |
| </tr> |
| <tr class="altColor" id="i60"> |
| <td class="colFirst"><code>void</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#validateSequenceValue(org.apache.calcite.sql.validate.SqlValidatorScope,org.apache.calcite.sql.SqlIdentifier)">validateSequenceValue</a></span>​(<a href="SqlValidatorScope.html" title="interface in org.apache.calcite.sql.validate">SqlValidatorScope</a> scope, |
| <a href="../SqlIdentifier.html" title="class in org.apache.calcite.sql">SqlIdentifier</a> id)</code></th> |
| <td class="colLast"> </td> |
| </tr> |
| <tr class="rowColor" id="i61"> |
| <td class="colFirst"><code>void</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#validateUpdate(org.apache.calcite.sql.SqlUpdate)">validateUpdate</a></span>​(<a href="../SqlUpdate.html" title="class in org.apache.calcite.sql">SqlUpdate</a> update)</code></th> |
| <td class="colLast"> |
| <div class="block">Validates an UPDATE statement.</div> |
| </td> |
| </tr> |
| <tr class="altColor" id="i62"> |
| <td class="colFirst"><code>void</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#validateWindow(org.apache.calcite.sql.SqlNode,org.apache.calcite.sql.validate.SqlValidatorScope,org.apache.calcite.sql.SqlCall)">validateWindow</a></span>​(<a href="../SqlNode.html" title="class in org.apache.calcite.sql">SqlNode</a> windowOrId, |
| <a href="SqlValidatorScope.html" title="interface in org.apache.calcite.sql.validate">SqlValidatorScope</a> scope, |
| @Nullable <a href="../SqlCall.html" title="class in org.apache.calcite.sql">SqlCall</a> call)</code></th> |
| <td class="colLast"> |
| <div class="block">Validates the right-hand side of an OVER expression.</div> |
| </td> |
| </tr> |
| <tr class="rowColor" id="i63"> |
| <td class="colFirst"><code>void</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#validateWith(org.apache.calcite.sql.SqlWith,org.apache.calcite.sql.validate.SqlValidatorScope)">validateWith</a></span>​(<a href="../SqlWith.html" title="class in org.apache.calcite.sql">SqlWith</a> with, |
| <a href="SqlValidatorScope.html" title="interface in org.apache.calcite.sql.validate">SqlValidatorScope</a> scope)</code></th> |
| <td class="colLast"> </td> |
| </tr> |
| <tr class="altColor" id="i64"> |
| <td class="colFirst"><code>void</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#validateWithItem(org.apache.calcite.sql.SqlWithItem)">validateWithItem</a></span>​(<a href="../SqlWithItem.html" title="class in org.apache.calcite.sql">SqlWithItem</a> withItem)</code></th> |
| <td class="colLast"> </td> |
| </tr> |
| </tbody> |
| </table> |
| </div> |
| </div> |
| </section> |
| </li> |
| </ul> |
| </section> |
| <section class="details"> |
| <ul class="blockList"> |
| <!-- ============ METHOD DETAIL ========== --> |
| <li class="blockList"> |
| <section class="methodDetails"><a id="method.detail"> |
| <!-- --> |
| </a> |
| <h2>Method Details</h2> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <section class="detail"> |
| <h3><a id="getCatalogReader()">getCatalogReader</a></h3> |
| <div class="memberSignature"><span class="annotations">@Pure |
| </span><span class="returnType"><a href="SqlValidatorCatalogReader.html" title="interface in org.apache.calcite.sql.validate">SqlValidatorCatalogReader</a></span> <span class="memberName">getCatalogReader</span>()</div> |
| <div class="block">Returns the catalog reader used by this validator.</div> |
| <dl> |
| <dt><span class="returnLabel">Returns:</span></dt> |
| <dd>catalog reader</dd> |
| </dl> |
| </section> |
| </li> |
| <li class="blockList"> |
| <section class="detail"> |
| <h3><a id="getOperatorTable()">getOperatorTable</a></h3> |
| <div class="memberSignature"><span class="annotations">@Pure |
| </span><span class="returnType"><a href="../SqlOperatorTable.html" title="interface in org.apache.calcite.sql">SqlOperatorTable</a></span> <span class="memberName">getOperatorTable</span>()</div> |
| <div class="block">Returns the operator table used by this validator.</div> |
| <dl> |
| <dt><span class="returnLabel">Returns:</span></dt> |
| <dd>operator table</dd> |
| </dl> |
| </section> |
| </li> |
| <li class="blockList"> |
| <section class="detail"> |
| <h3><a id="validate(org.apache.calcite.sql.SqlNode)">validate</a></h3> |
| <div class="memberSignature"><span class="returnType"><a href="../SqlNode.html" title="class in org.apache.calcite.sql">SqlNode</a></span> <span class="memberName">validate</span>​(<span class="arguments"><a href="../SqlNode.html" title="class in org.apache.calcite.sql">SqlNode</a> topNode)</span></div> |
| <div class="block">Validates an expression tree. You can call this method multiple times, |
| but not reentrantly.</div> |
| <dl> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>topNode</code> - top of expression tree to be validated</dd> |
| <dt><span class="returnLabel">Returns:</span></dt> |
| <dd>validated tree (possibly rewritten)</dd> |
| </dl> |
| </section> |
| </li> |
| <li class="blockList"> |
| <section class="detail"> |
| <h3><a id="validateParameterizedExpression(org.apache.calcite.sql.SqlNode,java.util.Map)">validateParameterizedExpression</a></h3> |
| <div class="memberSignature"><span class="returnType"><a href="../SqlNode.html" title="class in org.apache.calcite.sql">SqlNode</a></span> <span class="memberName">validateParameterizedExpression</span>​(<span class="arguments"><a href="../SqlNode.html" title="class in org.apache.calcite.sql">SqlNode</a> topNode, |
| <a href="https://docs.oracle.com/javase/9/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util" class="externalLink">Map</a><<a href="https://docs.oracle.com/javase/9/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>,​<a href="../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a>> nameToTypeMap)</span></div> |
| <div class="block">Validates an expression tree. You can call this method multiple times, |
| but not reentrantly.</div> |
| <dl> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>topNode</code> - top of expression tree to be validated</dd> |
| <dd><code>nameToTypeMap</code> - map of simple name to <a href="../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type"><code>RelDataType</code></a>; used to |
| resolve <a href="../SqlIdentifier.html" title="class in org.apache.calcite.sql"><code>SqlIdentifier</code></a> references</dd> |
| <dt><span class="returnLabel">Returns:</span></dt> |
| <dd>validated tree (possibly rewritten)</dd> |
| </dl> |
| </section> |
| </li> |
| <li class="blockList"> |
| <section class="detail"> |
| <h3><a id="validateQuery(org.apache.calcite.sql.SqlNode,org.apache.calcite.sql.validate.SqlValidatorScope,org.apache.calcite.rel.type.RelDataType)">validateQuery</a></h3> |
| <div class="memberSignature"><span class="returnType">void</span> <span class="memberName">validateQuery</span>​(<span class="arguments"><a href="../SqlNode.html" title="class in org.apache.calcite.sql">SqlNode</a> node, |
| @Nullable <a href="SqlValidatorScope.html" title="interface in org.apache.calcite.sql.validate">SqlValidatorScope</a> scope, |
| <a href="../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a> targetRowType)</span></div> |
| <div class="block">Checks that a query is valid. |
| |
| <p>Valid queries include: |
| |
| <ul> |
| <li><code>SELECT</code> statement, |
| <li>set operation (<code>UNION</code>, <code>INTERSECT</code>, <code> |
| EXCEPT</code>) |
| <li>identifier (e.g. representing use of a table in a FROM clause) |
| <li>query aliased with the <code>AS</code> operator |
| </ul></div> |
| <dl> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>node</code> - Query node</dd> |
| <dd><code>scope</code> - Scope in which the query occurs</dd> |
| <dd><code>targetRowType</code> - Desired row type, must not be null, may be the data |
| type 'unknown'.</dd> |
| <dt><span class="throwsLabel">Throws:</span></dt> |
| <dd><code><a href="https://docs.oracle.com/javase/9/docs/api/java/lang/RuntimeException.html?is-external=true" title="class or interface in java.lang" class="externalLink">RuntimeException</a></code> - if the query is not valid</dd> |
| </dl> |
| </section> |
| </li> |
| <li class="blockList"> |
| <section class="detail"> |
| <h3><a id="getValidatedNodeType(org.apache.calcite.sql.SqlNode)">getValidatedNodeType</a></h3> |
| <div class="memberSignature"><span class="returnType"><a href="../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a></span> <span class="memberName">getValidatedNodeType</span>​(<span class="arguments"><a href="../SqlNode.html" title="class in org.apache.calcite.sql">SqlNode</a> node)</span></div> |
| <div class="block">Returns the type assigned to a node by validation.</div> |
| <dl> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>node</code> - the node of interest</dd> |
| <dt><span class="returnLabel">Returns:</span></dt> |
| <dd>validated type, never null</dd> |
| </dl> |
| </section> |
| </li> |
| <li class="blockList"> |
| <section class="detail"> |
| <h3><a id="getValidatedNodeTypeIfKnown(org.apache.calcite.sql.SqlNode)">getValidatedNodeTypeIfKnown</a></h3> |
| <div class="memberSignature"><span class="returnType">@Nullable <a href="../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a></span> <span class="memberName">getValidatedNodeTypeIfKnown</span>​(<span class="arguments"><a href="../SqlNode.html" title="class in org.apache.calcite.sql">SqlNode</a> node)</span></div> |
| <div class="block">Returns the type assigned to a node by validation, or null if unknown. |
| This allows for queries against nodes such as aliases, which have no type |
| of their own. If you want to assert that the node of interest must have a |
| type, use <a href="#getValidatedNodeType(org.apache.calcite.sql.SqlNode)"><code>getValidatedNodeType(org.apache.calcite.sql.SqlNode)</code></a> instead.</div> |
| <dl> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>node</code> - the node of interest</dd> |
| <dt><span class="returnLabel">Returns:</span></dt> |
| <dd>validated type, or null if unknown or not applicable</dd> |
| </dl> |
| </section> |
| </li> |
| <li class="blockList"> |
| <section class="detail"> |
| <h3><a id="getValidatedOperandTypes(org.apache.calcite.sql.SqlCall)">getValidatedOperandTypes</a></h3> |
| <div class="memberSignature"><span class="returnType">@Nullable <a href="https://docs.oracle.com/javase/9/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util" class="externalLink">List</a><<a href="../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a>></span> <span class="memberName">getValidatedOperandTypes</span>​(<span class="arguments"><a href="../SqlCall.html" title="class in org.apache.calcite.sql">SqlCall</a> call)</span></div> |
| <div class="block">Returns the types of a call's operands. |
| |
| <p>Returns null if the call has not been validated, or if the operands' |
| types do not differ from their types as expressions. |
| |
| <p>This method is most useful when some of the operands are of type ANY, |
| or if they need to be coerced to be consistent with other operands, or |
| with the needs of the function.</div> |
| <dl> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>call</code> - Call</dd> |
| <dt><span class="returnLabel">Returns:</span></dt> |
| <dd>List of operands' types, or null if not known or 'obvious'</dd> |
| </dl> |
| </section> |
| </li> |
| <li class="blockList"> |
| <section class="detail"> |
| <h3><a id="validateIdentifier(org.apache.calcite.sql.SqlIdentifier,org.apache.calcite.sql.validate.SqlValidatorScope)">validateIdentifier</a></h3> |
| <div class="memberSignature"><span class="returnType">void</span> <span class="memberName">validateIdentifier</span>​(<span class="arguments"><a href="../SqlIdentifier.html" title="class in org.apache.calcite.sql">SqlIdentifier</a> id, |
| <a href="SqlValidatorScope.html" title="interface in org.apache.calcite.sql.validate">SqlValidatorScope</a> scope)</span></div> |
| <div class="block">Resolves an identifier to a fully-qualified name.</div> |
| <dl> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>id</code> - Identifier</dd> |
| <dd><code>scope</code> - Naming scope</dd> |
| </dl> |
| </section> |
| </li> |
| <li class="blockList"> |
| <section class="detail"> |
| <h3><a id="validateLiteral(org.apache.calcite.sql.SqlLiteral)">validateLiteral</a></h3> |
| <div class="memberSignature"><span class="returnType">void</span> <span class="memberName">validateLiteral</span>​(<span class="arguments"><a href="../SqlLiteral.html" title="class in org.apache.calcite.sql">SqlLiteral</a> literal)</span></div> |
| <div class="block">Validates a literal.</div> |
| <dl> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>literal</code> - Literal</dd> |
| </dl> |
| </section> |
| </li> |
| <li class="blockList"> |
| <section class="detail"> |
| <h3><a id="validateIntervalQualifier(org.apache.calcite.sql.SqlIntervalQualifier)">validateIntervalQualifier</a></h3> |
| <div class="memberSignature"><span class="returnType">void</span> <span class="memberName">validateIntervalQualifier</span>​(<span class="arguments"><a href="../SqlIntervalQualifier.html" title="class in org.apache.calcite.sql">SqlIntervalQualifier</a> qualifier)</span></div> |
| <div class="block">Validates a <a href="../SqlIntervalQualifier.html" title="class in org.apache.calcite.sql"><code>SqlIntervalQualifier</code></a>.</div> |
| <dl> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>qualifier</code> - Interval qualifier</dd> |
| </dl> |
| </section> |
| </li> |
| <li class="blockList"> |
| <section class="detail"> |
| <h3><a id="validateInsert(org.apache.calcite.sql.SqlInsert)">validateInsert</a></h3> |
| <div class="memberSignature"><span class="returnType">void</span> <span class="memberName">validateInsert</span>​(<span class="arguments"><a href="../SqlInsert.html" title="class in org.apache.calcite.sql">SqlInsert</a> insert)</span></div> |
| <div class="block">Validates an INSERT statement.</div> |
| <dl> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>insert</code> - INSERT statement</dd> |
| </dl> |
| </section> |
| </li> |
| <li class="blockList"> |
| <section class="detail"> |
| <h3><a id="validateUpdate(org.apache.calcite.sql.SqlUpdate)">validateUpdate</a></h3> |
| <div class="memberSignature"><span class="returnType">void</span> <span class="memberName">validateUpdate</span>​(<span class="arguments"><a href="../SqlUpdate.html" title="class in org.apache.calcite.sql">SqlUpdate</a> update)</span></div> |
| <div class="block">Validates an UPDATE statement.</div> |
| <dl> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>update</code> - UPDATE statement</dd> |
| </dl> |
| </section> |
| </li> |
| <li class="blockList"> |
| <section class="detail"> |
| <h3><a id="validateDelete(org.apache.calcite.sql.SqlDelete)">validateDelete</a></h3> |
| <div class="memberSignature"><span class="returnType">void</span> <span class="memberName">validateDelete</span>​(<span class="arguments"><a href="../SqlDelete.html" title="class in org.apache.calcite.sql">SqlDelete</a> delete)</span></div> |
| <div class="block">Validates a DELETE statement.</div> |
| <dl> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>delete</code> - DELETE statement</dd> |
| </dl> |
| </section> |
| </li> |
| <li class="blockList"> |
| <section class="detail"> |
| <h3><a id="validateMerge(org.apache.calcite.sql.SqlMerge)">validateMerge</a></h3> |
| <div class="memberSignature"><span class="returnType">void</span> <span class="memberName">validateMerge</span>​(<span class="arguments"><a href="../SqlMerge.html" title="class in org.apache.calcite.sql">SqlMerge</a> merge)</span></div> |
| <div class="block">Validates a MERGE statement.</div> |
| <dl> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>merge</code> - MERGE statement</dd> |
| </dl> |
| </section> |
| </li> |
| <li class="blockList"> |
| <section class="detail"> |
| <h3><a id="validateDataType(org.apache.calcite.sql.SqlDataTypeSpec)">validateDataType</a></h3> |
| <div class="memberSignature"><span class="returnType">void</span> <span class="memberName">validateDataType</span>​(<span class="arguments"><a href="../SqlDataTypeSpec.html" title="class in org.apache.calcite.sql">SqlDataTypeSpec</a> dataType)</span></div> |
| <div class="block">Validates a data type expression.</div> |
| <dl> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>dataType</code> - Data type</dd> |
| </dl> |
| </section> |
| </li> |
| <li class="blockList"> |
| <section class="detail"> |
| <h3><a id="validateDynamicParam(org.apache.calcite.sql.SqlDynamicParam)">validateDynamicParam</a></h3> |
| <div class="memberSignature"><span class="returnType">void</span> <span class="memberName">validateDynamicParam</span>​(<span class="arguments"><a href="../SqlDynamicParam.html" title="class in org.apache.calcite.sql">SqlDynamicParam</a> dynamicParam)</span></div> |
| <div class="block">Validates a dynamic parameter.</div> |
| <dl> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>dynamicParam</code> - Dynamic parameter</dd> |
| </dl> |
| </section> |
| </li> |
| <li class="blockList"> |
| <section class="detail"> |
| <h3><a id="validateWindow(org.apache.calcite.sql.SqlNode,org.apache.calcite.sql.validate.SqlValidatorScope,org.apache.calcite.sql.SqlCall)">validateWindow</a></h3> |
| <div class="memberSignature"><span class="returnType">void</span> <span class="memberName">validateWindow</span>​(<span class="arguments"><a href="../SqlNode.html" title="class in org.apache.calcite.sql">SqlNode</a> windowOrId, |
| <a href="SqlValidatorScope.html" title="interface in org.apache.calcite.sql.validate">SqlValidatorScope</a> scope, |
| @Nullable <a href="../SqlCall.html" title="class in org.apache.calcite.sql">SqlCall</a> call)</span></div> |
| <div class="block">Validates the right-hand side of an OVER expression. It might be either |
| an <a href="../SqlIdentifier.html" title="class in org.apache.calcite.sql"><code>identifier</code></a> referencing a window, or an |
| <a href="../SqlWindow.html" title="class in org.apache.calcite.sql"><code>inline window specification</code></a>.</div> |
| <dl> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>windowOrId</code> - SqlNode that can be either SqlWindow with all the |
| components of a window spec or a SqlIdentifier with the |
| name of a window spec.</dd> |
| <dd><code>scope</code> - Naming scope</dd> |
| <dd><code>call</code> - the SqlNode if a function call if the window is attached |
| to one.</dd> |
| </dl> |
| </section> |
| </li> |
| <li class="blockList"> |
| <section class="detail"> |
| <h3><a id="validateMatchRecognize(org.apache.calcite.sql.SqlCall)">validateMatchRecognize</a></h3> |
| <div class="memberSignature"><span class="returnType">void</span> <span class="memberName">validateMatchRecognize</span>​(<span class="arguments"><a href="../SqlCall.html" title="class in org.apache.calcite.sql">SqlCall</a> pattern)</span></div> |
| <div class="block">Validates a MATCH_RECOGNIZE clause.</div> |
| <dl> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>pattern</code> - MATCH_RECOGNIZE clause</dd> |
| </dl> |
| </section> |
| </li> |
| <li class="blockList"> |
| <section class="detail"> |
| <h3><a id="validateCall(org.apache.calcite.sql.SqlCall,org.apache.calcite.sql.validate.SqlValidatorScope)">validateCall</a></h3> |
| <div class="memberSignature"><span class="returnType">void</span> <span class="memberName">validateCall</span>​(<span class="arguments"><a href="../SqlCall.html" title="class in org.apache.calcite.sql">SqlCall</a> call, |
| <a href="SqlValidatorScope.html" title="interface in org.apache.calcite.sql.validate">SqlValidatorScope</a> scope)</span></div> |
| <div class="block">Validates a call to an operator.</div> |
| <dl> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>call</code> - Operator call</dd> |
| <dd><code>scope</code> - Naming scope</dd> |
| </dl> |
| </section> |
| </li> |
| <li class="blockList"> |
| <section class="detail"> |
| <h3><a id="validateAggregateParams(org.apache.calcite.sql.SqlCall,org.apache.calcite.sql.SqlNode,org.apache.calcite.sql.SqlNodeList,org.apache.calcite.sql.SqlNodeList,org.apache.calcite.sql.validate.SqlValidatorScope)">validateAggregateParams</a></h3> |
| <div class="memberSignature"><span class="returnType">void</span> <span class="memberName">validateAggregateParams</span>​(<span class="arguments"><a href="../SqlCall.html" title="class in org.apache.calcite.sql">SqlCall</a> aggCall, |
| @Nullable <a href="../SqlNode.html" title="class in org.apache.calcite.sql">SqlNode</a> filter, |
| @Nullable <a href="../SqlNodeList.html" title="class in org.apache.calcite.sql">SqlNodeList</a> distinctList, |
| @Nullable <a href="../SqlNodeList.html" title="class in org.apache.calcite.sql">SqlNodeList</a> orderList, |
| <a href="SqlValidatorScope.html" title="interface in org.apache.calcite.sql.validate">SqlValidatorScope</a> scope)</span></div> |
| <div class="block">Validates parameters for aggregate function.</div> |
| <dl> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>aggCall</code> - Call to aggregate function</dd> |
| <dd><code>filter</code> - Filter (<code>FILTER (WHERE)</code> clause), or null</dd> |
| <dd><code>distinctList</code> - Distinct specification (<code>WITHIN DISTINCT</code> |
| clause), or null</dd> |
| <dd><code>orderList</code> - Ordering specification (<code>WITHIN GROUP</code> clause), |
| or null</dd> |
| <dd><code>scope</code> - Syntactic scope</dd> |
| </dl> |
| </section> |
| </li> |
| <li class="blockList"> |
| <section class="detail"> |
| <h3><a id="validateColumnListParams(org.apache.calcite.sql.SqlFunction,java.util.List,java.util.List)">validateColumnListParams</a></h3> |
| <div class="memberSignature"><span class="returnType">void</span> <span class="memberName">validateColumnListParams</span>​(<span class="arguments"><a href="../SqlFunction.html" title="class in org.apache.calcite.sql">SqlFunction</a> function, |
| <a href="https://docs.oracle.com/javase/9/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util" class="externalLink">List</a><<a href="../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a>> argTypes, |
| <a href="https://docs.oracle.com/javase/9/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util" class="externalLink">List</a><<a href="../SqlNode.html" title="class in org.apache.calcite.sql">SqlNode</a>> operands)</span></div> |
| <div class="block">Validates a COLUMN_LIST parameter.</div> |
| <dl> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>function</code> - function containing COLUMN_LIST parameter</dd> |
| <dd><code>argTypes</code> - function arguments</dd> |
| <dd><code>operands</code> - operands passed into the function call</dd> |
| </dl> |
| </section> |
| </li> |
| <li class="blockList"> |
| <section class="detail"> |
| <h3><a id="makeNullaryCall(org.apache.calcite.sql.SqlIdentifier)">makeNullaryCall</a></h3> |
| <div class="memberSignature"><span class="returnType">@Nullable <a href="../SqlCall.html" title="class in org.apache.calcite.sql">SqlCall</a></span> <span class="memberName">makeNullaryCall</span>​(<span class="arguments"><a href="../SqlIdentifier.html" title="class in org.apache.calcite.sql">SqlIdentifier</a> id)</span></div> |
| <div class="block">If an identifier is a legitimate call to a function that has no |
| arguments and requires no parentheses (for example "CURRENT_USER"), |
| returns a call to that function, otherwise returns null.</div> |
| </section> |
| </li> |
| <li class="blockList"> |
| <section class="detail"> |
| <h3><a id="deriveType(org.apache.calcite.sql.validate.SqlValidatorScope,org.apache.calcite.sql.SqlNode)">deriveType</a></h3> |
| <div class="memberSignature"><span class="returnType"><a href="../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a></span> <span class="memberName">deriveType</span>​(<span class="arguments"><a href="SqlValidatorScope.html" title="interface in org.apache.calcite.sql.validate">SqlValidatorScope</a> scope, |
| <a href="../SqlNode.html" title="class in org.apache.calcite.sql">SqlNode</a> operand)</span></div> |
| <div class="block">Derives the type of a node in a given scope. If the type has already been |
| inferred, returns the previous type.</div> |
| <dl> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>scope</code> - Syntactic scope</dd> |
| <dd><code>operand</code> - Parse tree node</dd> |
| <dt><span class="returnLabel">Returns:</span></dt> |
| <dd>Type of the SqlNode. Should never return <code>NULL</code></dd> |
| </dl> |
| </section> |
| </li> |
| <li class="blockList"> |
| <section class="detail"> |
| <h3><a id="newValidationError(org.apache.calcite.sql.SqlNode,org.apache.calcite.runtime.Resources.ExInst)">newValidationError</a></h3> |
| <div class="memberSignature"><span class="returnType"><a href="../../runtime/CalciteContextException.html" title="class in org.apache.calcite.runtime">CalciteContextException</a></span> <span class="memberName">newValidationError</span>​(<span class="arguments"><a href="../SqlNode.html" title="class in org.apache.calcite.sql">SqlNode</a> node, |
| org.apache.calcite.runtime.Resources.ExInst<<a href="SqlValidatorException.html" title="class in org.apache.calcite.sql.validate">SqlValidatorException</a>> e)</span></div> |
| <div class="block">Adds "line x, column y" context to a validator exception. |
| |
| <p>Note that the input exception is checked (it derives from |
| <a href="https://docs.oracle.com/javase/9/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang" class="externalLink"><code>Exception</code></a>) and the output exception is unchecked (it derives from |
| <a href="https://docs.oracle.com/javase/9/docs/api/java/lang/RuntimeException.html?is-external=true" title="class or interface in java.lang" class="externalLink"><code>RuntimeException</code></a>). This is intentional -- it should remind code |
| authors to provide context for their validation errors.</p></div> |
| <dl> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>node</code> - The place where the exception occurred, not null</dd> |
| <dd><code>e</code> - The validation error</dd> |
| <dt><span class="returnLabel">Returns:</span></dt> |
| <dd>Exception containing positional information, never null</dd> |
| </dl> |
| </section> |
| </li> |
| <li class="blockList"> |
| <section class="detail"> |
| <h3><a id="isAggregate(org.apache.calcite.sql.SqlSelect)">isAggregate</a></h3> |
| <div class="memberSignature"><span class="returnType">boolean</span> <span class="memberName">isAggregate</span>​(<span class="arguments"><a href="../SqlSelect.html" title="class in org.apache.calcite.sql">SqlSelect</a> select)</span></div> |
| <div class="block">Returns whether a SELECT statement is an aggregation. Criteria are: (1) |
| contains GROUP BY, or (2) contains HAVING, or (3) SELECT or ORDER BY |
| clause contains aggregate functions. (Windowed aggregate functions, such |
| as <code>SUM(x) OVER w</code>, don't count.)</div> |
| <dl> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>select</code> - SELECT statement</dd> |
| <dt><span class="returnLabel">Returns:</span></dt> |
| <dd>whether SELECT statement is an aggregation</dd> |
| </dl> |
| </section> |
| </li> |
| <li class="blockList"> |
| <section class="detail"> |
| <h3><a id="isAggregate(org.apache.calcite.sql.SqlNode)">isAggregate</a></h3> |
| <div class="memberSignature"><span class="annotations"><a href="https://docs.oracle.com/javase/9/docs/api/java/lang/Deprecated.html?is-external=true" title="class or interface in java.lang" class="externalLink">@Deprecated</a> |
| </span><span class="returnType">boolean</span> <span class="memberName">isAggregate</span>​(<span class="arguments"><a href="../SqlNode.html" title="class in org.apache.calcite.sql">SqlNode</a> selectNode)</span></div> |
| <div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span></div> |
| <div class="block">Returns whether a select list expression is an aggregate function.</div> |
| <dl> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>selectNode</code> - Expression in SELECT clause</dd> |
| <dt><span class="returnLabel">Returns:</span></dt> |
| <dd>whether expression is an aggregate function</dd> |
| </dl> |
| </section> |
| </li> |
| <li class="blockList"> |
| <section class="detail"> |
| <h3><a id="resolveWindow(org.apache.calcite.sql.SqlNode,org.apache.calcite.sql.validate.SqlValidatorScope)">resolveWindow</a></h3> |
| <div class="memberSignature"><span class="returnType"><a href="../SqlWindow.html" title="class in org.apache.calcite.sql">SqlWindow</a></span> <span class="memberName">resolveWindow</span>​(<span class="arguments"><a href="../SqlNode.html" title="class in org.apache.calcite.sql">SqlNode</a> windowOrRef, |
| <a href="SqlValidatorScope.html" title="interface in org.apache.calcite.sql.validate">SqlValidatorScope</a> scope)</span></div> |
| <div class="block">Converts a window specification or window name into a fully-resolved |
| window specification. For example, in <code>SELECT sum(x) OVER (PARTITION |
| BY x ORDER BY y), sum(y) OVER w1, sum(z) OVER (w ORDER BY y) FROM t |
| WINDOW w AS (PARTITION BY x)</code> all aggregations have the same |
| resolved window specification <code>(PARTITION BY x ORDER BY y)</code>.</div> |
| <dl> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>windowOrRef</code> - Either the name of a window (a <a href="../SqlIdentifier.html" title="class in org.apache.calcite.sql"><code>SqlIdentifier</code></a>) |
| or a window specification (a <a href="../SqlWindow.html" title="class in org.apache.calcite.sql"><code>SqlWindow</code></a>).</dd> |
| <dd><code>scope</code> - Scope in which to resolve window names</dd> |
| <dt><span class="returnLabel">Returns:</span></dt> |
| <dd>A window</dd> |
| <dt><span class="throwsLabel">Throws:</span></dt> |
| <dd><code><a href="https://docs.oracle.com/javase/9/docs/api/java/lang/RuntimeException.html?is-external=true" title="class or interface in java.lang" class="externalLink">RuntimeException</a></code> - Validation exception if window does not exist</dd> |
| </dl> |
| </section> |
| </li> |
| <li class="blockList"> |
| <section class="detail"> |
| <h3><a id="resolveWindow(org.apache.calcite.sql.SqlNode,org.apache.calcite.sql.validate.SqlValidatorScope,boolean)">resolveWindow</a></h3> |
| <div class="memberSignature"><span class="annotations"><a href="https://docs.oracle.com/javase/9/docs/api/java/lang/Deprecated.html?is-external=true" title="class or interface in java.lang" class="externalLink">@Deprecated</a> |
| </span><span class="modifiers">default</span> <span class="returnType"><a href="../SqlWindow.html" title="class in org.apache.calcite.sql">SqlWindow</a></span> <span class="memberName">resolveWindow</span>​(<span class="arguments"><a href="../SqlNode.html" title="class in org.apache.calcite.sql">SqlNode</a> windowOrRef, |
| <a href="SqlValidatorScope.html" title="interface in org.apache.calcite.sql.validate">SqlValidatorScope</a> scope, |
| boolean populateBounds)</span></div> |
| <div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span> |
| <div class="deprecationComment">Use <a href="#resolveWindow(org.apache.calcite.sql.SqlNode,org.apache.calcite.sql.validate.SqlValidatorScope)"><code>resolveWindow(SqlNode, SqlValidatorScope)</code></a>, which |
| does not have the deprecated <code>populateBounds</code> parameter.</div> |
| </div> |
| <div class="block">Converts a window specification or window name into a fully-resolved |
| window specification.</div> |
| <dl> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>populateBounds</code> - Whether to populate bounds. Doing so may alter the |
| definition of the window. It is recommended that |
| populate bounds when translating to physical algebra, |
| but not when validating.</dd> |
| </dl> |
| </section> |
| </li> |
| <li class="blockList"> |
| <section class="detail"> |
| <h3><a id="getNamespace(org.apache.calcite.sql.SqlNode)">getNamespace</a></h3> |
| <div class="memberSignature"><span class="returnType">@Nullable <a href="SqlValidatorNamespace.html" title="interface in org.apache.calcite.sql.validate">SqlValidatorNamespace</a></span> <span class="memberName">getNamespace</span>​(<span class="arguments"><a href="../SqlNode.html" title="class in org.apache.calcite.sql">SqlNode</a> node)</span></div> |
| <div class="block">Finds the namespace corresponding to a given node. |
| |
| <p>For example, in the query <code>SELECT * FROM (SELECT * FROM t), t1 AS |
| alias</code>, the both items in the FROM clause have a corresponding |
| namespace.</div> |
| <dl> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>node</code> - Parse tree node</dd> |
| <dt><span class="returnLabel">Returns:</span></dt> |
| <dd>namespace of node</dd> |
| </dl> |
| </section> |
| </li> |
| <li class="blockList"> |
| <section class="detail"> |
| <h3><a id="deriveAlias(org.apache.calcite.sql.SqlNode,int)">deriveAlias</a></h3> |
| <div class="memberSignature"><span class="returnType">@Nullable <a href="https://docs.oracle.com/javase/9/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a></span> <span class="memberName">deriveAlias</span>​(<span class="arguments"><a href="../SqlNode.html" title="class in org.apache.calcite.sql">SqlNode</a> node, |
| int ordinal)</span></div> |
| <div class="block">Derives an alias for an expression. If no alias can be derived, returns |
| null if <code>ordinal</code> is less than zero, otherwise generates an |
| alias <code>EXPR$<i>ordinal</i></code>.</div> |
| <dl> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>node</code> - Expression</dd> |
| <dd><code>ordinal</code> - Ordinal of expression</dd> |
| <dt><span class="returnLabel">Returns:</span></dt> |
| <dd>derived alias, or null if no alias can be derived and ordinal is |
| less than zero</dd> |
| </dl> |
| </section> |
| </li> |
| <li class="blockList"> |
| <section class="detail"> |
| <h3><a id="expandStar(org.apache.calcite.sql.SqlNodeList,org.apache.calcite.sql.SqlSelect,boolean)">expandStar</a></h3> |
| <div class="memberSignature"><span class="returnType"><a href="../SqlNodeList.html" title="class in org.apache.calcite.sql">SqlNodeList</a></span> <span class="memberName">expandStar</span>​(<span class="arguments"><a href="../SqlNodeList.html" title="class in org.apache.calcite.sql">SqlNodeList</a> selectList, |
| <a href="../SqlSelect.html" title="class in org.apache.calcite.sql">SqlSelect</a> query, |
| boolean includeSystemVars)</span></div> |
| <div class="block">Returns a list of expressions, with every occurrence of "*" or |
| "TABLE.*" expanded.</div> |
| <dl> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>selectList</code> - Select clause to be expanded</dd> |
| <dd><code>query</code> - Query</dd> |
| <dd><code>includeSystemVars</code> - Whether to include system variables</dd> |
| <dt><span class="returnLabel">Returns:</span></dt> |
| <dd>expanded select clause</dd> |
| </dl> |
| </section> |
| </li> |
| <li class="blockList"> |
| <section class="detail"> |
| <h3><a id="getWhereScope(org.apache.calcite.sql.SqlSelect)">getWhereScope</a></h3> |
| <div class="memberSignature"><span class="returnType"><a href="SqlValidatorScope.html" title="interface in org.apache.calcite.sql.validate">SqlValidatorScope</a></span> <span class="memberName">getWhereScope</span>​(<span class="arguments"><a href="../SqlSelect.html" title="class in org.apache.calcite.sql">SqlSelect</a> select)</span></div> |
| <div class="block">Returns the scope that expressions in the WHERE and GROUP BY clause of |
| this query should use. This scope consists of the tables in the FROM |
| clause, and the enclosing scope.</div> |
| <dl> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>select</code> - Query</dd> |
| <dt><span class="returnLabel">Returns:</span></dt> |
| <dd>naming scope of WHERE clause</dd> |
| </dl> |
| </section> |
| </li> |
| <li class="blockList"> |
| <section class="detail"> |
| <h3><a id="getTypeFactory()">getTypeFactory</a></h3> |
| <div class="memberSignature"><span class="annotations">@Pure |
| </span><span class="returnType"><a href="../../rel/type/RelDataTypeFactory.html" title="interface in org.apache.calcite.rel.type">RelDataTypeFactory</a></span> <span class="memberName">getTypeFactory</span>()</div> |
| <div class="block">Returns the type factory used by this validator.</div> |
| <dl> |
| <dt><span class="returnLabel">Returns:</span></dt> |
| <dd>type factory</dd> |
| </dl> |
| </section> |
| </li> |
| <li class="blockList"> |
| <section class="detail"> |
| <h3><a id="setValidatedNodeType(org.apache.calcite.sql.SqlNode,org.apache.calcite.rel.type.RelDataType)">setValidatedNodeType</a></h3> |
| <div class="memberSignature"><span class="annotations">@API(status=INTERNAL, |
| since="1.24") |
| </span><span class="returnType">void</span> <span class="memberName">setValidatedNodeType</span>​(<span class="arguments"><a href="../SqlNode.html" title="class in org.apache.calcite.sql">SqlNode</a> node, |
| <a href="../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a> type)</span></div> |
| <div class="block">Saves the type of a <a href="../SqlNode.html" title="class in org.apache.calcite.sql"><code>SqlNode</code></a>, now that it has been validated. |
| |
| <p>This method is only for internal use. The validator should drive the |
| type-derivation process, and store nodes' types when they have been derived.</div> |
| <dl> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>node</code> - A SQL parse tree node, never null</dd> |
| <dd><code>type</code> - Its type; must not be null</dd> |
| </dl> |
| </section> |
| </li> |
| <li class="blockList"> |
| <section class="detail"> |
| <h3><a id="removeValidatedNodeType(org.apache.calcite.sql.SqlNode)">removeValidatedNodeType</a></h3> |
| <div class="memberSignature"><span class="returnType">void</span> <span class="memberName">removeValidatedNodeType</span>​(<span class="arguments"><a href="../SqlNode.html" title="class in org.apache.calcite.sql">SqlNode</a> node)</span></div> |
| <div class="block">Removes a node from the set of validated nodes.</div> |
| <dl> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>node</code> - node to be removed</dd> |
| </dl> |
| </section> |
| </li> |
| <li class="blockList"> |
| <section class="detail"> |
| <h3><a id="getUnknownType()">getUnknownType</a></h3> |
| <div class="memberSignature"><span class="returnType"><a href="../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a></span> <span class="memberName">getUnknownType</span>()</div> |
| <div class="block">Returns an object representing the "unknown" type.</div> |
| <dl> |
| <dt><span class="returnLabel">Returns:</span></dt> |
| <dd>unknown type</dd> |
| </dl> |
| </section> |
| </li> |
| <li class="blockList"> |
| <section class="detail"> |
| <h3><a id="getSelectScope(org.apache.calcite.sql.SqlSelect)">getSelectScope</a></h3> |
| <div class="memberSignature"><span class="returnType"><a href="SqlValidatorScope.html" title="interface in org.apache.calcite.sql.validate">SqlValidatorScope</a></span> <span class="memberName">getSelectScope</span>​(<span class="arguments"><a href="../SqlSelect.html" title="class in org.apache.calcite.sql">SqlSelect</a> select)</span></div> |
| <div class="block">Returns the appropriate scope for validating a particular clause of a |
| SELECT statement. |
| |
| <p>Consider</p> |
| |
| <blockquote><pre><code>SELECT * |
| FROM foo |
| WHERE EXISTS ( |
| SELECT deptno AS x |
| FROM emp |
| JOIN dept ON emp.deptno = dept.deptno |
| WHERE emp.deptno = 5 |
| GROUP BY deptno |
| ORDER BY x)</code></pre></blockquote> |
| |
| <p>What objects can be seen in each part of the sub-query?</p> |
| |
| <ul> |
| <li>In FROM (<a href="#getFromScope(org.apache.calcite.sql.SqlSelect)"><code>getFromScope(org.apache.calcite.sql.SqlSelect)</code></a> , you can only see 'foo'. |
| |
| <li>In WHERE (<a href="#getWhereScope(org.apache.calcite.sql.SqlSelect)"><code>getWhereScope(org.apache.calcite.sql.SqlSelect)</code></a>), GROUP BY (<a href="#getGroupScope(org.apache.calcite.sql.SqlSelect)"><code>getGroupScope(org.apache.calcite.sql.SqlSelect)</code></a>), |
| SELECT (<code>getSelectScope</code>), and the ON clause of the JOIN |
| (<a href="#getJoinScope(org.apache.calcite.sql.SqlNode)"><code>getJoinScope(org.apache.calcite.sql.SqlNode)</code></a>) you can see 'emp', 'dept', and 'foo'. |
| |
| <li>In ORDER BY (<a href="#getOrderScope(org.apache.calcite.sql.SqlSelect)"><code>getOrderScope(org.apache.calcite.sql.SqlSelect)</code></a>), you can see the column alias 'x'; |
| and tables 'emp', 'dept', and 'foo'. |
| |
| </ul></div> |
| <dl> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>select</code> - SELECT statement</dd> |
| <dt><span class="returnLabel">Returns:</span></dt> |
| <dd>naming scope for SELECT statement</dd> |
| </dl> |
| </section> |
| </li> |
| <li class="blockList"> |
| <section class="detail"> |
| <h3><a id="getRawSelectScope(org.apache.calcite.sql.SqlSelect)">getRawSelectScope</a></h3> |
| <div class="memberSignature"><span class="returnType">@Nullable <a href="SelectScope.html" title="class in org.apache.calcite.sql.validate">SelectScope</a></span> <span class="memberName">getRawSelectScope</span>​(<span class="arguments"><a href="../SqlSelect.html" title="class in org.apache.calcite.sql">SqlSelect</a> select)</span></div> |
| <div class="block">Returns the scope for resolving the SELECT, GROUP BY and HAVING clauses. |
| Always a <a href="SelectScope.html" title="class in org.apache.calcite.sql.validate"><code>SelectScope</code></a>; if this is an aggregation query, the |
| <a href="AggregatingScope.html" title="interface in org.apache.calcite.sql.validate"><code>AggregatingScope</code></a> is stripped away.</div> |
| <dl> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>select</code> - SELECT statement</dd> |
| <dt><span class="returnLabel">Returns:</span></dt> |
| <dd>naming scope for SELECT statement, sans any aggregating scope</dd> |
| </dl> |
| </section> |
| </li> |
| <li class="blockList"> |
| <section class="detail"> |
| <h3><a id="getFromScope(org.apache.calcite.sql.SqlSelect)">getFromScope</a></h3> |
| <div class="memberSignature"><span class="returnType">@Nullable <a href="SqlValidatorScope.html" title="interface in org.apache.calcite.sql.validate">SqlValidatorScope</a></span> <span class="memberName">getFromScope</span>​(<span class="arguments"><a href="../SqlSelect.html" title="class in org.apache.calcite.sql">SqlSelect</a> select)</span></div> |
| <div class="block">Returns a scope containing the objects visible from the FROM clause of a |
| query.</div> |
| <dl> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>select</code> - SELECT statement</dd> |
| <dt><span class="returnLabel">Returns:</span></dt> |
| <dd>naming scope for FROM clause</dd> |
| </dl> |
| </section> |
| </li> |
| <li class="blockList"> |
| <section class="detail"> |
| <h3><a id="getJoinScope(org.apache.calcite.sql.SqlNode)">getJoinScope</a></h3> |
| <div class="memberSignature"><span class="returnType">@Nullable <a href="SqlValidatorScope.html" title="interface in org.apache.calcite.sql.validate">SqlValidatorScope</a></span> <span class="memberName">getJoinScope</span>​(<span class="arguments"><a href="../SqlNode.html" title="class in org.apache.calcite.sql">SqlNode</a> node)</span></div> |
| <div class="block">Returns a scope containing the objects visible from the ON and USING |
| sections of a JOIN clause.</div> |
| <dl> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>node</code> - The item in the FROM clause which contains the ON or USING |
| expression</dd> |
| <dt><span class="returnLabel">Returns:</span></dt> |
| <dd>naming scope for JOIN clause</dd> |
| <dt><span class="seeLabel">See Also:</span></dt> |
| <dd><a href="#getFromScope(org.apache.calcite.sql.SqlSelect)"><code>getFromScope(org.apache.calcite.sql.SqlSelect)</code></a></dd> |
| </dl> |
| </section> |
| </li> |
| <li class="blockList"> |
| <section class="detail"> |
| <h3><a id="getGroupScope(org.apache.calcite.sql.SqlSelect)">getGroupScope</a></h3> |
| <div class="memberSignature"><span class="returnType"><a href="SqlValidatorScope.html" title="interface in org.apache.calcite.sql.validate">SqlValidatorScope</a></span> <span class="memberName">getGroupScope</span>​(<span class="arguments"><a href="../SqlSelect.html" title="class in org.apache.calcite.sql">SqlSelect</a> select)</span></div> |
| <div class="block">Returns a scope containing the objects visible from the GROUP BY clause |
| of a query.</div> |
| <dl> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>select</code> - SELECT statement</dd> |
| <dt><span class="returnLabel">Returns:</span></dt> |
| <dd>naming scope for GROUP BY clause</dd> |
| </dl> |
| </section> |
| </li> |
| <li class="blockList"> |
| <section class="detail"> |
| <h3><a id="getHavingScope(org.apache.calcite.sql.SqlSelect)">getHavingScope</a></h3> |
| <div class="memberSignature"><span class="returnType"><a href="SqlValidatorScope.html" title="interface in org.apache.calcite.sql.validate">SqlValidatorScope</a></span> <span class="memberName">getHavingScope</span>​(<span class="arguments"><a href="../SqlSelect.html" title="class in org.apache.calcite.sql">SqlSelect</a> select)</span></div> |
| <div class="block">Returns a scope containing the objects visible from the HAVING clause of |
| a query.</div> |
| <dl> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>select</code> - SELECT statement</dd> |
| <dt><span class="returnLabel">Returns:</span></dt> |
| <dd>naming scope for HAVING clause</dd> |
| </dl> |
| </section> |
| </li> |
| <li class="blockList"> |
| <section class="detail"> |
| <h3><a id="getOrderScope(org.apache.calcite.sql.SqlSelect)">getOrderScope</a></h3> |
| <div class="memberSignature"><span class="returnType"><a href="SqlValidatorScope.html" title="interface in org.apache.calcite.sql.validate">SqlValidatorScope</a></span> <span class="memberName">getOrderScope</span>​(<span class="arguments"><a href="../SqlSelect.html" title="class in org.apache.calcite.sql">SqlSelect</a> select)</span></div> |
| <div class="block">Returns the scope that expressions in the SELECT and HAVING clause of |
| this query should use. This scope consists of the FROM clause and the |
| enclosing scope. If the query is aggregating, only columns in the GROUP |
| BY clause may be used.</div> |
| <dl> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>select</code> - SELECT statement</dd> |
| <dt><span class="returnLabel">Returns:</span></dt> |
| <dd>naming scope for ORDER BY clause</dd> |
| </dl> |
| </section> |
| </li> |
| <li class="blockList"> |
| <section class="detail"> |
| <h3><a id="getMatchRecognizeScope(org.apache.calcite.sql.SqlMatchRecognize)">getMatchRecognizeScope</a></h3> |
| <div class="memberSignature"><span class="returnType"><a href="SqlValidatorScope.html" title="interface in org.apache.calcite.sql.validate">SqlValidatorScope</a></span> <span class="memberName">getMatchRecognizeScope</span>​(<span class="arguments"><a href="../SqlMatchRecognize.html" title="class in org.apache.calcite.sql">SqlMatchRecognize</a> node)</span></div> |
| <div class="block">Returns a scope match recognize clause.</div> |
| <dl> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>node</code> - Match recognize</dd> |
| <dt><span class="returnLabel">Returns:</span></dt> |
| <dd>naming scope for Match recognize clause</dd> |
| </dl> |
| </section> |
| </li> |
| <li class="blockList"> |
| <section class="detail"> |
| <h3><a id="declareCursor(org.apache.calcite.sql.SqlSelect,org.apache.calcite.sql.validate.SqlValidatorScope)">declareCursor</a></h3> |
| <div class="memberSignature"><span class="returnType">void</span> <span class="memberName">declareCursor</span>​(<span class="arguments"><a href="../SqlSelect.html" title="class in org.apache.calcite.sql">SqlSelect</a> select, |
| <a href="SqlValidatorScope.html" title="interface in org.apache.calcite.sql.validate">SqlValidatorScope</a> scope)</span></div> |
| <div class="block">Declares a SELECT expression as a cursor.</div> |
| <dl> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>select</code> - select expression associated with the cursor</dd> |
| <dd><code>scope</code> - scope of the parent query associated with the cursor</dd> |
| </dl> |
| </section> |
| </li> |
| <li class="blockList"> |
| <section class="detail"> |
| <h3><a id="pushFunctionCall()">pushFunctionCall</a></h3> |
| <div class="memberSignature"><span class="returnType">void</span> <span class="memberName">pushFunctionCall</span>()</div> |
| <div class="block">Pushes a new instance of a function call on to a function call stack.</div> |
| </section> |
| </li> |
| <li class="blockList"> |
| <section class="detail"> |
| <h3><a id="popFunctionCall()">popFunctionCall</a></h3> |
| <div class="memberSignature"><span class="returnType">void</span> <span class="memberName">popFunctionCall</span>()</div> |
| <div class="block">Removes the topmost entry from the function call stack.</div> |
| </section> |
| </li> |
| <li class="blockList"> |
| <section class="detail"> |
| <h3><a id="getParentCursor(java.lang.String)">getParentCursor</a></h3> |
| <div class="memberSignature"><span class="returnType">@Nullable <a href="https://docs.oracle.com/javase/9/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a></span> <span class="memberName">getParentCursor</span>​(<span class="arguments"><a href="https://docs.oracle.com/javase/9/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a> columnListParamName)</span></div> |
| <div class="block">Retrieves the name of the parent cursor referenced by a column list |
| parameter.</div> |
| <dl> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>columnListParamName</code> - name of the column list parameter</dd> |
| <dt><span class="returnLabel">Returns:</span></dt> |
| <dd>name of the parent cursor</dd> |
| </dl> |
| </section> |
| </li> |
| <li class="blockList"> |
| <section class="detail"> |
| <h3><a id="deriveConstructorType(org.apache.calcite.sql.validate.SqlValidatorScope,org.apache.calcite.sql.SqlCall,org.apache.calcite.sql.SqlFunction,org.apache.calcite.sql.SqlFunction,java.util.List)">deriveConstructorType</a></h3> |
| <div class="memberSignature"><span class="returnType"><a href="../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a></span> <span class="memberName">deriveConstructorType</span>​(<span class="arguments"><a href="SqlValidatorScope.html" title="interface in org.apache.calcite.sql.validate">SqlValidatorScope</a> scope, |
| <a href="../SqlCall.html" title="class in org.apache.calcite.sql">SqlCall</a> call, |
| <a href="../SqlFunction.html" title="class in org.apache.calcite.sql">SqlFunction</a> unresolvedConstructor, |
| @Nullable <a href="../SqlFunction.html" title="class in org.apache.calcite.sql">SqlFunction</a> resolvedConstructor, |
| <a href="https://docs.oracle.com/javase/9/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util" class="externalLink">List</a><<a href="../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a>> argTypes)</span></div> |
| <div class="block">Derives the type of a constructor.</div> |
| <dl> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>scope</code> - Scope</dd> |
| <dd><code>call</code> - Call</dd> |
| <dd><code>unresolvedConstructor</code> - TODO</dd> |
| <dd><code>resolvedConstructor</code> - TODO</dd> |
| <dd><code>argTypes</code> - Types of arguments</dd> |
| <dt><span class="returnLabel">Returns:</span></dt> |
| <dd>Resolved type of constructor</dd> |
| </dl> |
| </section> |
| </li> |
| <li class="blockList"> |
| <section class="detail"> |
| <h3><a id="handleUnresolvedFunction(org.apache.calcite.sql.SqlCall,org.apache.calcite.sql.SqlOperator,java.util.List,java.util.List)">handleUnresolvedFunction</a></h3> |
| <div class="memberSignature"><span class="returnType"><a href="../../runtime/CalciteException.html" title="class in org.apache.calcite.runtime">CalciteException</a></span> <span class="memberName">handleUnresolvedFunction</span>​(<span class="arguments"><a href="../SqlCall.html" title="class in org.apache.calcite.sql">SqlCall</a> call, |
| <a href="../SqlOperator.html" title="class in org.apache.calcite.sql">SqlOperator</a> unresolvedFunction, |
| <a href="https://docs.oracle.com/javase/9/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util" class="externalLink">List</a><<a href="../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a>> argTypes, |
| @Nullable <a href="https://docs.oracle.com/javase/9/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util" class="externalLink">List</a><<a href="https://docs.oracle.com/javase/9/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>> argNames)</span></div> |
| <div class="block">Handles a call to a function which cannot be resolved. Returns an |
| appropriately descriptive error, which caller must throw.</div> |
| <dl> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>call</code> - Call</dd> |
| <dd><code>unresolvedFunction</code> - Overloaded function which is the target of the |
| call</dd> |
| <dd><code>argTypes</code> - Types of arguments</dd> |
| <dd><code>argNames</code> - Names of arguments, or null if call by position</dd> |
| </dl> |
| </section> |
| </li> |
| <li class="blockList"> |
| <section class="detail"> |
| <h3><a id="expandOrderExpr(org.apache.calcite.sql.SqlSelect,org.apache.calcite.sql.SqlNode)">expandOrderExpr</a></h3> |
| <div class="memberSignature"><span class="returnType"><a href="../SqlNode.html" title="class in org.apache.calcite.sql">SqlNode</a></span> <span class="memberName">expandOrderExpr</span>​(<span class="arguments"><a href="../SqlSelect.html" title="class in org.apache.calcite.sql">SqlSelect</a> select, |
| <a href="../SqlNode.html" title="class in org.apache.calcite.sql">SqlNode</a> orderExpr)</span></div> |
| <div class="block">Expands an expression in the ORDER BY clause into an expression with the |
| same semantics as expressions in the SELECT clause. |
| |
| <p>This is made necessary by a couple of dialect 'features': |
| |
| <ul> |
| <li><b>ordinal expressions</b>: In "SELECT x, y FROM t ORDER BY 2", the |
| expression "2" is shorthand for the 2nd item in the select clause, namely |
| "y". |
| <li><b>alias references</b>: In "SELECT x AS a, y FROM t ORDER BY a", the |
| expression "a" is shorthand for the item in the select clause whose alias |
| is "a" |
| </ul></div> |
| <dl> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>select</code> - Select statement which contains ORDER BY</dd> |
| <dd><code>orderExpr</code> - Expression in the ORDER BY clause.</dd> |
| <dt><span class="returnLabel">Returns:</span></dt> |
| <dd>Expression translated into SELECT clause semantics</dd> |
| </dl> |
| </section> |
| </li> |
| <li class="blockList"> |
| <section class="detail"> |
| <h3><a id="expand(org.apache.calcite.sql.SqlNode,org.apache.calcite.sql.validate.SqlValidatorScope)">expand</a></h3> |
| <div class="memberSignature"><span class="returnType"><a href="../SqlNode.html" title="class in org.apache.calcite.sql">SqlNode</a></span> <span class="memberName">expand</span>​(<span class="arguments"><a href="../SqlNode.html" title="class in org.apache.calcite.sql">SqlNode</a> expr, |
| <a href="SqlValidatorScope.html" title="interface in org.apache.calcite.sql.validate">SqlValidatorScope</a> scope)</span></div> |
| <div class="block">Expands an expression.</div> |
| <dl> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>expr</code> - Expression</dd> |
| <dd><code>scope</code> - Scope</dd> |
| <dt><span class="returnLabel">Returns:</span></dt> |
| <dd>Expanded expression</dd> |
| </dl> |
| </section> |
| </li> |
| <li class="blockList"> |
| <section class="detail"> |
| <h3><a id="isSystemField(org.apache.calcite.rel.type.RelDataTypeField)">isSystemField</a></h3> |
| <div class="memberSignature"><span class="returnType">boolean</span> <span class="memberName">isSystemField</span>​(<span class="arguments"><a href="../../rel/type/RelDataTypeField.html" title="interface in org.apache.calcite.rel.type">RelDataTypeField</a> field)</span></div> |
| <div class="block">Returns whether a field is a system field. Such fields may have |
| particular properties such as sortedness and nullability. |
| |
| <p>In the default implementation, always returns <code>false</code>.</div> |
| <dl> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>field</code> - Field</dd> |
| <dt><span class="returnLabel">Returns:</span></dt> |
| <dd>whether field is a system field</dd> |
| </dl> |
| </section> |
| </li> |
| <li class="blockList"> |
| <section class="detail"> |
| <h3><a id="getFieldOrigins(org.apache.calcite.sql.SqlNode)">getFieldOrigins</a></h3> |
| <div class="memberSignature"><span class="returnType"><a href="https://docs.oracle.com/javase/9/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util" class="externalLink">List</a><@Nullable <a href="https://docs.oracle.com/javase/9/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util" class="externalLink">List</a><<a href="https://docs.oracle.com/javase/9/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>>></span> <span class="memberName">getFieldOrigins</span>​(<span class="arguments"><a href="../SqlNode.html" title="class in org.apache.calcite.sql">SqlNode</a> sqlQuery)</span></div> |
| <div class="block">Returns a description of how each field in the row type maps to a |
| catalog, schema, table and column in the schema. |
| |
| <p>The returned list is never null, and has one element for each field |
| in the row type. Each element is a list of four elements (catalog, |
| schema, table, column), or may be null if the column is an expression.</div> |
| <dl> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>sqlQuery</code> - Query</dd> |
| <dt><span class="returnLabel">Returns:</span></dt> |
| <dd>Description of how each field in the row type maps to a schema |
| object</dd> |
| </dl> |
| </section> |
| </li> |
| <li class="blockList"> |
| <section class="detail"> |
| <h3><a id="getParameterRowType(org.apache.calcite.sql.SqlNode)">getParameterRowType</a></h3> |
| <div class="memberSignature"><span class="returnType"><a href="../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a></span> <span class="memberName">getParameterRowType</span>​(<span class="arguments"><a href="../SqlNode.html" title="class in org.apache.calcite.sql">SqlNode</a> sqlQuery)</span></div> |
| <div class="block">Returns a record type that contains the name and type of each parameter. |
| Returns a record type with no fields if there are no parameters.</div> |
| <dl> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>sqlQuery</code> - Query</dd> |
| <dt><span class="returnLabel">Returns:</span></dt> |
| <dd>Record type</dd> |
| </dl> |
| </section> |
| </li> |
| <li class="blockList"> |
| <section class="detail"> |
| <h3><a id="getOverScope(org.apache.calcite.sql.SqlNode)">getOverScope</a></h3> |
| <div class="memberSignature"><span class="returnType"><a href="SqlValidatorScope.html" title="interface in org.apache.calcite.sql.validate">SqlValidatorScope</a></span> <span class="memberName">getOverScope</span>​(<span class="arguments"><a href="../SqlNode.html" title="class in org.apache.calcite.sql">SqlNode</a> node)</span></div> |
| <div class="block">Returns the scope of an OVER or VALUES node.</div> |
| <dl> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>node</code> - Node</dd> |
| <dt><span class="returnLabel">Returns:</span></dt> |
| <dd>Scope</dd> |
| </dl> |
| </section> |
| </li> |
| <li class="blockList"> |
| <section class="detail"> |
| <h3><a id="validateModality(org.apache.calcite.sql.SqlSelect,org.apache.calcite.sql.validate.SqlModality,boolean)">validateModality</a></h3> |
| <div class="memberSignature"><span class="returnType">boolean</span> <span class="memberName">validateModality</span>​(<span class="arguments"><a href="../SqlSelect.html" title="class in org.apache.calcite.sql">SqlSelect</a> select, |
| <a href="SqlModality.html" title="enum in org.apache.calcite.sql.validate">SqlModality</a> modality, |
| boolean fail)</span></div> |
| <div class="block">Validates that a query is capable of producing a return of given modality |
| (relational or streaming).</div> |
| <dl> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>select</code> - Query</dd> |
| <dd><code>modality</code> - Modality (streaming or relational)</dd> |
| <dd><code>fail</code> - Whether to throw a user error if does not support required |
| modality</dd> |
| <dt><span class="returnLabel">Returns:</span></dt> |
| <dd>whether query supports the given modality</dd> |
| </dl> |
| </section> |
| </li> |
| <li class="blockList"> |
| <section class="detail"> |
| <h3><a id="validateWith(org.apache.calcite.sql.SqlWith,org.apache.calcite.sql.validate.SqlValidatorScope)">validateWith</a></h3> |
| <div class="memberSignature"><span class="returnType">void</span> <span class="memberName">validateWith</span>​(<span class="arguments"><a href="../SqlWith.html" title="class in org.apache.calcite.sql">SqlWith</a> with, |
| <a href="SqlValidatorScope.html" title="interface in org.apache.calcite.sql.validate">SqlValidatorScope</a> scope)</span></div> |
| </section> |
| </li> |
| <li class="blockList"> |
| <section class="detail"> |
| <h3><a id="validateWithItem(org.apache.calcite.sql.SqlWithItem)">validateWithItem</a></h3> |
| <div class="memberSignature"><span class="returnType">void</span> <span class="memberName">validateWithItem</span>​(<span class="arguments"><a href="../SqlWithItem.html" title="class in org.apache.calcite.sql">SqlWithItem</a> withItem)</span></div> |
| </section> |
| </li> |
| <li class="blockList"> |
| <section class="detail"> |
| <h3><a id="validateSequenceValue(org.apache.calcite.sql.validate.SqlValidatorScope,org.apache.calcite.sql.SqlIdentifier)">validateSequenceValue</a></h3> |
| <div class="memberSignature"><span class="returnType">void</span> <span class="memberName">validateSequenceValue</span>​(<span class="arguments"><a href="SqlValidatorScope.html" title="interface in org.apache.calcite.sql.validate">SqlValidatorScope</a> scope, |
| <a href="../SqlIdentifier.html" title="class in org.apache.calcite.sql">SqlIdentifier</a> id)</span></div> |
| </section> |
| </li> |
| <li class="blockList"> |
| <section class="detail"> |
| <h3><a id="getWithScope(org.apache.calcite.sql.SqlNode)">getWithScope</a></h3> |
| <div class="memberSignature"><span class="returnType">@Nullable <a href="SqlValidatorScope.html" title="interface in org.apache.calcite.sql.validate">SqlValidatorScope</a></span> <span class="memberName">getWithScope</span>​(<span class="arguments"><a href="../SqlNode.html" title="class in org.apache.calcite.sql">SqlNode</a> withItem)</span></div> |
| </section> |
| </li> |
| <li class="blockList"> |
| <section class="detail"> |
| <h3><a id="getTypeCoercion()">getTypeCoercion</a></h3> |
| <div class="memberSignature"><span class="returnType"><a href="implicit/TypeCoercion.html" title="interface in org.apache.calcite.sql.validate.implicit">TypeCoercion</a></span> <span class="memberName">getTypeCoercion</span>()</div> |
| <div class="block">Get the type coercion instance.</div> |
| </section> |
| </li> |
| <li class="blockList"> |
| <section class="detail"> |
| <h3><a id="config()">config</a></h3> |
| <div class="memberSignature"><span class="returnType"><a href="SqlValidator.Config.html" title="interface in org.apache.calcite.sql.validate">SqlValidator.Config</a></span> <span class="memberName">config</span>()</div> |
| <div class="block">Returns the config of the validator.</div> |
| </section> |
| </li> |
| <li class="blockList"> |
| <section class="detail"> |
| <h3><a id="transform(java.util.function.UnaryOperator)">transform</a></h3> |
| <div class="memberSignature"><span class="annotations">@API(status=INTERNAL, |
| since="1.23") |
| </span><span class="returnType"><a href="SqlValidator.html" title="interface in org.apache.calcite.sql.validate">SqlValidator</a></span> <span class="memberName">transform</span>​(<span class="arguments"><a href="https://docs.oracle.com/javase/9/docs/api/java/util/function/UnaryOperator.html?is-external=true" title="class or interface in java.util.function" class="externalLink">UnaryOperator</a><<a href="SqlValidator.Config.html" title="interface in org.apache.calcite.sql.validate">SqlValidator.Config</a>> transform)</span></div> |
| <div class="block">Returns this SqlValidator, with the same state, applying |
| a transform to the config. |
| |
| <p>This is mainly used for tests, otherwise constructs a <a href="SqlValidator.Config.html" title="interface in org.apache.calcite.sql.validate"><code>SqlValidator.Config</code></a> directly |
| through the constructor.</div> |
| </section> |
| </li> |
| </ul> |
| </section> |
| </li> |
| </ul> |
| </section> |
| </div> |
| <!-- ========= END OF CLASS DATA ========= --> |
| </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 class="navBarCell1Rev">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">Help</a></li> |
| </ul> |
| <div class="aboutLanguage"><b>Apache Calcite</b></div> |
| </div> |
| <div class="subNav"> |
| <div> |
| <ul class="subNavList"> |
| <li>Summary: </li> |
| <li><a href="#nested.class.summary">Nested</a> | </li> |
| <li>Field | </li> |
| <li>Constr | </li> |
| <li><a href="#method.summary">Method</a></li> |
| </ul> |
| <ul class="subNavList"> |
| <li>Detail: </li> |
| <li>Field | </li> |
| <li>Constr | </li> |
| <li><a href="#method.detail">Method</a></li> |
| </ul> |
| </div> |
| </div> |
| <a id="skip.navbar.bottom"> |
| <!-- --> |
| </a> |
| <!-- ======== END OF BOTTOM NAVBAR ======= --> |
| </nav> |
| <p class="legalCopy"><small>Copyright © 2012-2021 Apache Software Foundation. All Rights Reserved.</small></p> |
| </footer> |
| </div> |
| </div> |
| </body> |
| </html> |