blob: 070c3203cc1b037acb912a815739c37a01a1feef [file] [log] [blame]
<!DOCTYPE HTML>
<html lang="en">
<head>
<!-- Generated by javadoc (17) -->
<title>SqlJdbcFunctionCall (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, class: SqlJdbcFunctionCall">
<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:&nbsp;</li>
<li><a href="#nested-class-summary">Nested</a>&nbsp;|&nbsp;</li>
<li><a href="#field-summary">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor-summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method-summary">Method</a></li>
</ul>
<ul class="sub-nav-list">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor-detail">Constr</a>&nbsp;|&nbsp;</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>&nbsp;<a href="package-summary.html">org.apache.calcite.sql</a></div>
<h1 title="Class SqlJdbcFunctionCall" class="title">Class SqlJdbcFunctionCall</h1>
</div>
<div class="inheritance" title="Inheritance Tree"><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">java.lang.Object</a>
<div class="inheritance"><a href="SqlOperator.html" title="class in org.apache.calcite.sql">org.apache.calcite.sql.SqlOperator</a>
<div class="inheritance"><a href="SqlFunction.html" title="class in org.apache.calcite.sql">org.apache.calcite.sql.SqlFunction</a>
<div class="inheritance">org.apache.calcite.sql.SqlJdbcFunctionCall</div>
</div>
</div>
</div>
<section class="class-description" id="class-description">
<hr>
<div class="type-signature"><span class="modifiers">public class </span><span class="element-name type-name-label">SqlJdbcFunctionCall</span>
<span class="extends-implements">extends <a href="SqlFunction.html" title="class in org.apache.calcite.sql">SqlFunction</a></span></div>
<div class="block">A <code>SqlJdbcFunctionCall</code> is a node of a parse tree which represents
a JDBC function call. A JDBC call is of the form <code>{fn NAME(arg0, arg1,
...)}</code>.
<p>See <a href="http://java.sun.com/products/jdbc/driverdevs.html">Sun's
documentation for writers of JDBC drivers</a>.*
<table>
<caption>Supported JDBC functions</caption>
<tr>
<th>Function Name</th>
<th>Function Returns</th>
</tr>
<tr>
<td colspan="2"><br>
<h2>NUMERIC FUNCTIONS</h2>
</td>
</tr>
<tr>
<td>ABS(number)</td>
<td>Absolute value of number</td>
</tr>
<tr>
<td>ACOS(float)</td>
<td>Arccosine, in radians, of float</td>
</tr>
<tr>
<td>ASIN(float)</td>
<td>Arcsine, in radians, of float</td>
</tr>
<tr>
<td>ATAN(float)</td>
<td>Arctangent, in radians, of float</td>
</tr>
<tr>
<td>ATAN2(float1, float2)</td>
<td>Arctangent, in radians, of float2 / float1</td>
</tr>
<tr>
<td>CBRT(number)</td>
<td>The cube root of number</td>
</tr>
<tr>
<td>CEILING(number)</td>
<td>Smallest integer &gt;= number</td>
</tr>
<tr>
<td>COS(float)</td>
<td>Cosine of float radians</td>
</tr>
<tr>
<td>COT(float)</td>
<td>Cotangent of float radians</td>
</tr>
<tr>
<td>DEGREES(number)</td>
<td>Degrees in number radians</td>
</tr>
<tr>
<td>EXP(float)</td>
<td>Exponential function of float</td>
</tr>
<tr>
<td>FLOOR(number)</td>
<td>Largest integer &lt;= number</td>
</tr>
<tr>
<td>LOG(float)</td>
<td>Base e logarithm of float</td>
</tr>
<tr>
<td>LOG10(float)</td>
<td>Base 10 logarithm of float</td>
</tr>
<tr>
<td>MOD(integer1, integer2)</td>
<td>Remainder for integer1 / integer2</td>
</tr>
<tr>
<td>PI()</td>
<td>The constant pi</td>
</tr>
<tr>
<td>POWER(number, power)</td>
<td>number raised to (integer) power</td>
</tr>
<tr>
<td>RADIANS(number)</td>
<td>Radians in number degrees</td>
</tr>
<tr>
<td>RAND(integer)</td>
<td>Random floating point for seed integer</td>
</tr>
<tr>
<td>ROUND(number, places)</td>
<td>number rounded to places places</td>
</tr>
<tr>
<td>SIGN(number)</td>
<td>-1 to indicate number is &lt; 0; 0 to indicate number is = 0; 1 to
indicate number is &gt; 0</td>
</tr>
<tr>
<td>SIN(float)</td>
<td>Sine of float radians</td>
</tr>
<tr>
<td>SQRT(float)</td>
<td>Square root of float</td>
</tr>
<tr>
<td>TAN(float)</td>
<td>Tangent of float radians</td>
</tr>
<tr>
<td>TRUNCATE(number, places)</td>
<td>number truncated to places places</td>
</tr>
<tr>
<td colspan="2"><br>
<h2>STRING FUNCTIONS</h2>
</td>
</tr>
<tr>
<td>ASCII(string)</td>
<td>Integer representing the ASCII code value of the leftmost character in
string</td>
</tr>
<tr>
<td>CHAR(code)</td>
<td>Character with ASCII code value code, where code is between 0 and
255</td>
</tr>
<tr>
<td>CONCAT(string1, string2)</td>
<td>Character string formed by appending string2 to string1; if a string is
null, the result is DBMS-dependent</td>
</tr>
<tr>
<td>DIFFERENCE(string1, string2)</td>
<td>Integer indicating the difference between the values returned by the
function SOUNDEX for string1 and string2</td>
</tr>
<tr>
<td>INSERT(string1, start, length, string2)</td>
<td>A character string formed by deleting length characters from string1
beginning at start, and inserting string2 into string1 at start</td>
</tr>
<tr>
<td>LCASE(string)</td>
<td>Converts all uppercase characters in string to lowercase</td>
</tr>
<tr>
<td>LEFT(string, count)</td>
<td>The count leftmost characters from string</td>
</tr>
<tr>
<td>LENGTH(string)</td>
<td>Number of characters in string, excluding trailing blanks</td>
</tr>
<tr>
<td>LOCATE(string1, string2[, start])</td>
<td>Position in string2 of the first occurrence of string1, searching from
the beginning of string2; if start is specified, the search begins from
position start. 0 is returned if string2 does not contain string1. Position 1
is the first character in string2.</td>
</tr>
<tr>
<td>LTRIM(string)</td>
<td>Characters of string with leading blank spaces removed</td>
</tr>
<tr>
<td>REPEAT(string, count)</td>
<td>A character string formed by repeating string count times</td>
</tr>
<tr>
<td>REPLACE(string1, string2, string3)</td>
<td>Replaces all occurrences of string2 in string1 with string3</td>
</tr>
<tr>
<td>RIGHT(string, count)</td>
<td>The count rightmost characters in string</td>
</tr>
<tr>
<td>RTRIM(string)</td>
<td>The characters of string with no trailing blanks</td>
</tr>
<tr>
<td>REVERSE(string)</td>
<td>The string with the order of the characters reversed</td>
</tr>
<tr>
<td>SOUNDEX(string)</td>
<td>A character string, which is data source-dependent, representing the
sound of the words in string; this could be a four-digit SOUNDEX code, a
phonetic representation of each word, etc.</td>
</tr>
<tr>
<td>SPACE(count)</td>
<td>A character string consisting of count spaces</td>
</tr>
<tr>
<td>SUBSTRING(string, start, length)</td>
<td>A character string formed by extracting length characters from string
beginning at start</td>
</tr>
<tr>
<td>UCASE(string)</td>
<td>Converts all lowercase characters in string to uppercase</td>
</tr>
<tr>
<td colspan="2"><br>
<h2>TIME and DATE FUNCTIONS</h2>
</td>
</tr>
<tr>
<td>CURDATE()</td>
<td>The current date as a date value</td>
</tr>
<tr>
<td>CURTIME()</td>
<td>The current local time as a time value</td>
</tr>
<tr>
<td>DAYNAME(date)</td>
<td>A character string representing the day component of date; the name for
the day is specific to the data source</td>
</tr>
<tr>
<td>DAYOFMONTH(date)</td>
<td>An integer from 1 to 31 representing the day of the month in date</td>
</tr>
<tr>
<td>DAYOFWEEK(date)</td>
<td>An integer from 1 to 7 representing the day of the week in date; 1
represents Sunday</td>
</tr>
<tr>
<td>DAYOFYEAR(date)</td>
<td>An integer from 1 to 366 representing the day of the year in date</td>
</tr>
<tr>
<td>HOUR(time)</td>
<td>An integer from 0 to 23 representing the hour component of time</td>
</tr>
<tr>
<td>MINUTE(time)</td>
<td>An integer from 0 to 59 representing the minute component of time</td>
</tr>
<tr>
<td>MONTH(date)</td>
<td>An integer from 1 to 12 representing the month component of date</td>
</tr>
<tr>
<td>MONTHNAME(date)</td>
<td>A character string representing the month component of date; the name for
the month is specific to the data source</td>
</tr>
<tr>
<td>NOW()</td>
<td>A timestamp value representing the current date and time</td>
</tr>
<tr>
<td>QUARTER(date)</td>
<td>An integer from 1 to 4 representing the quarter in date; 1 represents
January 1 through March 31</td>
</tr>
<tr>
<td>SECOND(time)</td>
<td>An integer from 0 to 59 representing the second component of time</td>
</tr>
<tr>
<td>TIMESTAMPADD(interval,count, timestamp)</td>
<td>A timestamp calculated by adding count number of interval(s) to
timestamp; interval may be one of the following: SQL_TSI_FRAC_SECOND,
SQL_TSI_SECOND, SQL_TSI_MINUTE, SQL_TSI_HOUR, SQL_TSI_DAY, SQL_TSI_WEEK,
SQL_TSI_MONTH, SQL_TSI_QUARTER, or SQL_TSI_YEAR</td>
</tr>
<tr>
<td>TIMESTAMPDIFF(interval,timestamp1, timestamp2)</td>
<td>An integer representing the number of interval(s) by which timestamp2 is
greater than timestamp1; interval may be one of the following:
SQL_TSI_FRAC_SECOND, SQL_TSI_SECOND, SQL_TSI_MINUTE, SQL_TSI_HOUR,
SQL_TSI_DAY, SQL_TSI_WEEK, SQL_TSI_MONTH, SQL_TSI_QUARTER, or
SQL_TSI_YEAR</td>
</tr>
<tr>
<td>WEEK(date)</td>
<td>An integer from 1 to 53 representing the week of the year in date</td>
</tr>
<tr>
<td>YEAR(date)</td>
<td>An integer representing the year component of date</td>
</tr>
<tr>
<td colspan="2"><br>
<h2>SYSTEM FUNCTIONS</h2>
</td>
</tr>
<tr>
<td>DATABASE()</td>
<td>Name of the database</td>
</tr>
<tr>
<td>IFNULL(expression, value)</td>
<td>value if expression is null; expression if expression is not null</td>
</tr>
<tr>
<td>USER()</td>
<td>User name in the DBMS
<tr>
<td colspan="2"><br>
<h2>CONVERSION FUNCTIONS</h2>
</td>
</tr>
<tr>
<td>CONVERT(value, SQLtype)</td>
<td>value converted to SQLtype where SQLtype may be one of the following SQL
types: BIGINT, BINARY, BIT, CHAR, DATE, DECIMAL, DOUBLE, FLOAT, INTEGER,
LONGVARBINARY, LONGVARCHAR, REAL, SMALLINT, TIME, TIMESTAMP, TINYINT,
VARBINARY, or VARCHAR</td>
</tr>
</table></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">Class</div>
<div class="table-header col-last">Description</div>
<div class="col-first even-row-color"><code>static class&nbsp;</code></div>
<div class="col-second even-row-color"><code><a href="SqlJdbcFunctionCall.SimpleMakeCall.html" class="type-name-link" title="class in org.apache.calcite.sql">SqlJdbcFunctionCall.SimpleMakeCall</a></code></div>
<div class="col-last even-row-color">
<div class="block">Converter that calls a built-in function with the same arguments.</div>
</div>
</div>
</section>
</li>
<!-- =========== FIELD SUMMARY =========== -->
<li>
<section class="field-summary" id="field-summary">
<h2>Field Summary</h2>
<div class="inherited-list">
<h3 id="fields-inherited-from-class-org.apache.calcite.sql.SqlOperator">Fields inherited from class&nbsp;org.apache.calcite.sql.<a href="SqlOperator.html" title="class in org.apache.calcite.sql">SqlOperator</a></h3>
<code><a href="SqlOperator.html#kind">kind</a>, <a href="SqlOperator.html#MDX_PRECEDENCE">MDX_PRECEDENCE</a>, <a href="SqlOperator.html#NL">NL</a></code></div>
</section>
</li>
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<li>
<section class="constructor-summary" id="constructor-summary">
<h2>Constructor Summary</h2>
<div class="caption"><span>Constructors</span></div>
<div class="summary-table two-column-summary">
<div class="table-header col-first">Constructor</div>
<div class="table-header col-last">Description</div>
<div class="col-constructor-name even-row-color"><code><a href="#%3Cinit%3E(java.lang.String)" class="member-name-link">SqlJdbcFunctionCall</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>&nbsp;name)</code></div>
<div class="col-last even-row-color">&nbsp;</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-tab1" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab1', 3)" class="table-tab">Static 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-tab4" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab4', 3)" class="table-tab">Concrete 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-tab4"><code><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-tab4"><code><a href="#createCall(org.apache.calcite.sql.SqlLiteral,org.apache.calcite.sql.parser.SqlParserPos,org.apache.calcite.sql.SqlNode...)" class="member-name-link">createCall</a><wbr>(@Nullable <a href="SqlLiteral.html" title="class in org.apache.calcite.sql">SqlLiteral</a>&nbsp;functionQualifier,
<a href="parser/SqlParserPos.html" title="class in org.apache.calcite.sql.parser">SqlParserPos</a>&nbsp;pos,
@Nullable <a href="SqlNode.html" title="class in org.apache.calcite.sql">SqlNode</a>...&nbsp;operands)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Creates a call to this operator with an array of operands.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><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-tab4"><code><a href="#deriveType(org.apache.calcite.sql.validate.SqlValidator,org.apache.calcite.sql.validate.SqlValidatorScope,org.apache.calcite.sql.SqlCall)" class="member-name-link">deriveType</a><wbr>(<a href="validate/SqlValidator.html" title="interface in org.apache.calcite.sql.validate">SqlValidator</a>&nbsp;validator,
<a href="validate/SqlValidatorScope.html" title="interface in org.apache.calcite.sql.validate">SqlValidatorScope</a>&nbsp;scope,
<a href="SqlCall.html" title="class in org.apache.calcite.sql">SqlCall</a>&nbsp;call)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Derives the type of a call to this operator.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><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-tab4"><code><a href="#getAllowedSignatures(java.lang.String)" class="member-name-link">getAllowedSignatures</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>&nbsp;name)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Returns a string describing the expected operand types of a call, e.g.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="SqlCall.html" title="class in org.apache.calcite.sql">SqlCall</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getLookupCall()" class="member-name-link">getLookupCall</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">&nbsp;</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static <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-tab1 method-summary-table-tab4"><code><a href="#getNumericFunctions()" class="member-name-link">getNumericFunctions</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4">
<div class="block">As <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.sql/java/sql/DatabaseMetaData.html#getNumericFunctions()" title="class or interface in java.sql" class="external-link"><code>DatabaseMetaData.getNumericFunctions()</code></a>.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static <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-tab1 method-summary-table-tab4"><code><a href="#getStringFunctions()" class="member-name-link">getStringFunctions</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4">
<div class="block">As <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.sql/java/sql/DatabaseMetaData.html#getStringFunctions()" title="class or interface in java.sql" class="external-link"><code>DatabaseMetaData.getStringFunctions()</code></a>.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static <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-tab1 method-summary-table-tab4"><code><a href="#getSystemFunctions()" class="member-name-link">getSystemFunctions</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4">
<div class="block">As <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.sql/java/sql/DatabaseMetaData.html#getSystemFunctions()" title="class or interface in java.sql" class="external-link"><code>DatabaseMetaData.getSystemFunctions()</code></a>.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static <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-tab1 method-summary-table-tab4"><code><a href="#getTimeDateFunctions()" class="member-name-link">getTimeDateFunctions</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4">
<div class="block">As <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.sql/java/sql/DatabaseMetaData.html#getTimeDateFunctions()" title="class or interface in java.sql" class="external-link"><code>DatabaseMetaData.getTimeDateFunctions()</code></a>.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><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-tab4"><code><a href="#inferReturnType(org.apache.calcite.sql.SqlOperatorBinding)" class="member-name-link">inferReturnType</a><wbr>(<a href="SqlOperatorBinding.html" title="class in org.apache.calcite.sql">SqlOperatorBinding</a>&nbsp;opBinding)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Infers the return type of an invocation of this operator; only called
after the number and types of operands have already been validated.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><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-tab4"><code><a href="#rewriteCall(org.apache.calcite.sql.validate.SqlValidator,org.apache.calcite.sql.SqlCall)" class="member-name-link">rewriteCall</a><wbr>(<a href="validate/SqlValidator.html" title="interface in org.apache.calcite.sql.validate">SqlValidator</a>&nbsp;validator,
<a href="SqlCall.html" title="class in org.apache.calcite.sql">SqlCall</a>&nbsp;call)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Rewrites a call to this operator.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>void</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#unparse(org.apache.calcite.sql.SqlWriter,org.apache.calcite.sql.SqlCall,int,int)" class="member-name-link">unparse</a><wbr>(<a href="SqlWriter.html" title="interface in org.apache.calcite.sql">SqlWriter</a>&nbsp;writer,
<a href="SqlCall.html" title="class in org.apache.calcite.sql">SqlCall</a>&nbsp;call,
int&nbsp;leftPrec,
int&nbsp;rightPrec)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Writes a SQL representation of a call to this operator to a writer,
including parentheses if the operators on either side are of greater
precedence.</div>
</div>
</div>
</div>
</div>
<div class="inherited-list">
<h3 id="methods-inherited-from-class-org.apache.calcite.sql.SqlFunction">Methods inherited from class&nbsp;org.apache.calcite.sql.<a href="SqlFunction.html" title="class in org.apache.calcite.sql">SqlFunction</a></h3>
<code><a href="SqlFunction.html#getFunctionType()">getFunctionType</a>, <a href="SqlFunction.html#getNameAsId()">getNameAsId</a>, <a href="SqlFunction.html#getParamNames()">getParamNames</a>, <a href="SqlFunction.html#getParamTypes()">getParamTypes</a>, <a href="SqlFunction.html#getSqlIdentifier()">getSqlIdentifier</a>, <a href="SqlFunction.html#getSyntax()">getSyntax</a>, <a href="SqlFunction.html#isQuantifierAllowed()">isQuantifierAllowed</a>, <a href="SqlFunction.html#validateCall(org.apache.calcite.sql.SqlCall,org.apache.calcite.sql.validate.SqlValidator,org.apache.calcite.sql.validate.SqlValidatorScope,org.apache.calcite.sql.validate.SqlValidatorScope)">validateCall</a>, <a href="SqlFunction.html#validateQuantifier(org.apache.calcite.sql.validate.SqlValidator,org.apache.calcite.sql.SqlCall)">validateQuantifier</a></code></div>
<div class="inherited-list">
<h3 id="methods-inherited-from-class-org.apache.calcite.sql.SqlOperator">Methods inherited from class&nbsp;org.apache.calcite.sql.<a href="SqlOperator.html" title="class in org.apache.calcite.sql">SqlOperator</a></h3>
<code><a href="SqlOperator.html#acceptCall(org.apache.calcite.sql.util.SqlVisitor,org.apache.calcite.sql.SqlCall)">acceptCall</a>, <a href="SqlOperator.html#acceptCall(org.apache.calcite.sql.util.SqlVisitor,org.apache.calcite.sql.SqlCall,boolean,org.apache.calcite.sql.util.SqlBasicVisitor.ArgHandler)">acceptCall</a>, <a href="SqlOperator.html#adjustType(org.apache.calcite.sql.validate.SqlValidator,org.apache.calcite.sql.SqlCall,org.apache.calcite.rel.type.RelDataType)">adjustType</a>, <a href="SqlOperator.html#allowsFraming()">allowsFraming</a>, <a href="SqlOperator.html#argumentMustBeScalar(int)">argumentMustBeScalar</a>, <a href="SqlOperator.html#checkOperandCount(org.apache.calcite.sql.validate.SqlValidator,org.apache.calcite.sql.type.SqlOperandTypeChecker,org.apache.calcite.sql.SqlCall)">checkOperandCount</a>, <a href="SqlOperator.html#checkOperandTypes(org.apache.calcite.sql.SqlCallBinding,boolean)">checkOperandTypes</a>, <a href="SqlOperator.html#constructArgNameList(org.apache.calcite.sql.SqlCall)">constructArgNameList</a>, <a href="SqlOperator.html#constructArgTypeList(org.apache.calcite.sql.validate.SqlValidator,org.apache.calcite.sql.validate.SqlValidatorScope,org.apache.calcite.sql.SqlCall,java.util.List,boolean)">constructArgTypeList</a>, <a href="SqlOperator.html#constructOperandList(org.apache.calcite.sql.validate.SqlValidator,org.apache.calcite.sql.SqlCall,java.util.List)">constructOperandList</a>, <a href="SqlOperator.html#createCall(org.apache.calcite.sql.SqlLiteral,org.apache.calcite.sql.parser.SqlParserPos,java.lang.Iterable)">createCall</a>, <a href="SqlOperator.html#createCall(org.apache.calcite.sql.SqlLiteral,org.apache.calcite.sql.parser.SqlParserPos,org.apache.calcite.sql.SqlNodeList)">createCall</a>, <a href="SqlOperator.html#createCall(org.apache.calcite.sql.parser.SqlParserPos,org.apache.calcite.sql.SqlNode...)">createCall</a>, <a href="SqlOperator.html#createCall(org.apache.calcite.sql.parser.SqlParserPos,java.util.List)">createCall</a>, <a href="SqlOperator.html#createCall(org.apache.calcite.sql.parser.SqlParserPos,org.apache.calcite.sql.SqlNodeList)">createCall</a>, <a href="SqlOperator.html#createCall(org.apache.calcite.sql.SqlNodeList)">createCall</a>, <a href="SqlOperator.html#deriveOperandType(org.apache.calcite.sql.validate.SqlValidator,org.apache.calcite.sql.validate.SqlValidatorScope,int,org.apache.calcite.sql.SqlNode)">deriveOperandType</a>, <a href="SqlOperator.html#equals(java.lang.Object)">equals</a>, <a href="SqlOperator.html#getAllowedSignatures()">getAllowedSignatures</a>, <a href="SqlOperator.html#getKind()">getKind</a>, <a href="SqlOperator.html#getLeftPrec()">getLeftPrec</a>, <a href="SqlOperator.html#getMonotonicity(org.apache.calcite.sql.SqlCall,org.apache.calcite.sql.validate.SqlValidatorScope)">getMonotonicity</a>, <a href="SqlOperator.html#getMonotonicity(org.apache.calcite.sql.SqlOperatorBinding)">getMonotonicity</a>, <a href="SqlOperator.html#getName()">getName</a>, <a href="SqlOperator.html#getOperandCountRange()">getOperandCountRange</a>, <a href="SqlOperator.html#getOperandTypeChecker()">getOperandTypeChecker</a>, <a href="SqlOperator.html#getOperandTypeInference()">getOperandTypeInference</a>, <a href="SqlOperator.html#getReturnTypeInference()">getReturnTypeInference</a>, <a href="SqlOperator.html#getRightPrec()">getRightPrec</a>, <a href="SqlOperator.html#getSignatureTemplate(int)">getSignatureTemplate</a>, <a href="SqlOperator.html#getStrongPolicyInference()">getStrongPolicyInference</a>, <a href="SqlOperator.html#hashCode()">hashCode</a>, <a href="SqlOperator.html#inferReturnType(org.apache.calcite.rel.type.RelDataTypeFactory,java.util.List)">inferReturnType</a>, <a href="SqlOperator.html#isAggregator()">isAggregator</a>, <a href="SqlOperator.html#isDeterministic()">isDeterministic</a>, <a href="SqlOperator.html#isDynamicFunction()">isDynamicFunction</a>, <a href="SqlOperator.html#isGroup()">isGroup</a>, <a href="SqlOperator.html#isGroupAuxiliary()">isGroupAuxiliary</a>, <a href="SqlOperator.html#isName(java.lang.String,boolean)">isName</a>, <a href="SqlOperator.html#isSymmetrical()">isSymmetrical</a>, <a href="SqlOperator.html#leftPrec(int,boolean)">leftPrec</a>, <a href="SqlOperator.html#not()">not</a>, <a href="SqlOperator.html#preValidateCall(org.apache.calcite.sql.validate.SqlValidator,org.apache.calcite.sql.validate.SqlValidatorScope,org.apache.calcite.sql.SqlCall)">preValidateCall</a>, <a href="SqlOperator.html#requiresDecimalExpansion()">requiresDecimalExpansion</a>, <a href="SqlOperator.html#requiresOrder()">requiresOrder</a>, <a href="SqlOperator.html#requiresOver()">requiresOver</a>, <a href="SqlOperator.html#reverse()">reverse</a>, <a href="SqlOperator.html#rightPrec(int,boolean)">rightPrec</a>, <a href="SqlOperator.html#toString()">toString</a>, <a href="SqlOperator.html#unparseListClause(org.apache.calcite.sql.SqlWriter,org.apache.calcite.sql.SqlNode)">unparseListClause</a>, <a href="SqlOperator.html#unparseListClause(org.apache.calcite.sql.SqlWriter,org.apache.calcite.sql.SqlNode,org.apache.calcite.sql.SqlKind)">unparseListClause</a>, <a href="SqlOperator.html#validateOperands(org.apache.calcite.sql.validate.SqlValidator,org.apache.calcite.sql.validate.SqlValidatorScope,org.apache.calcite.sql.SqlCall)">validateOperands</a>, <a href="SqlOperator.html#validRexOperands(int,org.apache.calcite.util.Litmus)">validRexOperands</a></code></div>
<div class="inherited-list">
<h3 id="methods-inherited-from-class-java.lang.Object">Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a></h3>
<code><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#clone()" title="class or interface in java.lang" class="external-link">clone</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#finalize()" title="class or interface in java.lang" class="external-link">finalize</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#getClass()" title="class or interface in java.lang" class="external-link">getClass</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#notify()" title="class or interface in java.lang" class="external-link">notify</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#notifyAll()" title="class or interface in java.lang" class="external-link">notifyAll</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#wait()" title="class or interface in java.lang" class="external-link">wait</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#wait(long)" title="class or interface in java.lang" class="external-link">wait</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#wait(long,int)" title="class or interface in java.lang" class="external-link">wait</a></code></div>
</section>
</li>
</ul>
</section>
<section class="details">
<ul class="details-list">
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<li>
<section class="constructor-details" id="constructor-detail">
<h2>Constructor Details</h2>
<ul class="member-list">
<li>
<section class="detail" id="&lt;init&gt;(java.lang.String)">
<h3>SqlJdbcFunctionCall</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="element-name">SqlJdbcFunctionCall</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>&nbsp;name)</span></div>
</section>
</li>
</ul>
</section>
</li>
<!-- ============ METHOD DETAIL ========== -->
<li>
<section class="method-details" id="method-detail">
<h2>Method Details</h2>
<ul class="member-list">
<li>
<section class="detail" id="createCall(org.apache.calcite.sql.SqlLiteral,org.apache.calcite.sql.parser.SqlParserPos,org.apache.calcite.sql.SqlNode...)">
<h3>createCall</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="SqlCall.html" title="class in org.apache.calcite.sql">SqlCall</a></span>&nbsp;<span class="element-name">createCall</span><wbr><span class="parameters">(@Nullable <a href="SqlLiteral.html" title="class in org.apache.calcite.sql">SqlLiteral</a>&nbsp;functionQualifier,
<a href="parser/SqlParserPos.html" title="class in org.apache.calcite.sql.parser">SqlParserPos</a>&nbsp;pos,
@Nullable <a href="SqlNode.html" title="class in org.apache.calcite.sql">SqlNode</a>...&nbsp;operands)</span></div>
<div class="block"><span class="descfrm-type-label">Description copied from class:&nbsp;<code><a href="SqlOperator.html#createCall(org.apache.calcite.sql.SqlLiteral,org.apache.calcite.sql.parser.SqlParserPos,org.apache.calcite.sql.SqlNode...)">SqlOperator</a></code></span></div>
<div class="block">Creates a call to this operator with an array of operands.
<p>The position of the resulting call is the union of the <code>pos</code>
and the positions of all of the operands.</div>
<dl class="notes">
<dt>Overrides:</dt>
<dd><code><a href="SqlOperator.html#createCall(org.apache.calcite.sql.SqlLiteral,org.apache.calcite.sql.parser.SqlParserPos,org.apache.calcite.sql.SqlNode...)">createCall</a></code>&nbsp;in class&nbsp;<code><a href="SqlOperator.html" title="class in org.apache.calcite.sql">SqlOperator</a></code></dd>
<dt>Parameters:</dt>
<dd><code>functionQualifier</code> - Function qualifier (e.g. "DISTINCT"), or null</dd>
<dd><code>pos</code> - Parser position of the identifier of the call</dd>
<dd><code>operands</code> - Array of operands</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="rewriteCall(org.apache.calcite.sql.validate.SqlValidator,org.apache.calcite.sql.SqlCall)">
<h3>rewriteCall</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="SqlNode.html" title="class in org.apache.calcite.sql">SqlNode</a></span>&nbsp;<span class="element-name">rewriteCall</span><wbr><span class="parameters">(<a href="validate/SqlValidator.html" title="interface in org.apache.calcite.sql.validate">SqlValidator</a>&nbsp;validator,
<a href="SqlCall.html" title="class in org.apache.calcite.sql">SqlCall</a>&nbsp;call)</span></div>
<div class="block"><span class="descfrm-type-label">Description copied from class:&nbsp;<code><a href="SqlOperator.html#rewriteCall(org.apache.calcite.sql.validate.SqlValidator,org.apache.calcite.sql.SqlCall)">SqlOperator</a></code></span></div>
<div class="block">Rewrites a call to this operator. Some operators are implemented as
trivial rewrites (e.g. NULLIF becomes CASE). However, we don't do this at
createCall time because we want to preserve the original SQL syntax as
much as possible; instead, we do this before the call is validated (so
the trivial operator doesn't need its own implementation of type
derivation methods). The default implementation is to just return the
original call without any rewrite.</div>
<dl class="notes">
<dt>Overrides:</dt>
<dd><code><a href="SqlOperator.html#rewriteCall(org.apache.calcite.sql.validate.SqlValidator,org.apache.calcite.sql.SqlCall)">rewriteCall</a></code>&nbsp;in class&nbsp;<code><a href="SqlOperator.html" title="class in org.apache.calcite.sql">SqlOperator</a></code></dd>
<dt>Parameters:</dt>
<dd><code>validator</code> - Validator</dd>
<dd><code>call</code> - Call to be rewritten</dd>
<dt>Returns:</dt>
<dd>rewritten call</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getLookupCall()">
<h3>getLookupCall</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="SqlCall.html" title="class in org.apache.calcite.sql">SqlCall</a></span>&nbsp;<span class="element-name">getLookupCall</span>()</div>
</section>
</li>
<li>
<section class="detail" id="getAllowedSignatures(java.lang.String)">
<h3>getAllowedSignatures</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><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>&nbsp;<span class="element-name">getAllowedSignatures</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>&nbsp;name)</span></div>
<div class="block"><span class="descfrm-type-label">Description copied from class:&nbsp;<code><a href="SqlOperator.html#getAllowedSignatures(java.lang.String)">SqlOperator</a></code></span></div>
<div class="block">Returns a string describing the expected operand types of a call, e.g.
"SUBSTRING(VARCHAR, INTEGER, INTEGER)" where the name (SUBSTRING in this
example) can be replaced by a specified name.</div>
<dl class="notes">
<dt>Overrides:</dt>
<dd><code><a href="SqlOperator.html#getAllowedSignatures(java.lang.String)">getAllowedSignatures</a></code>&nbsp;in class&nbsp;<code><a href="SqlOperator.html" title="class in org.apache.calcite.sql">SqlOperator</a></code></dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="deriveType(org.apache.calcite.sql.validate.SqlValidator,org.apache.calcite.sql.validate.SqlValidatorScope,org.apache.calcite.sql.SqlCall)">
<h3>deriveType</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a></span>&nbsp;<span class="element-name">deriveType</span><wbr><span class="parameters">(<a href="validate/SqlValidator.html" title="interface in org.apache.calcite.sql.validate">SqlValidator</a>&nbsp;validator,
<a href="validate/SqlValidatorScope.html" title="interface in org.apache.calcite.sql.validate">SqlValidatorScope</a>&nbsp;scope,
<a href="SqlCall.html" title="class in org.apache.calcite.sql">SqlCall</a>&nbsp;call)</span></div>
<div class="block"><span class="descfrm-type-label">Description copied from class:&nbsp;<code><a href="SqlOperator.html#deriveType(org.apache.calcite.sql.validate.SqlValidator,org.apache.calcite.sql.validate.SqlValidatorScope,org.apache.calcite.sql.SqlCall)">SqlOperator</a></code></span></div>
<div class="block">Derives the type of a call to this operator.
<p>This method is an intrinsic part of the validation process so, unlike
<a href="SqlOperator.html#inferReturnType(org.apache.calcite.sql.SqlOperatorBinding)"><code>SqlOperator.inferReturnType(org.apache.calcite.sql.SqlOperatorBinding)</code></a>, specific operators would not typically override
this method.</div>
<dl class="notes">
<dt>Overrides:</dt>
<dd><code><a href="SqlFunction.html#deriveType(org.apache.calcite.sql.validate.SqlValidator,org.apache.calcite.sql.validate.SqlValidatorScope,org.apache.calcite.sql.SqlCall)">deriveType</a></code>&nbsp;in class&nbsp;<code><a href="SqlFunction.html" title="class in org.apache.calcite.sql">SqlFunction</a></code></dd>
<dt>Parameters:</dt>
<dd><code>validator</code> - Validator</dd>
<dd><code>scope</code> - Scope of validation</dd>
<dd><code>call</code> - Call to this operator</dd>
<dt>Returns:</dt>
<dd>Type of call</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="inferReturnType(org.apache.calcite.sql.SqlOperatorBinding)">
<h3>inferReturnType</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a></span>&nbsp;<span class="element-name">inferReturnType</span><wbr><span class="parameters">(<a href="SqlOperatorBinding.html" title="class in org.apache.calcite.sql">SqlOperatorBinding</a>&nbsp;opBinding)</span></div>
<div class="block"><span class="descfrm-type-label">Description copied from class:&nbsp;<code><a href="SqlOperator.html#inferReturnType(org.apache.calcite.sql.SqlOperatorBinding)">SqlOperator</a></code></span></div>
<div class="block">Infers the return type of an invocation of this operator; only called
after the number and types of operands have already been validated.
Subclasses must either override this method or supply an instance of
<a href="type/SqlReturnTypeInference.html" title="interface in org.apache.calcite.sql.type"><code>SqlReturnTypeInference</code></a> to the constructor.</div>
<dl class="notes">
<dt>Overrides:</dt>
<dd><code><a href="SqlOperator.html#inferReturnType(org.apache.calcite.sql.SqlOperatorBinding)">inferReturnType</a></code>&nbsp;in class&nbsp;<code><a href="SqlOperator.html" title="class in org.apache.calcite.sql">SqlOperator</a></code></dd>
<dt>Parameters:</dt>
<dd><code>opBinding</code> - description of invocation (not necessarily a
<a href="SqlCall.html" title="class in org.apache.calcite.sql"><code>SqlCall</code></a>)</dd>
<dt>Returns:</dt>
<dd>inferred return type</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="unparse(org.apache.calcite.sql.SqlWriter,org.apache.calcite.sql.SqlCall,int,int)">
<h3>unparse</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">unparse</span><wbr><span class="parameters">(<a href="SqlWriter.html" title="interface in org.apache.calcite.sql">SqlWriter</a>&nbsp;writer,
<a href="SqlCall.html" title="class in org.apache.calcite.sql">SqlCall</a>&nbsp;call,
int&nbsp;leftPrec,
int&nbsp;rightPrec)</span></div>
<div class="block"><span class="descfrm-type-label">Description copied from class:&nbsp;<code><a href="SqlOperator.html#unparse(org.apache.calcite.sql.SqlWriter,org.apache.calcite.sql.SqlCall,int,int)">SqlOperator</a></code></span></div>
<div class="block">Writes a SQL representation of a call to this operator to a writer,
including parentheses if the operators on either side are of greater
precedence.
<p>The default implementation of this method delegates to
<a href="SqlSyntax.html#unparse(org.apache.calcite.sql.SqlWriter,org.apache.calcite.sql.SqlOperator,org.apache.calcite.sql.SqlCall,int,int)"><code>SqlSyntax.unparse(org.apache.calcite.sql.SqlWriter, org.apache.calcite.sql.SqlOperator, org.apache.calcite.sql.SqlCall, int, int)</code></a>.</div>
<dl class="notes">
<dt>Overrides:</dt>
<dd><code><a href="SqlFunction.html#unparse(org.apache.calcite.sql.SqlWriter,org.apache.calcite.sql.SqlCall,int,int)">unparse</a></code>&nbsp;in class&nbsp;<code><a href="SqlFunction.html" title="class in org.apache.calcite.sql">SqlFunction</a></code></dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getNumericFunctions()">
<h3>getNumericFunctions</h3>
<div class="member-signature"><span class="modifiers">public static</span>&nbsp;<span class="return-type"><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>&nbsp;<span class="element-name">getNumericFunctions</span>()</div>
<div class="block">As <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.sql/java/sql/DatabaseMetaData.html#getNumericFunctions()" title="class or interface in java.sql" class="external-link"><code>DatabaseMetaData.getNumericFunctions()</code></a>.</div>
</section>
</li>
<li>
<section class="detail" id="getStringFunctions()">
<h3>getStringFunctions</h3>
<div class="member-signature"><span class="modifiers">public static</span>&nbsp;<span class="return-type"><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>&nbsp;<span class="element-name">getStringFunctions</span>()</div>
<div class="block">As <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.sql/java/sql/DatabaseMetaData.html#getStringFunctions()" title="class or interface in java.sql" class="external-link"><code>DatabaseMetaData.getStringFunctions()</code></a>.</div>
</section>
</li>
<li>
<section class="detail" id="getTimeDateFunctions()">
<h3>getTimeDateFunctions</h3>
<div class="member-signature"><span class="modifiers">public static</span>&nbsp;<span class="return-type"><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>&nbsp;<span class="element-name">getTimeDateFunctions</span>()</div>
<div class="block">As <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.sql/java/sql/DatabaseMetaData.html#getTimeDateFunctions()" title="class or interface in java.sql" class="external-link"><code>DatabaseMetaData.getTimeDateFunctions()</code></a>.</div>
</section>
</li>
<li>
<section class="detail" id="getSystemFunctions()">
<h3>getSystemFunctions</h3>
<div class="member-signature"><span class="modifiers">public static</span>&nbsp;<span class="return-type"><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>&nbsp;<span class="element-name">getSystemFunctions</span>()</div>
<div class="block">As <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.sql/java/sql/DatabaseMetaData.html#getSystemFunctions()" title="class or interface in java.sql" class="external-link"><code>DatabaseMetaData.getSystemFunctions()</code></a>.</div>
</section>
</li>
</ul>
</section>
</li>
</ul>
</section>
<!-- ========= END OF CLASS DATA ========= -->
</main>
<footer role="contentinfo">
<hr>
<p class="legal-copy"><small>Copyright &copy; 2012-2023 Apache Software Foundation. All Rights Reserved.</small></p>
</footer>
</div>
</div>
</body>
</html>