blob: 7144cc59d216e4e7e6ed04b217b5c2b161b8e395 [file] [log] [blame]
<!DOCTYPE HTML>
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc -->
<title>SqlBuilder (Apache Calcite calcite API)</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="description" content="declaration: package: org.apache.calcite.sql.util, class: SqlBuilder">
<meta name="generator" content="javadoc/ClassWriterImpl">
<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
<link rel="stylesheet" type="text/css" href="../../../../../script-dir/jquery-ui.css" title="Style">
<script type="text/javascript" src="../../../../../script.js"></script>
<script type="text/javascript" src="../../../../../script-dir/jszip/dist/jszip.min.js"></script>
<script type="text/javascript" src="../../../../../script-dir/jszip-utils/dist/jszip-utils.min.js"></script>
<!--[if IE]>
<script type="text/javascript" src="../../../../../script-dir/jszip-utils/dist/jszip-utils-ie.min.js"></script>
<![endif]-->
<script type="text/javascript" src="../../../../../script-dir/jquery-3.4.1.js"></script>
<script type="text/javascript" src="../../../../../script-dir/jquery-ui.js"></script>
</head>
<body class="class-declaration">
<script type="text/javascript">var data = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10,"i18":10};
var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
var tableTab = "tableTab";
var activeTableTab = "activeTableTab";
var pathtoroot = "../../../../../";
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<div class="flexBox">
<header role="banner" class="flexHeader">
<nav role="navigation">
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a id="navbar.top">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a id="navbar.top.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../index.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../help-doc.html">Help</a></li>
</ul>
<div class="aboutLanguage"><b>Apache Calcite</b></div>
</div>
<div class="subNav">
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<div class="navListSearch"><label for="search">SEARCH:</label>
<input type="text" id="search" value="search" disabled="disabled">
<input type="reset" id="reset" value="reset" disabled="disabled">
</div>
</div>
<!-- ========= END OF TOP NAVBAR ========= -->
<div class="skipNav"><a id="skip.navbar.top">
<!-- -->
</a></div>
</nav>
</header>
<div class="flexContent">
<main role="main">
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="subTitle"><span class="packageLabelInType">Package</span>&nbsp;<a href="package-summary.html">org.apache.calcite.sql.util</a></div>
<h1 title="Class SqlBuilder" class="title">Class SqlBuilder</h1>
</div>
<div class="contentContainer">
<div class="inheritance" title="Inheritance Tree"><a href="https://docs.oracle.com/javase/9/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang" class="externalLink">java.lang.Object</a>
<div class="inheritance">org.apache.calcite.sql.util.SqlBuilder</div>
</div>
<section class="description">
<hr>
<pre>public class <span class="typeNameLabel">SqlBuilder</span>
extends <a href="https://docs.oracle.com/javase/9/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang" class="externalLink">Object</a></pre>
<div class="block">Extension to <a href="https://docs.oracle.com/javase/9/docs/api/java/lang/StringBuilder.html?is-external=true" title="class or interface in java.lang" class="externalLink"><code>StringBuilder</code></a> for the purposes of creating SQL queries
and expressions.
<p>Using this class helps to prevent SQL injection attacks, incorrectly
quoted identifiers and strings. These problems occur when you build SQL by
concatenating strings, and you forget to treat identifers and string literals
correctly. SqlBuilder has special methods for appending identifiers and
literals.</div>
</section>
<section class="summary">
<ul class="blockList">
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<li class="blockList">
<section class="constructorSummary"><a id="constructor.summary">
<!-- -->
</a>
<h2>Constructor Summary</h2>
<div class="memberSummary">
<table>
<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
<thead>
<tr>
<th class="colFirst" scope="col">Constructor</th>
<th class="colLast" scope="col">Description</th>
</tr>
</thead>
<tbody>
<tr class="altColor">
<th class="colConstructorName" scope="row"><code><span class="memberNameLink"><a href="#%3Cinit%3E(org.apache.calcite.sql.SqlDialect)">SqlBuilder</a></span>&#8203;(<a href="../SqlDialect.html" title="class in org.apache.calcite.sql">SqlDialect</a>&nbsp;dialect)</code></th>
<td class="colLast">
<div class="block">Creates a SqlBuilder.</div>
</td>
</tr>
<tr class="rowColor">
<th class="colConstructorName" scope="row"><code><span class="memberNameLink"><a href="#%3Cinit%3E(org.apache.calcite.sql.SqlDialect,java.lang.String)">SqlBuilder</a></span>&#8203;(<a href="../SqlDialect.html" title="class in org.apache.calcite.sql">SqlDialect</a>&nbsp;dialect,
<a href="https://docs.oracle.com/javase/9/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;s)</code></th>
<td class="colLast">
<div class="block">Creates a SqlBuilder with a given string.</div>
</td>
</tr>
</tbody>
</table>
</div>
</section>
</li>
<!-- ========== METHOD SUMMARY =========== -->
<li class="blockList">
<section class="methodSummary"><a id="method.summary">
<!-- -->
</a>
<h2>Method Summary</h2>
<div class="memberSummary">
<div role="tablist" aria-orientation="horizontal"><button role="tab" aria-selected="true" aria-controls="memberSummary_tabpanel" tabindex="0" onkeydown="switchTab(event)" id="t0" class="activeTableTab">All Methods</button><button role="tab" aria-selected="false" aria-controls="memberSummary_tabpanel" tabindex="-1" onkeydown="switchTab(event)" id="t2" class="tableTab" onclick="show(2);">Instance Methods</button><button role="tab" aria-selected="false" aria-controls="memberSummary_tabpanel" tabindex="-1" onkeydown="switchTab(event)" id="t4" class="tableTab" onclick="show(8);">Concrete Methods</button></div>
<div id="memberSummary_tabpanel" role="tabpanel">
<table aria-labelledby="t0">
<thead>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colSecond" scope="col">Method</th>
<th class="colLast" scope="col">Description</th>
</tr>
</thead>
<tbody>
<tr class="altColor" id="i0">
<td class="colFirst"><code><a href="SqlBuilder.html" title="class in org.apache.calcite.sql.util">SqlBuilder</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#append(char)">append</a></span>&#8203;(char&nbsp;c)</code></th>
<td class="colLast">
<div class="block">Appends a character, without any quoting.</div>
</td>
</tr>
<tr class="rowColor" id="i1">
<td class="colFirst"><code><a href="SqlBuilder.html" title="class in org.apache.calcite.sql.util">SqlBuilder</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#append(long)">append</a></span>&#8203;(long&nbsp;n)</code></th>
<td class="colLast">
<div class="block">Appends a number, per <a href="https://docs.oracle.com/javase/9/docs/api/java/lang/StringBuilder.html?is-external=true#append(long)" title="class or interface in java.lang" class="externalLink"><code>StringBuilder.append(long)</code></a>.</div>
</td>
</tr>
<tr class="altColor" id="i2">
<td class="colFirst"><code><a href="SqlBuilder.html" title="class in org.apache.calcite.sql.util">SqlBuilder</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#append(java.lang.String)">append</a></span>&#8203;(<a href="https://docs.oracle.com/javase/9/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;s)</code></th>
<td class="colLast">
<div class="block">Appends a string, without any quoting.</div>
</td>
</tr>
<tr class="rowColor" id="i3">
<td class="colFirst"><code><a href="SqlBuilder.html" title="class in org.apache.calcite.sql.util">SqlBuilder</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#append(org.apache.calcite.sql.util.SqlString)">append</a></span>&#8203;(<a href="SqlString.html" title="class in org.apache.calcite.sql.util">SqlString</a>&nbsp;s)</code></th>
<td class="colLast">
<div class="block">Appends a hygienic SQL string.</div>
</td>
</tr>
<tr class="altColor" id="i4">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#clear()">clear</a></span>()</code></th>
<td class="colLast">
<div class="block">Clears the contents of the buffer.</div>
</td>
</tr>
<tr class="rowColor" id="i5">
<td class="colFirst"><code><a href="../SqlDialect.html" title="class in org.apache.calcite.sql">SqlDialect</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getDialect()">getDialect</a></span>()</code></th>
<td class="colLast">
<div class="block">Returns the dialect.</div>
</td>
</tr>
<tr class="altColor" id="i6">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/9/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getSql()">getSql</a></span>()</code></th>
<td class="colLast">
<div class="block">Returns the SQL.</div>
</td>
</tr>
<tr class="rowColor" id="i7">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/9/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getSqlAndClear()">getSqlAndClear</a></span>()</code></th>
<td class="colLast">
<div class="block">Returns the SQL and clears the buffer.</div>
</td>
</tr>
<tr class="altColor" id="i8">
<td class="colFirst"><code><a href="SqlBuilder.html" title="class in org.apache.calcite.sql.util">SqlBuilder</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#identifier(java.lang.String)">identifier</a></span>&#8203;(<a href="https://docs.oracle.com/javase/9/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;name)</code></th>
<td class="colLast">
<div class="block">Appends an identifier to this buffer, quoting accordingly.</div>
</td>
</tr>
<tr class="rowColor" id="i9">
<td class="colFirst"><code><a href="SqlBuilder.html" title="class in org.apache.calcite.sql.util">SqlBuilder</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#identifier(java.lang.String...)">identifier</a></span>&#8203;(<a href="https://docs.oracle.com/javase/9/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>...&nbsp;names)</code></th>
<td class="colLast">
<div class="block">Appends one or more identifiers to this buffer, quoting accordingly.</div>
</td>
</tr>
<tr class="altColor" id="i10">
<td class="colFirst"><code><a href="SqlBuilder.html" title="class in org.apache.calcite.sql.util">SqlBuilder</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#identifier(java.util.List)">identifier</a></span>&#8203;(<a href="https://docs.oracle.com/javase/9/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util" class="externalLink">List</a>&lt;<a href="https://docs.oracle.com/javase/9/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&gt;&nbsp;names)</code></th>
<td class="colLast">
<div class="block">Appends a compound identifier to this buffer, quoting accordingly.</div>
</td>
</tr>
<tr class="rowColor" id="i11">
<td class="colFirst"><code>int</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#indexOf(java.lang.String)">indexOf</a></span>&#8203;(<a href="https://docs.oracle.com/javase/9/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;str)</code></th>
<td class="colLast">
<div class="block">Returns the index within this string of the first occurrence of the
specified substring.</div>
</td>
</tr>
<tr class="altColor" id="i12">
<td class="colFirst"><code>int</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#indexOf(java.lang.String,int)">indexOf</a></span>&#8203;(<a href="https://docs.oracle.com/javase/9/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;str,
int&nbsp;fromIndex)</code></th>
<td class="colLast">
<div class="block">Returns the index within this string of the first occurrence of the
specified substring, starting at the specified index.</div>
</td>
</tr>
<tr class="rowColor" id="i13">
<td class="colFirst"><code><a href="SqlBuilder.html" title="class in org.apache.calcite.sql.util">SqlBuilder</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#insert(int,java.lang.String)">insert</a></span>&#8203;(int&nbsp;offset,
<a href="https://docs.oracle.com/javase/9/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;str)</code></th>
<td class="colLast">
<div class="block">Inserts the string into this character sequence.</div>
</td>
</tr>
<tr class="altColor" id="i14">
<td class="colFirst"><code>int</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#length()">length</a></span>()</code></th>
<td class="colLast">
<div class="block">Returns the length (character count).</div>
</td>
</tr>
<tr class="rowColor" id="i15">
<td class="colFirst"><code><a href="SqlBuilder.html" title="class in org.apache.calcite.sql.util">SqlBuilder</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#literal(java.lang.String)">literal</a></span>&#8203;(<a href="https://docs.oracle.com/javase/9/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;s)</code></th>
<td class="colLast">
<div class="block">Appends a string literal to this buffer.</div>
</td>
</tr>
<tr class="altColor" id="i16">
<td class="colFirst"><code><a href="SqlBuilder.html" title="class in org.apache.calcite.sql.util">SqlBuilder</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#literal(java.sql.Timestamp)">literal</a></span>&#8203;(<a href="https://docs.oracle.com/javase/9/docs/api/java/sql/Timestamp.html?is-external=true" title="class or interface in java.sql" class="externalLink">Timestamp</a>&nbsp;timestamp)</code></th>
<td class="colLast">
<div class="block">Appends a timestamp literal to this buffer.</div>
</td>
</tr>
<tr class="rowColor" id="i17">
<td class="colFirst"><code><a href="SqlString.html" title="class in org.apache.calcite.sql.util">SqlString</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#toSqlString()">toSqlString</a></span>()</code></th>
<td class="colLast">
<div class="block">Returns the contents of this SQL buffer as a 'certified kocher' SQL
string.</div>
</td>
</tr>
<tr class="altColor" id="i18">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/9/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#toString()">toString</a></span>()</code></th>
</tr>
</tbody>
</table>
</div>
</div>
<div class="inheritedList">
<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/9/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang" class="externalLink">Object</a></h3>
<a id="methods.inherited.from.class.java.lang.Object">
<!-- -->
</a><code><a href="https://docs.oracle.com/javase/9/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang" class="externalLink">clone</a>, <a href="https://docs.oracle.com/javase/9/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang" class="externalLink">equals</a>, <a href="https://docs.oracle.com/javase/9/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang" class="externalLink">finalize</a>, <a href="https://docs.oracle.com/javase/9/docs/api/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang" class="externalLink">getClass</a>, <a href="https://docs.oracle.com/javase/9/docs/api/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang" class="externalLink">hashCode</a>, <a href="https://docs.oracle.com/javase/9/docs/api/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang" class="externalLink">notify</a>, <a href="https://docs.oracle.com/javase/9/docs/api/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang" class="externalLink">notifyAll</a>, <a href="https://docs.oracle.com/javase/9/docs/api/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang" class="externalLink">wait</a>, <a href="https://docs.oracle.com/javase/9/docs/api/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang" class="externalLink">wait</a>, <a href="https://docs.oracle.com/javase/9/docs/api/java/lang/Object.html?is-external=true#wait(long,int)" title="class or interface in java.lang" class="externalLink">wait</a></code></div>
</section>
</li>
</ul>
</section>
<section class="details">
<ul class="blockList">
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<li class="blockList">
<section class="constructorDetails"><a id="constructor.detail">
<!-- -->
</a>
<h2>Constructor Details</h2>
<ul class="blockList">
<li class="blockList">
<section class="detail">
<h3><a id="&lt;init&gt;(org.apache.calcite.sql.SqlDialect)">SqlBuilder</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="memberName">SqlBuilder</span>&#8203;(<span class="arguments"><a href="../SqlDialect.html" title="class in org.apache.calcite.sql">SqlDialect</a>&nbsp;dialect)</span></div>
<div class="block">Creates a SqlBuilder.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>dialect</code> - Dialect</dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="&lt;init&gt;(org.apache.calcite.sql.SqlDialect,java.lang.String)">SqlBuilder</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="memberName">SqlBuilder</span>&#8203;(<span class="arguments"><a href="../SqlDialect.html" title="class in org.apache.calcite.sql">SqlDialect</a>&nbsp;dialect,
<a href="https://docs.oracle.com/javase/9/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;s)</span></div>
<div class="block">Creates a SqlBuilder with a given string.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>dialect</code> - Dialect</dd>
<dd><code>s</code> - Initial contents of the buffer</dd>
</dl>
</section>
</li>
</ul>
</section>
</li>
<!-- ============ METHOD DETAIL ========== -->
<li class="blockList">
<section class="methodDetails"><a id="method.detail">
<!-- -->
</a>
<h2>Method Details</h2>
<ul class="blockList">
<li class="blockList">
<section class="detail">
<h3><a id="getDialect()">getDialect</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="returnType"><a href="../SqlDialect.html" title="class in org.apache.calcite.sql">SqlDialect</a></span>&nbsp;<span class="memberName">getDialect</span>()</div>
<div class="block">Returns the dialect.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>dialect</dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="length()">length</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="returnType">int</span>&nbsp;<span class="memberName">length</span>()</div>
<div class="block">Returns the length (character count).</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the length of the sequence of characters currently
represented by this object</dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="clear()">clear</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="returnType">void</span>&nbsp;<span class="memberName">clear</span>()</div>
<div class="block">Clears the contents of the buffer.</div>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="toString()">toString</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="returnType"><a href="https://docs.oracle.com/javase/9/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a></span>&nbsp;<span class="memberName">toString</span>()</div>
<div class="block">
<p>Returns the SQL string.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/9/docs/api/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang" class="externalLink">toString</a></code>&nbsp;in class&nbsp;<code><a href="https://docs.oracle.com/javase/9/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang" class="externalLink">Object</a></code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>SQL string</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="#getSql()"><code>getSql()</code></a></dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="getSql()">getSql</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="returnType"><a href="https://docs.oracle.com/javase/9/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a></span>&nbsp;<span class="memberName">getSql</span>()</div>
<div class="block">Returns the SQL.</div>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="getSqlAndClear()">getSqlAndClear</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="returnType"><a href="https://docs.oracle.com/javase/9/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a></span>&nbsp;<span class="memberName">getSqlAndClear</span>()</div>
<div class="block">Returns the SQL and clears the buffer.
<p>Convenient if you are reusing the same SQL builder in a loop.</div>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="append(org.apache.calcite.sql.util.SqlString)">append</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="returnType"><a href="SqlBuilder.html" title="class in org.apache.calcite.sql.util">SqlBuilder</a></span>&nbsp;<span class="memberName">append</span>&#8203;(<span class="arguments"><a href="SqlString.html" title="class in org.apache.calcite.sql.util">SqlString</a>&nbsp;s)</span></div>
<div class="block">Appends a hygienic SQL string.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>s</code> - SQL string to append</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>This builder</dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="append(java.lang.String)">append</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="returnType"><a href="SqlBuilder.html" title="class in org.apache.calcite.sql.util">SqlBuilder</a></span>&nbsp;<span class="memberName">append</span>&#8203;(<span class="arguments"><a href="https://docs.oracle.com/javase/9/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;s)</span></div>
<div class="block">Appends a string, without any quoting.
<p>Calls to this method are dubious.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>s</code> - String to append</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>This builder</dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="append(char)">append</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="returnType"><a href="SqlBuilder.html" title="class in org.apache.calcite.sql.util">SqlBuilder</a></span>&nbsp;<span class="memberName">append</span>&#8203;(<span class="arguments">char&nbsp;c)</span></div>
<div class="block">Appends a character, without any quoting.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>c</code> - Character to append</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>This builder</dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="append(long)">append</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="returnType"><a href="SqlBuilder.html" title="class in org.apache.calcite.sql.util">SqlBuilder</a></span>&nbsp;<span class="memberName">append</span>&#8203;(<span class="arguments">long&nbsp;n)</span></div>
<div class="block">Appends a number, per <a href="https://docs.oracle.com/javase/9/docs/api/java/lang/StringBuilder.html?is-external=true#append(long)" title="class or interface in java.lang" class="externalLink"><code>StringBuilder.append(long)</code></a>.</div>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="identifier(java.lang.String)">identifier</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="returnType"><a href="SqlBuilder.html" title="class in org.apache.calcite.sql.util">SqlBuilder</a></span>&nbsp;<span class="memberName">identifier</span>&#8203;(<span class="arguments"><a href="https://docs.oracle.com/javase/9/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;name)</span></div>
<div class="block">Appends an identifier to this buffer, quoting accordingly.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>name</code> - Identifier</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>This builder</dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="identifier(java.lang.String...)">identifier</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="returnType"><a href="SqlBuilder.html" title="class in org.apache.calcite.sql.util">SqlBuilder</a></span>&nbsp;<span class="memberName">identifier</span>&#8203;(<span class="arguments"><a href="https://docs.oracle.com/javase/9/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>...&nbsp;names)</span></div>
<div class="block">Appends one or more identifiers to this buffer, quoting accordingly.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>names</code> - Varargs array of identifiers</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>This builder</dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="identifier(java.util.List)">identifier</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="returnType"><a href="SqlBuilder.html" title="class in org.apache.calcite.sql.util">SqlBuilder</a></span>&nbsp;<span class="memberName">identifier</span>&#8203;(<span class="arguments"><a href="https://docs.oracle.com/javase/9/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util" class="externalLink">List</a>&lt;<a href="https://docs.oracle.com/javase/9/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&gt;&nbsp;names)</span></div>
<div class="block">Appends a compound identifier to this buffer, quoting accordingly.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>names</code> - Parts of a compound identifier</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>This builder</dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="toSqlString()">toSqlString</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="returnType"><a href="SqlString.html" title="class in org.apache.calcite.sql.util">SqlString</a></span>&nbsp;<span class="memberName">toSqlString</span>()</div>
<div class="block">Returns the contents of this SQL buffer as a 'certified kocher' SQL
string.
<p>Use this method in preference to <a href="#toString()"><code>toString()</code></a>. It indicates
that the SQL string has been constructed using good hygiene, and is
therefore less likely to contain SQL injection or badly quoted
identifiers or strings.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Contents of this builder as a SQL string.</dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="literal(java.lang.String)">literal</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="returnType"><a href="SqlBuilder.html" title="class in org.apache.calcite.sql.util">SqlBuilder</a></span>&nbsp;<span class="memberName">literal</span>&#8203;(<span class="arguments"><a href="https://docs.oracle.com/javase/9/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;s)</span></div>
<div class="block">Appends a string literal to this buffer.
<p>For example, calling <code>literal(&quot;can't&quot;)</code>
would convert the buffer
<blockquote><code>SELECT </code></blockquote>
to
<blockquote><code>SELECT 'can''t'</code></blockquote></div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>s</code> - String to append</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>This buffer</dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="literal(java.sql.Timestamp)">literal</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="returnType"><a href="SqlBuilder.html" title="class in org.apache.calcite.sql.util">SqlBuilder</a></span>&nbsp;<span class="memberName">literal</span>&#8203;(<span class="arguments"><a href="https://docs.oracle.com/javase/9/docs/api/java/sql/Timestamp.html?is-external=true" title="class or interface in java.sql" class="externalLink">Timestamp</a>&nbsp;timestamp)</span></div>
<div class="block">Appends a timestamp literal to this buffer.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>timestamp</code> - Timestamp to append</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>This buffer</dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="indexOf(java.lang.String)">indexOf</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="returnType">int</span>&nbsp;<span class="memberName">indexOf</span>&#8203;(<span class="arguments"><a href="https://docs.oracle.com/javase/9/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;str)</span></div>
<div class="block">Returns the index within this string of the first occurrence of the
specified substring.</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="https://docs.oracle.com/javase/9/docs/api/java/lang/StringBuilder.html?is-external=true#indexOf(java.lang.String)" title="class or interface in java.lang" class="externalLink"><code>StringBuilder.indexOf(String)</code></a></dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="indexOf(java.lang.String,int)">indexOf</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="returnType">int</span>&nbsp;<span class="memberName">indexOf</span>&#8203;(<span class="arguments"><a href="https://docs.oracle.com/javase/9/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;str,
int&nbsp;fromIndex)</span></div>
<div class="block">Returns the index within this string of the first occurrence of the
specified substring, starting at the specified index.</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="https://docs.oracle.com/javase/9/docs/api/java/lang/StringBuilder.html?is-external=true#indexOf(java.lang.String,int)" title="class or interface in java.lang" class="externalLink"><code>StringBuilder.indexOf(String, int)</code></a></dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="insert(int,java.lang.String)">insert</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="returnType"><a href="SqlBuilder.html" title="class in org.apache.calcite.sql.util">SqlBuilder</a></span>&nbsp;<span class="memberName">insert</span>&#8203;(<span class="arguments">int&nbsp;offset,
<a href="https://docs.oracle.com/javase/9/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;str)</span></div>
<div class="block">Inserts the string into this character sequence.</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="https://docs.oracle.com/javase/9/docs/api/java/lang/StringBuilder.html?is-external=true#insert(int,java.lang.String)" title="class or interface in java.lang" class="externalLink"><code>StringBuilder.insert(int, String)</code></a></dd>
</dl>
</section>
</li>
</ul>
</section>
</li>
</ul>
</section>
</div>
<!-- ========= END OF CLASS DATA ========= -->
</main>
<footer role="contentinfo">
<nav role="navigation">
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a id="navbar.bottom">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a id="navbar.bottom.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../index.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../help-doc.html">Help</a></li>
</ul>
<div class="aboutLanguage"><b>Apache Calcite</b></div>
</div>
<div class="subNav">
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
</div>
<a id="skip.navbar.bottom">
<!-- -->
</a>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
</nav>
<p class="legalCopy"><small>Copyright &copy; 2012-2021 Apache Software Foundation. All Rights Reserved.</small></p>
</footer>
</div>
</div>
</body>
</html>