| <!DOCTYPE HTML> |
| <html lang="en"> |
| <head> |
| <!-- Generated by javadoc (17) --> |
| <title>SqlValidator (Apache Calcite API)</title> |
| <meta name="viewport" content="width=device-width, initial-scale=1"> |
| <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> |
| <meta name="description" content="declaration: package: org.apache.calcite.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.min.css" title="Style"> |
| <link rel="stylesheet" type="text/css" href="../../../../../jquery-ui.overrides.css" title="Style"> |
| <script type="text/javascript" src="../../../../../script.js"></script> |
| <script type="text/javascript" src="../../../../../script-dir/jquery-3.5.1.min.js"></script> |
| <script type="text/javascript" src="../../../../../script-dir/jquery-ui.min.js"></script> |
| </head> |
| <body class="class-declaration-page"> |
| <script type="text/javascript">var evenRowColor = "even-row-color"; |
| var oddRowColor = "odd-row-color"; |
| var tableTab = "table-tab"; |
| var activeTableTab = "active-table-tab"; |
| var pathtoroot = "../../../../../"; |
| loadScripts(document, 'script');</script> |
| <noscript> |
| <div>JavaScript is disabled on your browser.</div> |
| </noscript> |
| <div class="flex-box"> |
| <header role="banner" class="flex-header"> |
| <nav role="navigation"> |
| <!-- ========= START OF TOP NAVBAR ======= --> |
| <div class="top-nav" id="navbar-top"> |
| <div class="skip-nav"><a href="#skip-navbar-top" title="Skip navigation links">Skip navigation links</a></div> |
| <div class="about-language"><b>Apache Calcite</b></div> |
| <ul id="navbar-top-firstrow" class="nav-list" title="Navigation"> |
| <li><a href="../../../../../index.html">Overview</a></li> |
| <li><a href="package-summary.html">Package</a></li> |
| <li class="nav-bar-cell1-rev">Class</li> |
| <li><a href="package-tree.html">Tree</a></li> |
| <li><a href="../../../../../deprecated-list.html">Deprecated</a></li> |
| <li><a href="../../../../../index-all.html">Index</a></li> |
| <li><a href="../../../../../help-doc.html#class">Help</a></li> |
| </ul> |
| </div> |
| <div class="sub-nav"> |
| <div> |
| <ul class="sub-nav-list"> |
| <li>Summary: </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="sub-nav-list"> |
| <li>Detail: </li> |
| <li>Field | </li> |
| <li>Constr | </li> |
| <li><a href="#method-detail">Method</a></li> |
| </ul> |
| </div> |
| <div class="nav-list-search"><label for="search-input">SEARCH:</label> |
| <input type="text" id="search-input" value="search" disabled="disabled"> |
| <input type="reset" id="reset-button" value="reset" disabled="disabled"> |
| </div> |
| </div> |
| <!-- ========= END OF TOP NAVBAR ========= --> |
| <span class="skip-nav" id="skip-navbar-top"></span></nav> |
| </header> |
| <div class="flex-content"> |
| <main role="main"> |
| <!-- ======== START OF CLASS DATA ======== --> |
| <div class="header"> |
| <div class="sub-title"><span class="package-label-in-type">Package</span> <a href="package-summary.html">org.apache.calcite.sql.validate</a></div> |
| <h1 title="Interface SqlValidator" class="title">Interface SqlValidator</h1> |
| </div> |
| <section class="class-description" id="class-description"> |
| <dl class="notes"> |
| <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 class="notes"> |
| <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> |
| <div class="type-signature"><span class="annotations">@Enclosing |
| </span><span class="modifiers">public interface </span><span class="element-name type-name-label">SqlValidator</span></div> |
| <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="summary-list"> |
| <!-- ======== NESTED CLASS SUMMARY ======== --> |
| <li> |
| <section class="nested-class-summary" id="nested-class-summary"> |
| <h2>Nested Class Summary</h2> |
| <div class="caption"><span>Nested Classes</span></div> |
| <div class="summary-table three-column-summary"> |
| <div class="table-header col-first">Modifier and Type</div> |
| <div class="table-header col-second">Interface</div> |
| <div class="table-header col-last">Description</div> |
| <div class="col-first even-row-color"><code>static interface </code></div> |
| <div class="col-second even-row-color"><code><a href="SqlValidator.Config.html" class="type-name-link" title="interface in org.apache.calcite.sql.validate">SqlValidator.Config</a></code></div> |
| <div class="col-last even-row-color"> |
| <div class="block">Interface to define the configuration for a SqlValidator.</div> |
| </div> |
| </div> |
| </section> |
| </li> |
| <!-- ========== METHOD SUMMARY =========== --> |
| <li> |
| <section class="method-summary" id="method-summary"> |
| <h2>Method Summary</h2> |
| <div id="method-summary-table"> |
| <div class="table-tabs" role="tablist" aria-orientation="horizontal"><button id="method-summary-table-tab0" role="tab" aria-selected="true" aria-controls="method-summary-table.tabpanel" tabindex="0" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table', 3)" class="active-table-tab">All Methods</button><button id="method-summary-table-tab2" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab2', 3)" class="table-tab">Instance Methods</button><button id="method-summary-table-tab3" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab3', 3)" class="table-tab">Abstract Methods</button><button id="method-summary-table-tab5" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab5', 3)" class="table-tab">Default Methods</button><button id="method-summary-table-tab6" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab6', 3)" class="table-tab">Deprecated Methods</button></div> |
| <div id="method-summary-table.tabpanel" role="tabpanel"> |
| <div class="summary-table three-column-summary" aria-labelledby="method-summary-table-tab0"> |
| <div class="table-header col-first">Modifier and Type</div> |
| <div class="table-header col-second">Method</div> |
| <div class="table-header col-last">Description</div> |
| <div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="SqlValidator.Config.html" title="interface in org.apache.calcite.sql.validate">SqlValidator.Config</a></code></div> |
| <div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#config()" class="member-name-link">config</a>()</code></div> |
| <div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"> |
| <div class="block">Returns the config of the validator.</div> |
| </div> |
| <div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code>void</code></div> |
| <div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#declareCursor(org.apache.calcite.sql.SqlSelect,org.apache.calcite.sql.validate.SqlValidatorScope)" class="member-name-link">declareCursor</a><wbr>(<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></div> |
| <div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"> |
| <div class="block">Declares a SELECT expression as a cursor.</div> |
| </div> |
| <div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code>@Nullable <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></code></div> |
| <div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#deriveAlias(org.apache.calcite.sql.SqlNode,int)" class="member-name-link">deriveAlias</a><wbr>(<a href="../SqlNode.html" title="class in org.apache.calcite.sql">SqlNode</a> node, |
| int ordinal)</code></div> |
| <div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"> |
| <div class="block">Derives an alias for an expression.</div> |
| </div> |
| <div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a></code></div> |
| <div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><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)" class="member-name-link">deriveConstructorType</a><wbr>(<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/en/java/javase/17/docs/api/java.base/java/util/List.html" title="class or interface in java.util" class="external-link">List</a><<a href="../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a>> argTypes)</code></div> |
| <div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"> |
| <div class="block">Derives the type of a constructor.</div> |
| </div> |
| <div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a></code></div> |
| <div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#deriveType(org.apache.calcite.sql.validate.SqlValidatorScope,org.apache.calcite.sql.SqlNode)" class="member-name-link">deriveType</a><wbr>(<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></div> |
| <div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"> |
| <div class="block">Derives the type of a node in a given scope.</div> |
| </div> |
| <div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="../SqlNode.html" title="class in org.apache.calcite.sql">SqlNode</a></code></div> |
| <div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#expand(org.apache.calcite.sql.SqlNode,org.apache.calcite.sql.validate.SqlValidatorScope)" class="member-name-link">expand</a><wbr>(<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></div> |
| <div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"> |
| <div class="block">Expands an expression.</div> |
| </div> |
| <div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="../SqlNode.html" title="class in org.apache.calcite.sql">SqlNode</a></code></div> |
| <div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#expandOrderExpr(org.apache.calcite.sql.SqlSelect,org.apache.calcite.sql.SqlNode)" class="member-name-link">expandOrderExpr</a><wbr>(<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></div> |
| <div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"> |
| <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> |
| </div> |
| <div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="../SqlNodeList.html" title="class in org.apache.calcite.sql">SqlNodeList</a></code></div> |
| <div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#expandStar(org.apache.calcite.sql.SqlNodeList,org.apache.calcite.sql.SqlSelect,boolean)" class="member-name-link">expandStar</a><wbr>(<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></div> |
| <div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"> |
| <div class="block">Returns a list of expressions, with every occurrence of "*" or |
| "TABLE.*" expanded.</div> |
| </div> |
| <div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="SqlValidatorCatalogReader.html" title="interface in org.apache.calcite.sql.validate">SqlValidatorCatalogReader</a></code></div> |
| <div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#getCatalogReader()" class="member-name-link">getCatalogReader</a>()</code></div> |
| <div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"> |
| <div class="block">Returns the catalog reader used by this validator.</div> |
| </div> |
| <div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/List.html" title="class or interface in java.util" class="external-link">List</a><@Nullable <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/List.html" title="class or interface in java.util" class="external-link">List</a><<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>>></code></div> |
| <div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#getFieldOrigins(org.apache.calcite.sql.SqlNode)" class="member-name-link">getFieldOrigins</a><wbr>(<a href="../SqlNode.html" title="class in org.apache.calcite.sql">SqlNode</a> sqlQuery)</code></div> |
| <div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"> |
| <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> |
| </div> |
| <div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code>@Nullable <a href="SqlValidatorScope.html" title="interface in org.apache.calcite.sql.validate">SqlValidatorScope</a></code></div> |
| <div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#getFromScope(org.apache.calcite.sql.SqlSelect)" class="member-name-link">getFromScope</a><wbr>(<a href="../SqlSelect.html" title="class in org.apache.calcite.sql">SqlSelect</a> select)</code></div> |
| <div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"> |
| <div class="block">Returns a scope containing the objects visible from the FROM clause of a |
| query.</div> |
| </div> |
| <div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="SqlValidatorScope.html" title="interface in org.apache.calcite.sql.validate">SqlValidatorScope</a></code></div> |
| <div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#getGroupScope(org.apache.calcite.sql.SqlSelect)" class="member-name-link">getGroupScope</a><wbr>(<a href="../SqlSelect.html" title="class in org.apache.calcite.sql">SqlSelect</a> select)</code></div> |
| <div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"> |
| <div class="block">Returns a scope containing the objects visible from the GROUP BY clause |
| of a query.</div> |
| </div> |
| <div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="SqlValidatorScope.html" title="interface in org.apache.calcite.sql.validate">SqlValidatorScope</a></code></div> |
| <div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#getHavingScope(org.apache.calcite.sql.SqlSelect)" class="member-name-link">getHavingScope</a><wbr>(<a href="../SqlSelect.html" title="class in org.apache.calcite.sql">SqlSelect</a> select)</code></div> |
| <div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"> |
| <div class="block">Returns a scope containing the objects visible from the HAVING clause of |
| a query.</div> |
| </div> |
| <div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code>@Nullable <a href="SqlValidatorScope.html" title="interface in org.apache.calcite.sql.validate">SqlValidatorScope</a></code></div> |
| <div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#getJoinScope(org.apache.calcite.sql.SqlNode)" class="member-name-link">getJoinScope</a><wbr>(<a href="../SqlNode.html" title="class in org.apache.calcite.sql">SqlNode</a> node)</code></div> |
| <div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"> |
| <div class="block">Returns a scope containing the objects visible from the ON and USING |
| sections of a JOIN clause.</div> |
| </div> |
| <div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="SqlValidatorScope.html" title="interface in org.apache.calcite.sql.validate">SqlValidatorScope</a></code></div> |
| <div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#getMatchRecognizeScope(org.apache.calcite.sql.SqlMatchRecognize)" class="member-name-link">getMatchRecognizeScope</a><wbr>(<a href="../SqlMatchRecognize.html" title="class in org.apache.calcite.sql">SqlMatchRecognize</a> node)</code></div> |
| <div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"> |
| <div class="block">Returns a scope match recognize clause.</div> |
| </div> |
| <div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code>@Nullable <a href="SqlValidatorNamespace.html" title="interface in org.apache.calcite.sql.validate">SqlValidatorNamespace</a></code></div> |
| <div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#getNamespace(org.apache.calcite.sql.SqlNode)" class="member-name-link">getNamespace</a><wbr>(<a href="../SqlNode.html" title="class in org.apache.calcite.sql">SqlNode</a> node)</code></div> |
| <div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"> |
| <div class="block">Finds the namespace corresponding to a given node.</div> |
| </div> |
| <div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="../SqlOperatorTable.html" title="interface in org.apache.calcite.sql">SqlOperatorTable</a></code></div> |
| <div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#getOperatorTable()" class="member-name-link">getOperatorTable</a>()</code></div> |
| <div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"> |
| <div class="block">Returns the operator table used by this validator.</div> |
| </div> |
| <div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="SqlValidatorScope.html" title="interface in org.apache.calcite.sql.validate">SqlValidatorScope</a></code></div> |
| <div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#getOrderScope(org.apache.calcite.sql.SqlSelect)" class="member-name-link">getOrderScope</a><wbr>(<a href="../SqlSelect.html" title="class in org.apache.calcite.sql">SqlSelect</a> select)</code></div> |
| <div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"> |
| <div class="block">Returns the scope that expressions in the SELECT and HAVING clause of |
| this query should use.</div> |
| </div> |
| <div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="SqlValidatorScope.html" title="interface in org.apache.calcite.sql.validate">SqlValidatorScope</a></code></div> |
| <div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#getOverScope(org.apache.calcite.sql.SqlNode)" class="member-name-link">getOverScope</a><wbr>(<a href="../SqlNode.html" title="class in org.apache.calcite.sql">SqlNode</a> node)</code></div> |
| <div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"> |
| <div class="block">Returns the scope of an OVER or VALUES node.</div> |
| </div> |
| <div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a></code></div> |
| <div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#getParameterRowType(org.apache.calcite.sql.SqlNode)" class="member-name-link">getParameterRowType</a><wbr>(<a href="../SqlNode.html" title="class in org.apache.calcite.sql">SqlNode</a> sqlQuery)</code></div> |
| <div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"> |
| <div class="block">Returns a record type that contains the name and type of each parameter.</div> |
| </div> |
| <div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code>@Nullable <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></code></div> |
| <div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#getParentCursor(java.lang.String)" class="member-name-link">getParentCursor</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a> columnListParamName)</code></div> |
| <div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"> |
| <div class="block">Retrieves the name of the parent cursor referenced by a column list |
| parameter.</div> |
| </div> |
| <div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code>@Nullable <a href="SelectScope.html" title="class in org.apache.calcite.sql.validate">SelectScope</a></code></div> |
| <div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#getRawSelectScope(org.apache.calcite.sql.SqlSelect)" class="member-name-link">getRawSelectScope</a><wbr>(<a href="../SqlSelect.html" title="class in org.apache.calcite.sql">SqlSelect</a> select)</code></div> |
| <div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"> |
| <div class="block">Returns the scope for resolving the SELECT, GROUP BY and HAVING clauses.</div> |
| </div> |
| <div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="SqlValidatorScope.html" title="interface in org.apache.calcite.sql.validate">SqlValidatorScope</a></code></div> |
| <div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#getSelectScope(org.apache.calcite.sql.SqlSelect)" class="member-name-link">getSelectScope</a><wbr>(<a href="../SqlSelect.html" title="class in org.apache.calcite.sql">SqlSelect</a> select)</code></div> |
| <div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"> |
| <div class="block">Returns the appropriate scope for validating a particular clause of a |
| SELECT statement.</div> |
| </div> |
| <div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="../../rel/type/TimeFrameSet.html" title="class in org.apache.calcite.rel.type">TimeFrameSet</a></code></div> |
| <div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#getTimeFrameSet()" class="member-name-link">getTimeFrameSet</a>()</code></div> |
| <div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"> |
| <div class="block">Returns the set of allowed time frames.</div> |
| </div> |
| <div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="implicit/TypeCoercion.html" title="interface in org.apache.calcite.sql.validate.implicit">TypeCoercion</a></code></div> |
| <div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#getTypeCoercion()" class="member-name-link">getTypeCoercion</a>()</code></div> |
| <div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"> |
| <div class="block">Get the type coercion instance.</div> |
| </div> |
| <div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="../../rel/type/RelDataTypeFactory.html" title="interface in org.apache.calcite.rel.type">RelDataTypeFactory</a></code></div> |
| <div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#getTypeFactory()" class="member-name-link">getTypeFactory</a>()</code></div> |
| <div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"> |
| <div class="block">Returns the type factory used by this validator.</div> |
| </div> |
| <div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a></code></div> |
| <div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#getUnknownType()" class="member-name-link">getUnknownType</a>()</code></div> |
| <div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"> |
| <div class="block">Returns an object representing the "unknown" type.</div> |
| </div> |
| <div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a></code></div> |
| <div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#getValidatedNodeType(org.apache.calcite.sql.SqlNode)" class="member-name-link">getValidatedNodeType</a><wbr>(<a href="../SqlNode.html" title="class in org.apache.calcite.sql">SqlNode</a> node)</code></div> |
| <div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"> |
| <div class="block">Returns the type assigned to a node by validation.</div> |
| </div> |
| <div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code>@Nullable <a href="../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a></code></div> |
| <div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#getValidatedNodeTypeIfKnown(org.apache.calcite.sql.SqlNode)" class="member-name-link">getValidatedNodeTypeIfKnown</a><wbr>(<a href="../SqlNode.html" title="class in org.apache.calcite.sql">SqlNode</a> node)</code></div> |
| <div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"> |
| <div class="block">Returns the type assigned to a node by validation, or null if unknown.</div> |
| </div> |
| <div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code>@Nullable <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/List.html" title="class or interface in java.util" class="external-link">List</a><<a href="../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a>></code></div> |
| <div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#getValidatedOperandTypes(org.apache.calcite.sql.SqlCall)" class="member-name-link">getValidatedOperandTypes</a><wbr>(<a href="../SqlCall.html" title="class in org.apache.calcite.sql">SqlCall</a> call)</code></div> |
| <div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"> |
| <div class="block">Returns the types of a call's operands.</div> |
| </div> |
| <div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="SqlValidatorScope.html" title="interface in org.apache.calcite.sql.validate">SqlValidatorScope</a></code></div> |
| <div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#getWhereScope(org.apache.calcite.sql.SqlSelect)" class="member-name-link">getWhereScope</a><wbr>(<a href="../SqlSelect.html" title="class in org.apache.calcite.sql">SqlSelect</a> select)</code></div> |
| <div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"> |
| <div class="block">Returns the scope that expressions in the WHERE and GROUP BY clause of |
| this query should use.</div> |
| </div> |
| <div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code>@Nullable <a href="SqlValidatorScope.html" title="interface in org.apache.calcite.sql.validate">SqlValidatorScope</a></code></div> |
| <div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#getWithScope(org.apache.calcite.sql.SqlNode)" class="member-name-link">getWithScope</a><wbr>(<a href="../SqlNode.html" title="class in org.apache.calcite.sql">SqlNode</a> withItem)</code></div> |
| <div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"> </div> |
| <div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="../../runtime/CalciteException.html" title="class in org.apache.calcite.runtime">CalciteException</a></code></div> |
| <div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#handleUnresolvedFunction(org.apache.calcite.sql.SqlCall,org.apache.calcite.sql.SqlOperator,java.util.List,java.util.List)" class="member-name-link">handleUnresolvedFunction</a><wbr>(<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/en/java/javase/17/docs/api/java.base/java/util/List.html" title="class or interface in java.util" class="external-link">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/en/java/javase/17/docs/api/java.base/java/util/List.html" title="class or interface in java.util" class="external-link">List</a><<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>> argNames)</code></div> |
| <div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"> |
| <div class="block">Handles a call to a function which cannot be resolved.</div> |
| </div> |
| <div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3 method-summary-table-tab6"><code>boolean</code></div> |
| <div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3 method-summary-table-tab6"><code><a href="#isAggregate(org.apache.calcite.sql.SqlNode)" class="member-name-link">isAggregate</a><wbr>(<a href="../SqlNode.html" title="class in org.apache.calcite.sql">SqlNode</a> selectNode)</code></div> |
| <div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3 method-summary-table-tab6"> |
| <div class="block"><span class="deprecated-label">Deprecated.</span></div> |
| </div> |
| <div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code>boolean</code></div> |
| <div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#isAggregate(org.apache.calcite.sql.SqlSelect)" class="member-name-link">isAggregate</a><wbr>(<a href="../SqlSelect.html" title="class in org.apache.calcite.sql">SqlSelect</a> select)</code></div> |
| <div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"> |
| <div class="block">Returns whether a SELECT statement is an aggregation.</div> |
| </div> |
| <div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code>boolean</code></div> |
| <div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#isSystemField(org.apache.calcite.rel.type.RelDataTypeField)" class="member-name-link">isSystemField</a><wbr>(<a href="../../rel/type/RelDataTypeField.html" title="interface in org.apache.calcite.rel.type">RelDataTypeField</a> field)</code></div> |
| <div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"> |
| <div class="block">Returns whether a field is a system field.</div> |
| </div> |
| <div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code>@Nullable <a href="../SqlCall.html" title="class in org.apache.calcite.sql">SqlCall</a></code></div> |
| <div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#makeNullaryCall(org.apache.calcite.sql.SqlIdentifier)" class="member-name-link">makeNullaryCall</a><wbr>(<a href="../SqlIdentifier.html" title="class in org.apache.calcite.sql">SqlIdentifier</a> id)</code></div> |
| <div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"> |
| <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> |
| </div> |
| <div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="../../runtime/CalciteContextException.html" title="class in org.apache.calcite.runtime">CalciteContextException</a></code></div> |
| <div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#newValidationError(org.apache.calcite.sql.SqlNode,org.apache.calcite.runtime.Resources.ExInst)" class="member-name-link">newValidationError</a><wbr>(<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></div> |
| <div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"> |
| <div class="block">Adds "line x, column y" context to a validator exception.</div> |
| </div> |
| <div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code>void</code></div> |
| <div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#popFunctionCall()" class="member-name-link">popFunctionCall</a>()</code></div> |
| <div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"> |
| <div class="block">Removes the topmost entry from the function call stack.</div> |
| </div> |
| <div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code>void</code></div> |
| <div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#pushFunctionCall()" class="member-name-link">pushFunctionCall</a>()</code></div> |
| <div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"> |
| <div class="block">Pushes a new instance of a function call on to a function call stack.</div> |
| </div> |
| <div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code>void</code></div> |
| <div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#removeValidatedNodeType(org.apache.calcite.sql.SqlNode)" class="member-name-link">removeValidatedNodeType</a><wbr>(<a href="../SqlNode.html" title="class in org.apache.calcite.sql">SqlNode</a> node)</code></div> |
| <div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"> |
| <div class="block">Removes a node from the set of validated nodes.</div> |
| </div> |
| <div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="../SqlLiteral.html" title="class in org.apache.calcite.sql">SqlLiteral</a></code></div> |
| <div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#resolveLiteral(org.apache.calcite.sql.SqlLiteral)" class="member-name-link">resolveLiteral</a><wbr>(<a href="../SqlLiteral.html" title="class in org.apache.calcite.sql">SqlLiteral</a> literal)</code></div> |
| <div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"> |
| <div class="block">Resolves a literal.</div> |
| </div> |
| <div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="../SqlWindow.html" title="class in org.apache.calcite.sql">SqlWindow</a></code></div> |
| <div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#resolveWindow(org.apache.calcite.sql.SqlNode,org.apache.calcite.sql.validate.SqlValidatorScope)" class="member-name-link">resolveWindow</a><wbr>(<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></div> |
| <div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"> |
| <div class="block">Converts a window specification or window name into a fully-resolved |
| window specification.</div> |
| </div> |
| <div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5 method-summary-table-tab6"><code>default <a href="../SqlWindow.html" title="class in org.apache.calcite.sql">SqlWindow</a></code></div> |
| <div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5 method-summary-table-tab6"><code><a href="#resolveWindow(org.apache.calcite.sql.SqlNode,org.apache.calcite.sql.validate.SqlValidatorScope,boolean)" class="member-name-link">resolveWindow</a><wbr>(<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></div> |
| <div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5 method-summary-table-tab6"> |
| <div class="block"><span class="deprecated-label">Deprecated.</span> |
| <div class="deprecation-comment">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> |
| <div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code>void</code></div> |
| <div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#setValidatedNodeType(org.apache.calcite.sql.SqlNode,org.apache.calcite.rel.type.RelDataType)" class="member-name-link">setValidatedNodeType</a><wbr>(<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></div> |
| <div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"> |
| <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> |
| </div> |
| <div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="SqlValidator.html" title="interface in org.apache.calcite.sql.validate">SqlValidator</a></code></div> |
| <div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#transform(java.util.function.UnaryOperator)" class="member-name-link">transform</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/function/UnaryOperator.html" title="class or interface in java.util.function" class="external-link">UnaryOperator</a><<a href="SqlValidator.Config.html" title="interface in org.apache.calcite.sql.validate">SqlValidator.Config</a>> transform)</code></div> |
| <div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"> |
| <div class="block">Returns this SqlValidator, with the same state, applying |
| a transform to the config.</div> |
| </div> |
| <div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="../SqlNode.html" title="class in org.apache.calcite.sql">SqlNode</a></code></div> |
| <div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#validate(org.apache.calcite.sql.SqlNode)" class="member-name-link">validate</a><wbr>(<a href="../SqlNode.html" title="class in org.apache.calcite.sql">SqlNode</a> topNode)</code></div> |
| <div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"> |
| <div class="block">Validates an expression tree.</div> |
| </div> |
| <div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code>void</code></div> |
| <div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><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)" class="member-name-link">validateAggregateParams</a><wbr>(<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></div> |
| <div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"> |
| <div class="block">Validates parameters for aggregate function.</div> |
| </div> |
| <div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code>void</code></div> |
| <div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#validateCall(org.apache.calcite.sql.SqlCall,org.apache.calcite.sql.validate.SqlValidatorScope)" class="member-name-link">validateCall</a><wbr>(<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></div> |
| <div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"> |
| <div class="block">Validates a call to an operator.</div> |
| </div> |
| <div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code>void</code></div> |
| <div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#validateColumnListParams(org.apache.calcite.sql.SqlFunction,java.util.List,java.util.List)" class="member-name-link">validateColumnListParams</a><wbr>(<a href="../SqlFunction.html" title="class in org.apache.calcite.sql">SqlFunction</a> function, |
| <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/List.html" title="class or interface in java.util" class="external-link">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/en/java/javase/17/docs/api/java.base/java/util/List.html" title="class or interface in java.util" class="external-link">List</a><<a href="../SqlNode.html" title="class in org.apache.calcite.sql">SqlNode</a>> operands)</code></div> |
| <div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"> |
| <div class="block">Validates a COLUMN_LIST parameter.</div> |
| </div> |
| <div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code>void</code></div> |
| <div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#validateDataType(org.apache.calcite.sql.SqlDataTypeSpec)" class="member-name-link">validateDataType</a><wbr>(<a href="../SqlDataTypeSpec.html" title="class in org.apache.calcite.sql">SqlDataTypeSpec</a> dataType)</code></div> |
| <div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"> |
| <div class="block">Validates a data type expression.</div> |
| </div> |
| <div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code>void</code></div> |
| <div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#validateDelete(org.apache.calcite.sql.SqlDelete)" class="member-name-link">validateDelete</a><wbr>(<a href="../SqlDelete.html" title="class in org.apache.calcite.sql">SqlDelete</a> delete)</code></div> |
| <div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"> |
| <div class="block">Validates a DELETE statement.</div> |
| </div> |
| <div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code>void</code></div> |
| <div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#validateDynamicParam(org.apache.calcite.sql.SqlDynamicParam)" class="member-name-link">validateDynamicParam</a><wbr>(<a href="../SqlDynamicParam.html" title="class in org.apache.calcite.sql">SqlDynamicParam</a> dynamicParam)</code></div> |
| <div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"> |
| <div class="block">Validates a dynamic parameter.</div> |
| </div> |
| <div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code>void</code></div> |
| <div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#validateIdentifier(org.apache.calcite.sql.SqlIdentifier,org.apache.calcite.sql.validate.SqlValidatorScope)" class="member-name-link">validateIdentifier</a><wbr>(<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></div> |
| <div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"> |
| <div class="block">Resolves an identifier to a fully-qualified name.</div> |
| </div> |
| <div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code>void</code></div> |
| <div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#validateInsert(org.apache.calcite.sql.SqlInsert)" class="member-name-link">validateInsert</a><wbr>(<a href="../SqlInsert.html" title="class in org.apache.calcite.sql">SqlInsert</a> insert)</code></div> |
| <div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"> |
| <div class="block">Validates an INSERT statement.</div> |
| </div> |
| <div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code>void</code></div> |
| <div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#validateIntervalQualifier(org.apache.calcite.sql.SqlIntervalQualifier)" class="member-name-link">validateIntervalQualifier</a><wbr>(<a href="../SqlIntervalQualifier.html" title="class in org.apache.calcite.sql">SqlIntervalQualifier</a> qualifier)</code></div> |
| <div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"> |
| <div class="block">Validates a <a href="../SqlIntervalQualifier.html" title="class in org.apache.calcite.sql"><code>SqlIntervalQualifier</code></a>.</div> |
| </div> |
| <div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code>void</code></div> |
| <div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#validateLiteral(org.apache.calcite.sql.SqlLiteral)" class="member-name-link">validateLiteral</a><wbr>(<a href="../SqlLiteral.html" title="class in org.apache.calcite.sql">SqlLiteral</a> literal)</code></div> |
| <div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"> |
| <div class="block">Validates a literal.</div> |
| </div> |
| <div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code>void</code></div> |
| <div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#validateMatchRecognize(org.apache.calcite.sql.SqlCall)" class="member-name-link">validateMatchRecognize</a><wbr>(<a href="../SqlCall.html" title="class in org.apache.calcite.sql">SqlCall</a> pattern)</code></div> |
| <div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"> |
| <div class="block">Validates a MATCH_RECOGNIZE clause.</div> |
| </div> |
| <div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code>void</code></div> |
| <div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#validateMerge(org.apache.calcite.sql.SqlMerge)" class="member-name-link">validateMerge</a><wbr>(<a href="../SqlMerge.html" title="class in org.apache.calcite.sql">SqlMerge</a> merge)</code></div> |
| <div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"> |
| <div class="block">Validates a MERGE statement.</div> |
| </div> |
| <div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code>boolean</code></div> |
| <div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#validateModality(org.apache.calcite.sql.SqlSelect,org.apache.calcite.sql.validate.SqlModality,boolean)" class="member-name-link">validateModality</a><wbr>(<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></div> |
| <div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"> |
| <div class="block">Validates that a query is capable of producing a return of given modality |
| (relational or streaming).</div> |
| </div> |
| <div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="../SqlNode.html" title="class in org.apache.calcite.sql">SqlNode</a></code></div> |
| <div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#validateParameterizedExpression(org.apache.calcite.sql.SqlNode,java.util.Map)" class="member-name-link">validateParameterizedExpression</a><wbr>(<a href="../SqlNode.html" title="class in org.apache.calcite.sql">SqlNode</a> topNode, |
| <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/Map.html" title="class or interface in java.util" class="external-link">Map</a><<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>,<wbr><a href="../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a>> nameToTypeMap)</code></div> |
| <div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"> |
| <div class="block">Validates an expression tree.</div> |
| </div> |
| <div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code>void</code></div> |
| <div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#validateQuery(org.apache.calcite.sql.SqlNode,org.apache.calcite.sql.validate.SqlValidatorScope,org.apache.calcite.rel.type.RelDataType)" class="member-name-link">validateQuery</a><wbr>(<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></div> |
| <div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"> |
| <div class="block">Checks that a query is valid.</div> |
| </div> |
| <div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code>void</code></div> |
| <div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#validateSequenceValue(org.apache.calcite.sql.validate.SqlValidatorScope,org.apache.calcite.sql.SqlIdentifier)" class="member-name-link">validateSequenceValue</a><wbr>(<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></div> |
| <div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"> </div> |
| <div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="../../rel/type/TimeFrame.html" title="interface in org.apache.calcite.rel.type">TimeFrame</a></code></div> |
| <div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#validateTimeFrame(org.apache.calcite.sql.SqlIntervalQualifier)" class="member-name-link">validateTimeFrame</a><wbr>(<a href="../SqlIntervalQualifier.html" title="class in org.apache.calcite.sql">SqlIntervalQualifier</a> intervalQualifier)</code></div> |
| <div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"> |
| <div class="block">Validates a time frame.</div> |
| </div> |
| <div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code>void</code></div> |
| <div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#validateUpdate(org.apache.calcite.sql.SqlUpdate)" class="member-name-link">validateUpdate</a><wbr>(<a href="../SqlUpdate.html" title="class in org.apache.calcite.sql">SqlUpdate</a> update)</code></div> |
| <div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"> |
| <div class="block">Validates an UPDATE statement.</div> |
| </div> |
| <div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code>void</code></div> |
| <div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#validateWindow(org.apache.calcite.sql.SqlNode,org.apache.calcite.sql.validate.SqlValidatorScope,org.apache.calcite.sql.SqlCall)" class="member-name-link">validateWindow</a><wbr>(<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></div> |
| <div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"> |
| <div class="block">Validates the right-hand side of an OVER expression.</div> |
| </div> |
| <div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code>void</code></div> |
| <div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#validateWith(org.apache.calcite.sql.SqlWith,org.apache.calcite.sql.validate.SqlValidatorScope)" class="member-name-link">validateWith</a><wbr>(<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></div> |
| <div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"> </div> |
| <div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code>void</code></div> |
| <div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#validateWithItem(org.apache.calcite.sql.SqlWithItem)" class="member-name-link">validateWithItem</a><wbr>(<a href="../SqlWithItem.html" title="class in org.apache.calcite.sql">SqlWithItem</a> withItem)</code></div> |
| <div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"> </div> |
| </div> |
| </div> |
| </div> |
| </section> |
| </li> |
| </ul> |
| </section> |
| <section class="details"> |
| <ul class="details-list"> |
| <!-- ============ METHOD DETAIL ========== --> |
| <li> |
| <section class="method-details" id="method-detail"> |
| <h2>Method Details</h2> |
| <ul class="member-list"> |
| <li> |
| <section class="detail" id="getCatalogReader()"> |
| <h3>getCatalogReader</h3> |
| <div class="member-signature"><span class="annotations">@Pure |
| </span><span class="return-type"><a href="SqlValidatorCatalogReader.html" title="interface in org.apache.calcite.sql.validate">SqlValidatorCatalogReader</a></span> <span class="element-name">getCatalogReader</span>()</div> |
| <div class="block">Returns the catalog reader used by this validator.</div> |
| <dl class="notes"> |
| <dt>Returns:</dt> |
| <dd>catalog reader</dd> |
| </dl> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="getOperatorTable()"> |
| <h3>getOperatorTable</h3> |
| <div class="member-signature"><span class="annotations">@Pure |
| </span><span class="return-type"><a href="../SqlOperatorTable.html" title="interface in org.apache.calcite.sql">SqlOperatorTable</a></span> <span class="element-name">getOperatorTable</span>()</div> |
| <div class="block">Returns the operator table used by this validator.</div> |
| <dl class="notes"> |
| <dt>Returns:</dt> |
| <dd>operator table</dd> |
| </dl> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="validate(org.apache.calcite.sql.SqlNode)"> |
| <h3>validate</h3> |
| <div class="member-signature"><span class="return-type"><a href="../SqlNode.html" title="class in org.apache.calcite.sql">SqlNode</a></span> <span class="element-name">validate</span><wbr><span class="parameters">(<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 class="notes"> |
| <dt>Parameters:</dt> |
| <dd><code>topNode</code> - top of expression tree to be validated</dd> |
| <dt>Returns:</dt> |
| <dd>validated tree (possibly rewritten)</dd> |
| </dl> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="validateParameterizedExpression(org.apache.calcite.sql.SqlNode,java.util.Map)"> |
| <h3>validateParameterizedExpression</h3> |
| <div class="member-signature"><span class="return-type"><a href="../SqlNode.html" title="class in org.apache.calcite.sql">SqlNode</a></span> <span class="element-name">validateParameterizedExpression</span><wbr><span class="parameters">(<a href="../SqlNode.html" title="class in org.apache.calcite.sql">SqlNode</a> topNode, |
| <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/Map.html" title="class or interface in java.util" class="external-link">Map</a><<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>,<wbr><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 class="notes"> |
| <dt>Parameters:</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>Returns:</dt> |
| <dd>validated tree (possibly rewritten)</dd> |
| </dl> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="validateQuery(org.apache.calcite.sql.SqlNode,org.apache.calcite.sql.validate.SqlValidatorScope,org.apache.calcite.rel.type.RelDataType)"> |
| <h3>validateQuery</h3> |
| <div class="member-signature"><span class="return-type">void</span> <span class="element-name">validateQuery</span><wbr><span class="parameters">(<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 class="notes"> |
| <dt>Parameters:</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>Throws:</dt> |
| <dd><code><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/RuntimeException.html" title="class or interface in java.lang" class="external-link">RuntimeException</a></code> - if the query is not valid</dd> |
| </dl> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="getValidatedNodeType(org.apache.calcite.sql.SqlNode)"> |
| <h3>getValidatedNodeType</h3> |
| <div class="member-signature"><span class="return-type"><a href="../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a></span> <span class="element-name">getValidatedNodeType</span><wbr><span class="parameters">(<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 class="notes"> |
| <dt>Parameters:</dt> |
| <dd><code>node</code> - the node of interest</dd> |
| <dt>Returns:</dt> |
| <dd>validated type, never null</dd> |
| </dl> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="getValidatedNodeTypeIfKnown(org.apache.calcite.sql.SqlNode)"> |
| <h3>getValidatedNodeTypeIfKnown</h3> |
| <div class="member-signature"><span class="return-type">@Nullable <a href="../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a></span> <span class="element-name">getValidatedNodeTypeIfKnown</span><wbr><span class="parameters">(<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 class="notes"> |
| <dt>Parameters:</dt> |
| <dd><code>node</code> - the node of interest</dd> |
| <dt>Returns:</dt> |
| <dd>validated type, or null if unknown or not applicable</dd> |
| </dl> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="getValidatedOperandTypes(org.apache.calcite.sql.SqlCall)"> |
| <h3>getValidatedOperandTypes</h3> |
| <div class="member-signature"><span class="return-type">@Nullable <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/List.html" title="class or interface in java.util" class="external-link">List</a><<a href="../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a>></span> <span class="element-name">getValidatedOperandTypes</span><wbr><span class="parameters">(<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 class="notes"> |
| <dt>Parameters:</dt> |
| <dd><code>call</code> - Call</dd> |
| <dt>Returns:</dt> |
| <dd>List of operands' types, or null if not known or 'obvious'</dd> |
| </dl> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="validateIdentifier(org.apache.calcite.sql.SqlIdentifier,org.apache.calcite.sql.validate.SqlValidatorScope)"> |
| <h3>validateIdentifier</h3> |
| <div class="member-signature"><span class="return-type">void</span> <span class="element-name">validateIdentifier</span><wbr><span class="parameters">(<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 class="notes"> |
| <dt>Parameters:</dt> |
| <dd><code>id</code> - Identifier</dd> |
| <dd><code>scope</code> - Naming scope</dd> |
| </dl> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="validateLiteral(org.apache.calcite.sql.SqlLiteral)"> |
| <h3>validateLiteral</h3> |
| <div class="member-signature"><span class="return-type">void</span> <span class="element-name">validateLiteral</span><wbr><span class="parameters">(<a href="../SqlLiteral.html" title="class in org.apache.calcite.sql">SqlLiteral</a> literal)</span></div> |
| <div class="block">Validates a literal.</div> |
| <dl class="notes"> |
| <dt>Parameters:</dt> |
| <dd><code>literal</code> - Literal</dd> |
| </dl> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="validateIntervalQualifier(org.apache.calcite.sql.SqlIntervalQualifier)"> |
| <h3>validateIntervalQualifier</h3> |
| <div class="member-signature"><span class="return-type">void</span> <span class="element-name">validateIntervalQualifier</span><wbr><span class="parameters">(<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 class="notes"> |
| <dt>Parameters:</dt> |
| <dd><code>qualifier</code> - Interval qualifier</dd> |
| </dl> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="validateInsert(org.apache.calcite.sql.SqlInsert)"> |
| <h3>validateInsert</h3> |
| <div class="member-signature"><span class="return-type">void</span> <span class="element-name">validateInsert</span><wbr><span class="parameters">(<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 class="notes"> |
| <dt>Parameters:</dt> |
| <dd><code>insert</code> - INSERT statement</dd> |
| </dl> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="validateUpdate(org.apache.calcite.sql.SqlUpdate)"> |
| <h3>validateUpdate</h3> |
| <div class="member-signature"><span class="return-type">void</span> <span class="element-name">validateUpdate</span><wbr><span class="parameters">(<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 class="notes"> |
| <dt>Parameters:</dt> |
| <dd><code>update</code> - UPDATE statement</dd> |
| </dl> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="validateDelete(org.apache.calcite.sql.SqlDelete)"> |
| <h3>validateDelete</h3> |
| <div class="member-signature"><span class="return-type">void</span> <span class="element-name">validateDelete</span><wbr><span class="parameters">(<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 class="notes"> |
| <dt>Parameters:</dt> |
| <dd><code>delete</code> - DELETE statement</dd> |
| </dl> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="validateMerge(org.apache.calcite.sql.SqlMerge)"> |
| <h3>validateMerge</h3> |
| <div class="member-signature"><span class="return-type">void</span> <span class="element-name">validateMerge</span><wbr><span class="parameters">(<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 class="notes"> |
| <dt>Parameters:</dt> |
| <dd><code>merge</code> - MERGE statement</dd> |
| </dl> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="validateDataType(org.apache.calcite.sql.SqlDataTypeSpec)"> |
| <h3>validateDataType</h3> |
| <div class="member-signature"><span class="return-type">void</span> <span class="element-name">validateDataType</span><wbr><span class="parameters">(<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 class="notes"> |
| <dt>Parameters:</dt> |
| <dd><code>dataType</code> - Data type</dd> |
| </dl> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="validateDynamicParam(org.apache.calcite.sql.SqlDynamicParam)"> |
| <h3>validateDynamicParam</h3> |
| <div class="member-signature"><span class="return-type">void</span> <span class="element-name">validateDynamicParam</span><wbr><span class="parameters">(<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 class="notes"> |
| <dt>Parameters:</dt> |
| <dd><code>dynamicParam</code> - Dynamic parameter</dd> |
| </dl> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="validateWindow(org.apache.calcite.sql.SqlNode,org.apache.calcite.sql.validate.SqlValidatorScope,org.apache.calcite.sql.SqlCall)"> |
| <h3>validateWindow</h3> |
| <div class="member-signature"><span class="return-type">void</span> <span class="element-name">validateWindow</span><wbr><span class="parameters">(<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 class="notes"> |
| <dt>Parameters:</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> |
| <section class="detail" id="validateMatchRecognize(org.apache.calcite.sql.SqlCall)"> |
| <h3>validateMatchRecognize</h3> |
| <div class="member-signature"><span class="return-type">void</span> <span class="element-name">validateMatchRecognize</span><wbr><span class="parameters">(<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 class="notes"> |
| <dt>Parameters:</dt> |
| <dd><code>pattern</code> - MATCH_RECOGNIZE clause</dd> |
| </dl> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="validateCall(org.apache.calcite.sql.SqlCall,org.apache.calcite.sql.validate.SqlValidatorScope)"> |
| <h3>validateCall</h3> |
| <div class="member-signature"><span class="return-type">void</span> <span class="element-name">validateCall</span><wbr><span class="parameters">(<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 class="notes"> |
| <dt>Parameters:</dt> |
| <dd><code>call</code> - Operator call</dd> |
| <dd><code>scope</code> - Naming scope</dd> |
| </dl> |
| </section> |
| </li> |
| <li> |
| <section class="detail" 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)"> |
| <h3>validateAggregateParams</h3> |
| <div class="member-signature"><span class="return-type">void</span> <span class="element-name">validateAggregateParams</span><wbr><span class="parameters">(<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 class="notes"> |
| <dt>Parameters:</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> |
| <section class="detail" id="validateColumnListParams(org.apache.calcite.sql.SqlFunction,java.util.List,java.util.List)"> |
| <h3>validateColumnListParams</h3> |
| <div class="member-signature"><span class="return-type">void</span> <span class="element-name">validateColumnListParams</span><wbr><span class="parameters">(<a href="../SqlFunction.html" title="class in org.apache.calcite.sql">SqlFunction</a> function, |
| <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/List.html" title="class or interface in java.util" class="external-link">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/en/java/javase/17/docs/api/java.base/java/util/List.html" title="class or interface in java.util" class="external-link">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 class="notes"> |
| <dt>Parameters:</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> |
| <section class="detail" id="makeNullaryCall(org.apache.calcite.sql.SqlIdentifier)"> |
| <h3>makeNullaryCall</h3> |
| <div class="member-signature"><span class="return-type">@Nullable <a href="../SqlCall.html" title="class in org.apache.calcite.sql">SqlCall</a></span> <span class="element-name">makeNullaryCall</span><wbr><span class="parameters">(<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> |
| <section class="detail" id="deriveType(org.apache.calcite.sql.validate.SqlValidatorScope,org.apache.calcite.sql.SqlNode)"> |
| <h3>deriveType</h3> |
| <div class="member-signature"><span class="return-type"><a href="../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a></span> <span class="element-name">deriveType</span><wbr><span class="parameters">(<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 class="notes"> |
| <dt>Parameters:</dt> |
| <dd><code>scope</code> - Syntactic scope</dd> |
| <dd><code>operand</code> - Parse tree node</dd> |
| <dt>Returns:</dt> |
| <dd>Type of the SqlNode. Should never return <code>NULL</code></dd> |
| </dl> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="newValidationError(org.apache.calcite.sql.SqlNode,org.apache.calcite.runtime.Resources.ExInst)"> |
| <h3>newValidationError</h3> |
| <div class="member-signature"><span class="return-type"><a href="../../runtime/CalciteContextException.html" title="class in org.apache.calcite.runtime">CalciteContextException</a></span> <span class="element-name">newValidationError</span><wbr><span class="parameters">(<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/en/java/javase/17/docs/api/java.base/java/lang/Exception.html" title="class or interface in java.lang" class="external-link"><code>Exception</code></a>) and the output exception is unchecked (it derives from |
| <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/RuntimeException.html" title="class or interface in java.lang" class="external-link"><code>RuntimeException</code></a>). This is intentional -- it should remind code |
| authors to provide context for their validation errors.</p></div> |
| <dl class="notes"> |
| <dt>Parameters:</dt> |
| <dd><code>node</code> - The place where the exception occurred, not null</dd> |
| <dd><code>e</code> - The validation error</dd> |
| <dt>Returns:</dt> |
| <dd>Exception containing positional information, never null</dd> |
| </dl> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="isAggregate(org.apache.calcite.sql.SqlSelect)"> |
| <h3>isAggregate</h3> |
| <div class="member-signature"><span class="return-type">boolean</span> <span class="element-name">isAggregate</span><wbr><span class="parameters">(<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 class="notes"> |
| <dt>Parameters:</dt> |
| <dd><code>select</code> - SELECT statement</dd> |
| <dt>Returns:</dt> |
| <dd>whether SELECT statement is an aggregation</dd> |
| </dl> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="isAggregate(org.apache.calcite.sql.SqlNode)"> |
| <h3>isAggregate</h3> |
| <div class="member-signature"><span class="annotations"><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Deprecated.html" title="class or interface in java.lang" class="external-link">@Deprecated</a> |
| </span><span class="return-type">boolean</span> <span class="element-name">isAggregate</span><wbr><span class="parameters">(<a href="../SqlNode.html" title="class in org.apache.calcite.sql">SqlNode</a> selectNode)</span></div> |
| <div class="deprecation-block"><span class="deprecated-label">Deprecated.</span></div> |
| <div class="block">Returns whether a select list expression is an aggregate function.</div> |
| <dl class="notes"> |
| <dt>Parameters:</dt> |
| <dd><code>selectNode</code> - Expression in SELECT clause</dd> |
| <dt>Returns:</dt> |
| <dd>whether expression is an aggregate function</dd> |
| </dl> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="resolveWindow(org.apache.calcite.sql.SqlNode,org.apache.calcite.sql.validate.SqlValidatorScope)"> |
| <h3>resolveWindow</h3> |
| <div class="member-signature"><span class="return-type"><a href="../SqlWindow.html" title="class in org.apache.calcite.sql">SqlWindow</a></span> <span class="element-name">resolveWindow</span><wbr><span class="parameters">(<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 class="notes"> |
| <dt>Parameters:</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>Returns:</dt> |
| <dd>A window</dd> |
| <dt>Throws:</dt> |
| <dd><code><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/RuntimeException.html" title="class or interface in java.lang" class="external-link">RuntimeException</a></code> - Validation exception if window does not exist</dd> |
| </dl> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="resolveWindow(org.apache.calcite.sql.SqlNode,org.apache.calcite.sql.validate.SqlValidatorScope,boolean)"> |
| <h3>resolveWindow</h3> |
| <div class="member-signature"><span class="annotations"><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Deprecated.html" title="class or interface in java.lang" class="external-link">@Deprecated</a> |
| </span><span class="modifiers">default</span> <span class="return-type"><a href="../SqlWindow.html" title="class in org.apache.calcite.sql">SqlWindow</a></span> <span class="element-name">resolveWindow</span><wbr><span class="parameters">(<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="deprecation-block"><span class="deprecated-label">Deprecated.</span> |
| <div class="deprecation-comment">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 class="notes"> |
| <dt>Parameters:</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> |
| <section class="detail" id="getNamespace(org.apache.calcite.sql.SqlNode)"> |
| <h3>getNamespace</h3> |
| <div class="member-signature"><span class="return-type">@Nullable <a href="SqlValidatorNamespace.html" title="interface in org.apache.calcite.sql.validate">SqlValidatorNamespace</a></span> <span class="element-name">getNamespace</span><wbr><span class="parameters">(<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 class="notes"> |
| <dt>Parameters:</dt> |
| <dd><code>node</code> - Parse tree node</dd> |
| <dt>Returns:</dt> |
| <dd>namespace of node</dd> |
| </dl> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="deriveAlias(org.apache.calcite.sql.SqlNode,int)"> |
| <h3>deriveAlias</h3> |
| <div class="member-signature"><span class="return-type">@Nullable <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></span> <span class="element-name">deriveAlias</span><wbr><span class="parameters">(<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 class="notes"> |
| <dt>Parameters:</dt> |
| <dd><code>node</code> - Expression</dd> |
| <dd><code>ordinal</code> - Ordinal of expression</dd> |
| <dt>Returns:</dt> |
| <dd>derived alias, or null if no alias can be derived and ordinal is |
| less than zero</dd> |
| </dl> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="expandStar(org.apache.calcite.sql.SqlNodeList,org.apache.calcite.sql.SqlSelect,boolean)"> |
| <h3>expandStar</h3> |
| <div class="member-signature"><span class="return-type"><a href="../SqlNodeList.html" title="class in org.apache.calcite.sql">SqlNodeList</a></span> <span class="element-name">expandStar</span><wbr><span class="parameters">(<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 class="notes"> |
| <dt>Parameters:</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>Returns:</dt> |
| <dd>expanded select clause</dd> |
| </dl> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="getWhereScope(org.apache.calcite.sql.SqlSelect)"> |
| <h3>getWhereScope</h3> |
| <div class="member-signature"><span class="return-type"><a href="SqlValidatorScope.html" title="interface in org.apache.calcite.sql.validate">SqlValidatorScope</a></span> <span class="element-name">getWhereScope</span><wbr><span class="parameters">(<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 class="notes"> |
| <dt>Parameters:</dt> |
| <dd><code>select</code> - Query</dd> |
| <dt>Returns:</dt> |
| <dd>naming scope of WHERE clause</dd> |
| </dl> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="getTypeFactory()"> |
| <h3>getTypeFactory</h3> |
| <div class="member-signature"><span class="annotations">@Pure |
| </span><span class="return-type"><a href="../../rel/type/RelDataTypeFactory.html" title="interface in org.apache.calcite.rel.type">RelDataTypeFactory</a></span> <span class="element-name">getTypeFactory</span>()</div> |
| <div class="block">Returns the type factory used by this validator.</div> |
| <dl class="notes"> |
| <dt>Returns:</dt> |
| <dd>type factory</dd> |
| </dl> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="setValidatedNodeType(org.apache.calcite.sql.SqlNode,org.apache.calcite.rel.type.RelDataType)"> |
| <h3>setValidatedNodeType</h3> |
| <div class="member-signature"><span class="annotations">@API(status=INTERNAL, |
| since="1.24") |
| </span><span class="return-type">void</span> <span class="element-name">setValidatedNodeType</span><wbr><span class="parameters">(<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 class="notes"> |
| <dt>Parameters:</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> |
| <section class="detail" id="removeValidatedNodeType(org.apache.calcite.sql.SqlNode)"> |
| <h3>removeValidatedNodeType</h3> |
| <div class="member-signature"><span class="return-type">void</span> <span class="element-name">removeValidatedNodeType</span><wbr><span class="parameters">(<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 class="notes"> |
| <dt>Parameters:</dt> |
| <dd><code>node</code> - node to be removed</dd> |
| </dl> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="getUnknownType()"> |
| <h3>getUnknownType</h3> |
| <div class="member-signature"><span class="return-type"><a href="../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a></span> <span class="element-name">getUnknownType</span>()</div> |
| <div class="block">Returns an object representing the "unknown" type.</div> |
| <dl class="notes"> |
| <dt>Returns:</dt> |
| <dd>unknown type</dd> |
| </dl> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="getSelectScope(org.apache.calcite.sql.SqlSelect)"> |
| <h3>getSelectScope</h3> |
| <div class="member-signature"><span class="return-type"><a href="SqlValidatorScope.html" title="interface in org.apache.calcite.sql.validate">SqlValidatorScope</a></span> <span class="element-name">getSelectScope</span><wbr><span class="parameters">(<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 class="notes"> |
| <dt>Parameters:</dt> |
| <dd><code>select</code> - SELECT statement</dd> |
| <dt>Returns:</dt> |
| <dd>naming scope for SELECT statement</dd> |
| </dl> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="getRawSelectScope(org.apache.calcite.sql.SqlSelect)"> |
| <h3>getRawSelectScope</h3> |
| <div class="member-signature"><span class="return-type">@Nullable <a href="SelectScope.html" title="class in org.apache.calcite.sql.validate">SelectScope</a></span> <span class="element-name">getRawSelectScope</span><wbr><span class="parameters">(<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 class="notes"> |
| <dt>Parameters:</dt> |
| <dd><code>select</code> - SELECT statement</dd> |
| <dt>Returns:</dt> |
| <dd>naming scope for SELECT statement, sans any aggregating scope</dd> |
| </dl> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="getFromScope(org.apache.calcite.sql.SqlSelect)"> |
| <h3>getFromScope</h3> |
| <div class="member-signature"><span class="return-type">@Nullable <a href="SqlValidatorScope.html" title="interface in org.apache.calcite.sql.validate">SqlValidatorScope</a></span> <span class="element-name">getFromScope</span><wbr><span class="parameters">(<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 class="notes"> |
| <dt>Parameters:</dt> |
| <dd><code>select</code> - SELECT statement</dd> |
| <dt>Returns:</dt> |
| <dd>naming scope for FROM clause</dd> |
| </dl> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="getJoinScope(org.apache.calcite.sql.SqlNode)"> |
| <h3>getJoinScope</h3> |
| <div class="member-signature"><span class="return-type">@Nullable <a href="SqlValidatorScope.html" title="interface in org.apache.calcite.sql.validate">SqlValidatorScope</a></span> <span class="element-name">getJoinScope</span><wbr><span class="parameters">(<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 class="notes"> |
| <dt>Parameters:</dt> |
| <dd><code>node</code> - The item in the FROM clause which contains the ON or USING |
| expression</dd> |
| <dt>Returns:</dt> |
| <dd>naming scope for JOIN clause</dd> |
| <dt>See Also:</dt> |
| <dd> |
| <ul class="see-list-long"> |
| <li><a href="#getFromScope(org.apache.calcite.sql.SqlSelect)"><code>getFromScope(org.apache.calcite.sql.SqlSelect)</code></a></li> |
| </ul> |
| </dd> |
| </dl> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="getGroupScope(org.apache.calcite.sql.SqlSelect)"> |
| <h3>getGroupScope</h3> |
| <div class="member-signature"><span class="return-type"><a href="SqlValidatorScope.html" title="interface in org.apache.calcite.sql.validate">SqlValidatorScope</a></span> <span class="element-name">getGroupScope</span><wbr><span class="parameters">(<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 class="notes"> |
| <dt>Parameters:</dt> |
| <dd><code>select</code> - SELECT statement</dd> |
| <dt>Returns:</dt> |
| <dd>naming scope for GROUP BY clause</dd> |
| </dl> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="getHavingScope(org.apache.calcite.sql.SqlSelect)"> |
| <h3>getHavingScope</h3> |
| <div class="member-signature"><span class="return-type"><a href="SqlValidatorScope.html" title="interface in org.apache.calcite.sql.validate">SqlValidatorScope</a></span> <span class="element-name">getHavingScope</span><wbr><span class="parameters">(<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 class="notes"> |
| <dt>Parameters:</dt> |
| <dd><code>select</code> - SELECT statement</dd> |
| <dt>Returns:</dt> |
| <dd>naming scope for HAVING clause</dd> |
| </dl> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="getOrderScope(org.apache.calcite.sql.SqlSelect)"> |
| <h3>getOrderScope</h3> |
| <div class="member-signature"><span class="return-type"><a href="SqlValidatorScope.html" title="interface in org.apache.calcite.sql.validate">SqlValidatorScope</a></span> <span class="element-name">getOrderScope</span><wbr><span class="parameters">(<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 class="notes"> |
| <dt>Parameters:</dt> |
| <dd><code>select</code> - SELECT statement</dd> |
| <dt>Returns:</dt> |
| <dd>naming scope for ORDER BY clause</dd> |
| </dl> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="getMatchRecognizeScope(org.apache.calcite.sql.SqlMatchRecognize)"> |
| <h3>getMatchRecognizeScope</h3> |
| <div class="member-signature"><span class="return-type"><a href="SqlValidatorScope.html" title="interface in org.apache.calcite.sql.validate">SqlValidatorScope</a></span> <span class="element-name">getMatchRecognizeScope</span><wbr><span class="parameters">(<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 class="notes"> |
| <dt>Parameters:</dt> |
| <dd><code>node</code> - Match recognize</dd> |
| <dt>Returns:</dt> |
| <dd>naming scope for Match recognize clause</dd> |
| </dl> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="declareCursor(org.apache.calcite.sql.SqlSelect,org.apache.calcite.sql.validate.SqlValidatorScope)"> |
| <h3>declareCursor</h3> |
| <div class="member-signature"><span class="return-type">void</span> <span class="element-name">declareCursor</span><wbr><span class="parameters">(<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 class="notes"> |
| <dt>Parameters:</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> |
| <section class="detail" id="pushFunctionCall()"> |
| <h3>pushFunctionCall</h3> |
| <div class="member-signature"><span class="return-type">void</span> <span class="element-name">pushFunctionCall</span>()</div> |
| <div class="block">Pushes a new instance of a function call on to a function call stack.</div> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="popFunctionCall()"> |
| <h3>popFunctionCall</h3> |
| <div class="member-signature"><span class="return-type">void</span> <span class="element-name">popFunctionCall</span>()</div> |
| <div class="block">Removes the topmost entry from the function call stack.</div> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="getParentCursor(java.lang.String)"> |
| <h3>getParentCursor</h3> |
| <div class="member-signature"><span class="return-type">@Nullable <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></span> <span class="element-name">getParentCursor</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a> columnListParamName)</span></div> |
| <div class="block">Retrieves the name of the parent cursor referenced by a column list |
| parameter.</div> |
| <dl class="notes"> |
| <dt>Parameters:</dt> |
| <dd><code>columnListParamName</code> - name of the column list parameter</dd> |
| <dt>Returns:</dt> |
| <dd>name of the parent cursor</dd> |
| </dl> |
| </section> |
| </li> |
| <li> |
| <section class="detail" 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)"> |
| <h3>deriveConstructorType</h3> |
| <div class="member-signature"><span class="return-type"><a href="../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a></span> <span class="element-name">deriveConstructorType</span><wbr><span class="parameters">(<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/en/java/javase/17/docs/api/java.base/java/util/List.html" title="class or interface in java.util" class="external-link">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 class="notes"> |
| <dt>Parameters:</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>Returns:</dt> |
| <dd>Resolved type of constructor</dd> |
| </dl> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="handleUnresolvedFunction(org.apache.calcite.sql.SqlCall,org.apache.calcite.sql.SqlOperator,java.util.List,java.util.List)"> |
| <h3>handleUnresolvedFunction</h3> |
| <div class="member-signature"><span class="return-type"><a href="../../runtime/CalciteException.html" title="class in org.apache.calcite.runtime">CalciteException</a></span> <span class="element-name">handleUnresolvedFunction</span><wbr><span class="parameters">(<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/en/java/javase/17/docs/api/java.base/java/util/List.html" title="class or interface in java.util" class="external-link">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/en/java/javase/17/docs/api/java.base/java/util/List.html" title="class or interface in java.util" class="external-link">List</a><<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">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 class="notes"> |
| <dt>Parameters:</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> |
| <section class="detail" id="expandOrderExpr(org.apache.calcite.sql.SqlSelect,org.apache.calcite.sql.SqlNode)"> |
| <h3>expandOrderExpr</h3> |
| <div class="member-signature"><span class="return-type"><a href="../SqlNode.html" title="class in org.apache.calcite.sql">SqlNode</a></span> <span class="element-name">expandOrderExpr</span><wbr><span class="parameters">(<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 class="notes"> |
| <dt>Parameters:</dt> |
| <dd><code>select</code> - Select statement which contains ORDER BY</dd> |
| <dd><code>orderExpr</code> - Expression in the ORDER BY clause.</dd> |
| <dt>Returns:</dt> |
| <dd>Expression translated into SELECT clause semantics</dd> |
| </dl> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="expand(org.apache.calcite.sql.SqlNode,org.apache.calcite.sql.validate.SqlValidatorScope)"> |
| <h3>expand</h3> |
| <div class="member-signature"><span class="return-type"><a href="../SqlNode.html" title="class in org.apache.calcite.sql">SqlNode</a></span> <span class="element-name">expand</span><wbr><span class="parameters">(<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 class="notes"> |
| <dt>Parameters:</dt> |
| <dd><code>expr</code> - Expression</dd> |
| <dd><code>scope</code> - Scope</dd> |
| <dt>Returns:</dt> |
| <dd>Expanded expression</dd> |
| </dl> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="resolveLiteral(org.apache.calcite.sql.SqlLiteral)"> |
| <h3>resolveLiteral</h3> |
| <div class="member-signature"><span class="return-type"><a href="../SqlLiteral.html" title="class in org.apache.calcite.sql">SqlLiteral</a></span> <span class="element-name">resolveLiteral</span><wbr><span class="parameters">(<a href="../SqlLiteral.html" title="class in org.apache.calcite.sql">SqlLiteral</a> literal)</span></div> |
| <div class="block">Resolves a literal. |
| |
| <p>Usually returns the literal unchanged, but if the literal is of type |
| <a href="../type/SqlTypeName.html#UNKNOWN"><code>SqlTypeName.UNKNOWN</code></a> looks up its type |
| and converts to the appropriate literal subclass.</div> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="isSystemField(org.apache.calcite.rel.type.RelDataTypeField)"> |
| <h3>isSystemField</h3> |
| <div class="member-signature"><span class="return-type">boolean</span> <span class="element-name">isSystemField</span><wbr><span class="parameters">(<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 class="notes"> |
| <dt>Parameters:</dt> |
| <dd><code>field</code> - Field</dd> |
| <dt>Returns:</dt> |
| <dd>whether field is a system field</dd> |
| </dl> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="getFieldOrigins(org.apache.calcite.sql.SqlNode)"> |
| <h3>getFieldOrigins</h3> |
| <div class="member-signature"><span class="return-type"><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/List.html" title="class or interface in java.util" class="external-link">List</a><@Nullable <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/List.html" title="class or interface in java.util" class="external-link">List</a><<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>>></span> <span class="element-name">getFieldOrigins</span><wbr><span class="parameters">(<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 class="notes"> |
| <dt>Parameters:</dt> |
| <dd><code>sqlQuery</code> - Query</dd> |
| <dt>Returns:</dt> |
| <dd>Description of how each field in the row type maps to a schema |
| object</dd> |
| </dl> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="getParameterRowType(org.apache.calcite.sql.SqlNode)"> |
| <h3>getParameterRowType</h3> |
| <div class="member-signature"><span class="return-type"><a href="../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a></span> <span class="element-name">getParameterRowType</span><wbr><span class="parameters">(<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 class="notes"> |
| <dt>Parameters:</dt> |
| <dd><code>sqlQuery</code> - Query</dd> |
| <dt>Returns:</dt> |
| <dd>Record type</dd> |
| </dl> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="getOverScope(org.apache.calcite.sql.SqlNode)"> |
| <h3>getOverScope</h3> |
| <div class="member-signature"><span class="return-type"><a href="SqlValidatorScope.html" title="interface in org.apache.calcite.sql.validate">SqlValidatorScope</a></span> <span class="element-name">getOverScope</span><wbr><span class="parameters">(<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 class="notes"> |
| <dt>Parameters:</dt> |
| <dd><code>node</code> - Node</dd> |
| <dt>Returns:</dt> |
| <dd>Scope</dd> |
| </dl> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="validateModality(org.apache.calcite.sql.SqlSelect,org.apache.calcite.sql.validate.SqlModality,boolean)"> |
| <h3>validateModality</h3> |
| <div class="member-signature"><span class="return-type">boolean</span> <span class="element-name">validateModality</span><wbr><span class="parameters">(<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 class="notes"> |
| <dt>Parameters:</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>Returns:</dt> |
| <dd>whether query supports the given modality</dd> |
| </dl> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="validateWith(org.apache.calcite.sql.SqlWith,org.apache.calcite.sql.validate.SqlValidatorScope)"> |
| <h3>validateWith</h3> |
| <div class="member-signature"><span class="return-type">void</span> <span class="element-name">validateWith</span><wbr><span class="parameters">(<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> |
| <section class="detail" id="validateWithItem(org.apache.calcite.sql.SqlWithItem)"> |
| <h3>validateWithItem</h3> |
| <div class="member-signature"><span class="return-type">void</span> <span class="element-name">validateWithItem</span><wbr><span class="parameters">(<a href="../SqlWithItem.html" title="class in org.apache.calcite.sql">SqlWithItem</a> withItem)</span></div> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="validateSequenceValue(org.apache.calcite.sql.validate.SqlValidatorScope,org.apache.calcite.sql.SqlIdentifier)"> |
| <h3>validateSequenceValue</h3> |
| <div class="member-signature"><span class="return-type">void</span> <span class="element-name">validateSequenceValue</span><wbr><span class="parameters">(<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> |
| <section class="detail" id="getWithScope(org.apache.calcite.sql.SqlNode)"> |
| <h3>getWithScope</h3> |
| <div class="member-signature"><span class="return-type">@Nullable <a href="SqlValidatorScope.html" title="interface in org.apache.calcite.sql.validate">SqlValidatorScope</a></span> <span class="element-name">getWithScope</span><wbr><span class="parameters">(<a href="../SqlNode.html" title="class in org.apache.calcite.sql">SqlNode</a> withItem)</span></div> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="getTypeCoercion()"> |
| <h3>getTypeCoercion</h3> |
| <div class="member-signature"><span class="return-type"><a href="implicit/TypeCoercion.html" title="interface in org.apache.calcite.sql.validate.implicit">TypeCoercion</a></span> <span class="element-name">getTypeCoercion</span>()</div> |
| <div class="block">Get the type coercion instance.</div> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="config()"> |
| <h3>config</h3> |
| <div class="member-signature"><span class="return-type"><a href="SqlValidator.Config.html" title="interface in org.apache.calcite.sql.validate">SqlValidator.Config</a></span> <span class="element-name">config</span>()</div> |
| <div class="block">Returns the config of the validator.</div> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="transform(java.util.function.UnaryOperator)"> |
| <h3>transform</h3> |
| <div class="member-signature"><span class="annotations">@API(status=INTERNAL, |
| since="1.23") |
| </span><span class="return-type"><a href="SqlValidator.html" title="interface in org.apache.calcite.sql.validate">SqlValidator</a></span> <span class="element-name">transform</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/function/UnaryOperator.html" title="class or interface in java.util.function" class="external-link">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> |
| <li> |
| <section class="detail" id="getTimeFrameSet()"> |
| <h3>getTimeFrameSet</h3> |
| <div class="member-signature"><span class="return-type"><a href="../../rel/type/TimeFrameSet.html" title="class in org.apache.calcite.rel.type">TimeFrameSet</a></span> <span class="element-name">getTimeFrameSet</span>()</div> |
| <div class="block">Returns the set of allowed time frames.</div> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="validateTimeFrame(org.apache.calcite.sql.SqlIntervalQualifier)"> |
| <h3>validateTimeFrame</h3> |
| <div class="member-signature"><span class="return-type"><a href="../../rel/type/TimeFrame.html" title="interface in org.apache.calcite.rel.type">TimeFrame</a></span> <span class="element-name">validateTimeFrame</span><wbr><span class="parameters">(<a href="../SqlIntervalQualifier.html" title="class in org.apache.calcite.sql">SqlIntervalQualifier</a> intervalQualifier)</span></div> |
| <div class="block">Validates a time frame. |
| |
| <p>A time frame is either a built-in time frame based on a time unit such |
| as <code>TimeUnitRange.HOUR</code>, |
| or is a custom time frame represented by a name in |
| <a href="../SqlIntervalQualifier.html#timeFrameName"><code>SqlIntervalQualifier.timeFrameName</code></a>. A custom time frame is |
| validated against <a href="#getTimeFrameSet()"><code>getTimeFrameSet()</code></a>. |
| |
| <p>Returns a time frame, or throws.</div> |
| </section> |
| </li> |
| </ul> |
| </section> |
| </li> |
| </ul> |
| </section> |
| <!-- ========= END OF CLASS DATA ========= --> |
| </main> |
| <footer role="contentinfo"> |
| <hr> |
| <p class="legal-copy"><small>Copyright © 2012-2023 Apache Software Foundation. All Rights Reserved.</small></p> |
| </footer> |
| </div> |
| </div> |
| </body> |
| </html> |