blob: 9dccb59274ebfa86626577e442d2353e9dc85668 [file] [log] [blame]
<!DOCTYPE HTML>
<html lang="en">
<head>
<!-- Generated by javadoc (17) -->
<title>SqlBasicFunction (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: SqlBasicFunction">
<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>Nested&nbsp;|&nbsp;</li>
<li><a href="#field-summary">Field</a>&nbsp;|&nbsp;</li>
<li>Constr&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>Constr&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 SqlBasicFunction" class="title">Class SqlBasicFunction</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.SqlBasicFunction</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">SqlBasicFunction</span>
<span class="extends-implements">extends <a href="SqlFunction.html" title="class in org.apache.calcite.sql">SqlFunction</a></span></div>
<div class="block">Concrete implementation of <a href="SqlFunction.html" title="class in org.apache.calcite.sql"><code>SqlFunction</code></a>.
<p>The class is final, and instances are immutable.
<p>Instances are created only by <a href="#create(org.apache.calcite.sql.SqlKind,org.apache.calcite.sql.type.SqlReturnTypeInference,org.apache.calcite.sql.type.SqlOperandTypeChecker)"><code>create(org.apache.calcite.sql.SqlKind, org.apache.calcite.sql.type.SqlReturnTypeInference, org.apache.calcite.sql.type.SqlOperandTypeChecker)</code></a> and are
"modified" by "wither" methods such as <a href="#withName(java.lang.String)"><code>withName(java.lang.String)</code></a> to create a new
instance with one property changed. Since the class is final, you can modify
behavior only by providing strategy objects, not by overriding methods in a
subclass.</div>
</section>
<section class="summary">
<ul class="summary-list">
<!-- =========== 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>
<!-- ========== 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-tab1 method-summary-table-tab4"><code>static <a href="SqlBasicFunction.html" title="class in org.apache.calcite.sql">SqlBasicFunction</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#create(java.lang.String,org.apache.calcite.sql.type.SqlReturnTypeInference,org.apache.calcite.sql.type.SqlOperandTypeChecker)" class="member-name-link">create</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,
<a href="type/SqlReturnTypeInference.html" title="interface in org.apache.calcite.sql.type">SqlReturnTypeInference</a>&nbsp;returnTypeInference,
<a href="type/SqlOperandTypeChecker.html" title="interface in org.apache.calcite.sql.type">SqlOperandTypeChecker</a>&nbsp;operandTypeChecker)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4">
<div class="block">Creates a <code>SqlBasicFunction</code>
with kind <a href="SqlKind.html#OTHER_FUNCTION"><code>SqlKind.OTHER_FUNCTION</code></a>
and category <a href="SqlFunctionCategory.html#NUMERIC"><code>SqlFunctionCategory.NUMERIC</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="SqlBasicFunction.html" title="class in org.apache.calcite.sql">SqlBasicFunction</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#create(java.lang.String,org.apache.calcite.sql.type.SqlReturnTypeInference,org.apache.calcite.sql.type.SqlOperandTypeChecker,org.apache.calcite.sql.SqlFunctionCategory)" class="member-name-link">create</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,
<a href="type/SqlReturnTypeInference.html" title="interface in org.apache.calcite.sql.type">SqlReturnTypeInference</a>&nbsp;returnTypeInference,
<a href="type/SqlOperandTypeChecker.html" title="interface in org.apache.calcite.sql.type">SqlOperandTypeChecker</a>&nbsp;operandTypeChecker,
<a href="SqlFunctionCategory.html" title="enum in org.apache.calcite.sql">SqlFunctionCategory</a>&nbsp;category)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4">
<div class="block">Creates a <code>SqlBasicFunction</code>
with kind <a href="SqlKind.html#OTHER_FUNCTION"><code>SqlKind.OTHER_FUNCTION</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="SqlBasicFunction.html" title="class in org.apache.calcite.sql">SqlBasicFunction</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#create(org.apache.calcite.sql.SqlKind,org.apache.calcite.sql.type.SqlReturnTypeInference,org.apache.calcite.sql.type.SqlOperandTypeChecker)" class="member-name-link">create</a><wbr>(<a href="SqlKind.html" title="enum in org.apache.calcite.sql">SqlKind</a>&nbsp;kind,
<a href="type/SqlReturnTypeInference.html" title="interface in org.apache.calcite.sql.type">SqlReturnTypeInference</a>&nbsp;returnTypeInference,
<a href="type/SqlOperandTypeChecker.html" title="interface in org.apache.calcite.sql.type">SqlOperandTypeChecker</a>&nbsp;operandTypeChecker)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4">
<div class="block">Creates a <code>SqlBasicFunction</code> whose name is the same as its kind
and whose category <a href="SqlFunctionCategory.html#SYSTEM"><code>SqlFunctionCategory.SYSTEM</code></a>.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="validate/SqlMonotonicity.html" title="enum in org.apache.calcite.sql.validate">SqlMonotonicity</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getMonotonicity(org.apache.calcite.sql.SqlOperatorBinding)" class="member-name-link">getMonotonicity</a><wbr>(<a href="SqlOperatorBinding.html" title="class in org.apache.calcite.sql">SqlOperatorBinding</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">Returns whether a call to this operator is monotonic.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="type/SqlOperandTypeChecker.html" title="interface in org.apache.calcite.sql.type">SqlOperandTypeChecker</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getOperandTypeChecker()" class="member-name-link">getOperandTypeChecker</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">&nbsp;</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="type/SqlReturnTypeInference.html" title="interface in org.apache.calcite.sql.type">SqlReturnTypeInference</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getReturnTypeInference()" class="member-name-link">getReturnTypeInference</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Returns the return type inference strategy for this operator, or null if
return type inference is implemented by a subclass override.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="SqlSyntax.html" title="enum in org.apache.calcite.sql">SqlSyntax</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getSyntax()" class="member-name-link">getSyntax</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Returns the syntactic type of this operator, never null.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>boolean</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#isDeterministic()" class="member-name-link">isDeterministic</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Returns whether a call to this operator is guaranteed to always return
the same result given the same operands; true is assumed by default.</div>
</div>
<div class="col-first even-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 even-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 even-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 odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="SqlBasicFunction.html" title="class in org.apache.calcite.sql">SqlBasicFunction</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#withDeterministic(boolean)" class="member-name-link">withDeterministic</a><wbr>(boolean&nbsp;deterministic)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Returns a copy of this function with a given determinism.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="SqlBasicFunction.html" title="class in org.apache.calcite.sql">SqlBasicFunction</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#withFunctionType(org.apache.calcite.sql.SqlFunctionCategory)" class="member-name-link">withFunctionType</a><wbr>(<a href="SqlFunctionCategory.html" title="enum in org.apache.calcite.sql">SqlFunctionCategory</a>&nbsp;category)</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 copy of this function with a given category.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="SqlBasicFunction.html" title="class in org.apache.calcite.sql">SqlBasicFunction</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#withKind(org.apache.calcite.sql.SqlKind)" class="member-name-link">withKind</a><wbr>(<a href="SqlKind.html" title="enum in org.apache.calcite.sql">SqlKind</a>&nbsp;kind)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Returns a copy of this function with a given kind.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="SqlBasicFunction.html" title="class in org.apache.calcite.sql">SqlBasicFunction</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#withMonotonicityInference(java.util.function.Function)" class="member-name-link">withMonotonicityInference</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/function/Function.html" title="class or interface in java.util.function" class="external-link">Function</a>&lt;<a href="SqlOperatorBinding.html" title="class in org.apache.calcite.sql">SqlOperatorBinding</a>,<wbr><a href="validate/SqlMonotonicity.html" title="enum in org.apache.calcite.sql.validate">SqlMonotonicity</a>&gt;&nbsp;monotonicityInference)</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 copy of this function with a given strategy for inferring
whether a call is monotonic.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="SqlBasicFunction.html" title="class in org.apache.calcite.sql">SqlBasicFunction</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#withName(java.lang.String)" class="member-name-link">withName</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 odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Returns a copy of this function with a given name.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="SqlBasicFunction.html" title="class in org.apache.calcite.sql">SqlBasicFunction</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#withOperandHandler(org.apache.calcite.sql.type.SqlOperandHandler)" class="member-name-link">withOperandHandler</a><wbr>(<a href="type/SqlOperandHandler.html" title="interface in org.apache.calcite.sql.type">SqlOperandHandler</a>&nbsp;operandHandler)</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 copy of this function with a given strategy for handling
operands.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="SqlBasicFunction.html" title="class in org.apache.calcite.sql">SqlBasicFunction</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#withOperandTypeInference(org.apache.calcite.sql.type.SqlOperandTypeInference)" class="member-name-link">withOperandTypeInference</a><wbr>(<a href="type/SqlOperandTypeInference.html" title="interface in org.apache.calcite.sql.type">SqlOperandTypeInference</a>&nbsp;operandTypeInference)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Returns a copy of this function with a given strategy for inferring
the types of its operands.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="SqlBasicFunction.html" title="class in org.apache.calcite.sql">SqlBasicFunction</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#withSyntax(org.apache.calcite.sql.SqlSyntax)" class="member-name-link">withSyntax</a><wbr>(<a href="SqlSyntax.html" title="enum in org.apache.calcite.sql">SqlSyntax</a>&nbsp;syntax)</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 copy of this function with a given syntax.</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#deriveType(org.apache.calcite.sql.validate.SqlValidator,org.apache.calcite.sql.validate.SqlValidatorScope,org.apache.calcite.sql.SqlCall)">deriveType</a>, <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#isQuantifierAllowed()">isQuantifierAllowed</a>, <a href="SqlFunction.html#unparse(org.apache.calcite.sql.SqlWriter,org.apache.calcite.sql.SqlCall,int,int)">unparse</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,org.apache.calcite.sql.SqlNode...)">createCall</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#getAllowedSignatures(java.lang.String)">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#getName()">getName</a>, <a href="SqlOperator.html#getOperandCountRange()">getOperandCountRange</a>, <a href="SqlOperator.html#getOperandTypeInference()">getOperandTypeInference</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#inferReturnType(org.apache.calcite.sql.SqlOperatorBinding)">inferReturnType</a>, <a href="SqlOperator.html#isAggregator()">isAggregator</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">
<!-- ============ METHOD DETAIL ========== -->
<li>
<section class="method-details" id="method-detail">
<h2>Method Details</h2>
<ul class="member-list">
<li>
<section class="detail" id="create(org.apache.calcite.sql.SqlKind,org.apache.calcite.sql.type.SqlReturnTypeInference,org.apache.calcite.sql.type.SqlOperandTypeChecker)">
<h3>create</h3>
<div class="member-signature"><span class="modifiers">public static</span>&nbsp;<span class="return-type"><a href="SqlBasicFunction.html" title="class in org.apache.calcite.sql">SqlBasicFunction</a></span>&nbsp;<span class="element-name">create</span><wbr><span class="parameters">(<a href="SqlKind.html" title="enum in org.apache.calcite.sql">SqlKind</a>&nbsp;kind,
<a href="type/SqlReturnTypeInference.html" title="interface in org.apache.calcite.sql.type">SqlReturnTypeInference</a>&nbsp;returnTypeInference,
<a href="type/SqlOperandTypeChecker.html" title="interface in org.apache.calcite.sql.type">SqlOperandTypeChecker</a>&nbsp;operandTypeChecker)</span></div>
<div class="block">Creates a <code>SqlBasicFunction</code> whose name is the same as its kind
and whose category <a href="SqlFunctionCategory.html#SYSTEM"><code>SqlFunctionCategory.SYSTEM</code></a>.</div>
</section>
</li>
<li>
<section class="detail" id="create(java.lang.String,org.apache.calcite.sql.type.SqlReturnTypeInference,org.apache.calcite.sql.type.SqlOperandTypeChecker)">
<h3>create</h3>
<div class="member-signature"><span class="modifiers">public static</span>&nbsp;<span class="return-type"><a href="SqlBasicFunction.html" title="class in org.apache.calcite.sql">SqlBasicFunction</a></span>&nbsp;<span class="element-name">create</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,
<a href="type/SqlReturnTypeInference.html" title="interface in org.apache.calcite.sql.type">SqlReturnTypeInference</a>&nbsp;returnTypeInference,
<a href="type/SqlOperandTypeChecker.html" title="interface in org.apache.calcite.sql.type">SqlOperandTypeChecker</a>&nbsp;operandTypeChecker)</span></div>
<div class="block">Creates a <code>SqlBasicFunction</code>
with kind <a href="SqlKind.html#OTHER_FUNCTION"><code>SqlKind.OTHER_FUNCTION</code></a>
and category <a href="SqlFunctionCategory.html#NUMERIC"><code>SqlFunctionCategory.NUMERIC</code></a>.</div>
</section>
</li>
<li>
<section class="detail" id="create(java.lang.String,org.apache.calcite.sql.type.SqlReturnTypeInference,org.apache.calcite.sql.type.SqlOperandTypeChecker,org.apache.calcite.sql.SqlFunctionCategory)">
<h3>create</h3>
<div class="member-signature"><span class="modifiers">public static</span>&nbsp;<span class="return-type"><a href="SqlBasicFunction.html" title="class in org.apache.calcite.sql">SqlBasicFunction</a></span>&nbsp;<span class="element-name">create</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,
<a href="type/SqlReturnTypeInference.html" title="interface in org.apache.calcite.sql.type">SqlReturnTypeInference</a>&nbsp;returnTypeInference,
<a href="type/SqlOperandTypeChecker.html" title="interface in org.apache.calcite.sql.type">SqlOperandTypeChecker</a>&nbsp;operandTypeChecker,
<a href="SqlFunctionCategory.html" title="enum in org.apache.calcite.sql">SqlFunctionCategory</a>&nbsp;category)</span></div>
<div class="block">Creates a <code>SqlBasicFunction</code>
with kind <a href="SqlKind.html#OTHER_FUNCTION"><code>SqlKind.OTHER_FUNCTION</code></a>.</div>
</section>
</li>
<li>
<section class="detail" id="getReturnTypeInference()">
<h3>getReturnTypeInference</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="type/SqlReturnTypeInference.html" title="interface in org.apache.calcite.sql.type">SqlReturnTypeInference</a></span>&nbsp;<span class="element-name">getReturnTypeInference</span>()</div>
<div class="block"><span class="descfrm-type-label">Description copied from class:&nbsp;<code><a href="SqlOperator.html#getReturnTypeInference()">SqlOperator</a></code></span></div>
<div class="block">Returns the return type inference strategy for this operator, or null if
return type inference is implemented by a subclass override.</div>
<dl class="notes">
<dt>Overrides:</dt>
<dd><code><a href="SqlOperator.html#getReturnTypeInference()">getReturnTypeInference</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="getOperandTypeChecker()">
<h3>getOperandTypeChecker</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="type/SqlOperandTypeChecker.html" title="interface in org.apache.calcite.sql.type">SqlOperandTypeChecker</a></span>&nbsp;<span class="element-name">getOperandTypeChecker</span>()</div>
<dl class="notes">
<dt>Overrides:</dt>
<dd><code><a href="SqlOperator.html#getOperandTypeChecker()">getOperandTypeChecker</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="getSyntax()">
<h3>getSyntax</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="SqlSyntax.html" title="enum in org.apache.calcite.sql">SqlSyntax</a></span>&nbsp;<span class="element-name">getSyntax</span>()</div>
<div class="block"><span class="descfrm-type-label">Description copied from class:&nbsp;<code><a href="SqlOperator.html#getSyntax()">SqlOperator</a></code></span></div>
<div class="block">Returns the syntactic type of this operator, never null.</div>
<dl class="notes">
<dt>Overrides:</dt>
<dd><code><a href="SqlFunction.html#getSyntax()">getSyntax</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="isDeterministic()">
<h3>isDeterministic</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">boolean</span>&nbsp;<span class="element-name">isDeterministic</span>()</div>
<div class="block"><span class="descfrm-type-label">Description copied from class:&nbsp;<code><a href="SqlOperator.html#isDeterministic()">SqlOperator</a></code></span></div>
<div class="block">Returns whether a call to this operator is guaranteed to always return
the same result given the same operands; true is assumed by default.</div>
<dl class="notes">
<dt>Overrides:</dt>
<dd><code><a href="SqlOperator.html#isDeterministic()">isDeterministic</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="getMonotonicity(org.apache.calcite.sql.SqlOperatorBinding)">
<h3>getMonotonicity</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="validate/SqlMonotonicity.html" title="enum in org.apache.calcite.sql.validate">SqlMonotonicity</a></span>&nbsp;<span class="element-name">getMonotonicity</span><wbr><span class="parameters">(<a href="SqlOperatorBinding.html" title="class in org.apache.calcite.sql">SqlOperatorBinding</a>&nbsp;call)</span></div>
<div class="block"><span class="descfrm-type-label">Description copied from class:&nbsp;<code><a href="SqlOperator.html#getMonotonicity(org.apache.calcite.sql.SqlOperatorBinding)">SqlOperator</a></code></span></div>
<div class="block">Returns whether a call to this operator is monotonic.
<p>Default implementation returns <a href="validate/SqlMonotonicity.html#NOT_MONOTONIC"><code>SqlMonotonicity.NOT_MONOTONIC</code></a>.</div>
<dl class="notes">
<dt>Overrides:</dt>
<dd><code><a href="SqlOperator.html#getMonotonicity(org.apache.calcite.sql.SqlOperatorBinding)">getMonotonicity</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>call</code> - Call to this operator with particular arguments and information
about the monotonicity of the arguments</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="withName(java.lang.String)">
<h3>withName</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="SqlBasicFunction.html" title="class in org.apache.calcite.sql">SqlBasicFunction</a></span>&nbsp;<span class="element-name">withName</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">Returns a copy of this function with a given name.</div>
</section>
</li>
<li>
<section class="detail" id="withKind(org.apache.calcite.sql.SqlKind)">
<h3>withKind</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="SqlBasicFunction.html" title="class in org.apache.calcite.sql">SqlBasicFunction</a></span>&nbsp;<span class="element-name">withKind</span><wbr><span class="parameters">(<a href="SqlKind.html" title="enum in org.apache.calcite.sql">SqlKind</a>&nbsp;kind)</span></div>
<div class="block">Returns a copy of this function with a given kind.</div>
</section>
</li>
<li>
<section class="detail" id="withFunctionType(org.apache.calcite.sql.SqlFunctionCategory)">
<h3>withFunctionType</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="SqlBasicFunction.html" title="class in org.apache.calcite.sql">SqlBasicFunction</a></span>&nbsp;<span class="element-name">withFunctionType</span><wbr><span class="parameters">(<a href="SqlFunctionCategory.html" title="enum in org.apache.calcite.sql">SqlFunctionCategory</a>&nbsp;category)</span></div>
<div class="block">Returns a copy of this function with a given category.</div>
</section>
</li>
<li>
<section class="detail" id="withSyntax(org.apache.calcite.sql.SqlSyntax)">
<h3>withSyntax</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="SqlBasicFunction.html" title="class in org.apache.calcite.sql">SqlBasicFunction</a></span>&nbsp;<span class="element-name">withSyntax</span><wbr><span class="parameters">(<a href="SqlSyntax.html" title="enum in org.apache.calcite.sql">SqlSyntax</a>&nbsp;syntax)</span></div>
<div class="block">Returns a copy of this function with a given syntax.</div>
</section>
</li>
<li>
<section class="detail" id="withOperandTypeInference(org.apache.calcite.sql.type.SqlOperandTypeInference)">
<h3>withOperandTypeInference</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="SqlBasicFunction.html" title="class in org.apache.calcite.sql">SqlBasicFunction</a></span>&nbsp;<span class="element-name">withOperandTypeInference</span><wbr><span class="parameters">(<a href="type/SqlOperandTypeInference.html" title="interface in org.apache.calcite.sql.type">SqlOperandTypeInference</a>&nbsp;operandTypeInference)</span></div>
<div class="block">Returns a copy of this function with a given strategy for inferring
the types of its operands.</div>
</section>
</li>
<li>
<section class="detail" id="withOperandHandler(org.apache.calcite.sql.type.SqlOperandHandler)">
<h3>withOperandHandler</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="SqlBasicFunction.html" title="class in org.apache.calcite.sql">SqlBasicFunction</a></span>&nbsp;<span class="element-name">withOperandHandler</span><wbr><span class="parameters">(<a href="type/SqlOperandHandler.html" title="interface in org.apache.calcite.sql.type">SqlOperandHandler</a>&nbsp;operandHandler)</span></div>
<div class="block">Returns a copy of this function with a given strategy for handling
operands.</div>
</section>
</li>
<li>
<section class="detail" id="withDeterministic(boolean)">
<h3>withDeterministic</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="SqlBasicFunction.html" title="class in org.apache.calcite.sql">SqlBasicFunction</a></span>&nbsp;<span class="element-name">withDeterministic</span><wbr><span class="parameters">(boolean&nbsp;deterministic)</span></div>
<div class="block">Returns a copy of this function with a given determinism.</div>
</section>
</li>
<li>
<section class="detail" id="withMonotonicityInference(java.util.function.Function)">
<h3>withMonotonicityInference</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="SqlBasicFunction.html" title="class in org.apache.calcite.sql">SqlBasicFunction</a></span>&nbsp;<span class="element-name">withMonotonicityInference</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/function/Function.html" title="class or interface in java.util.function" class="external-link">Function</a>&lt;<a href="SqlOperatorBinding.html" title="class in org.apache.calcite.sql">SqlOperatorBinding</a>,<wbr><a href="validate/SqlMonotonicity.html" title="enum in org.apache.calcite.sql.validate">SqlMonotonicity</a>&gt;&nbsp;monotonicityInference)</span></div>
<div class="block">Returns a copy of this function with a given strategy for inferring
whether a call is monotonic.</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>