blob: d279b9e9391769beeb64aa06e55080039b885114 [file] [log] [blame]
<!DOCTYPE HTML>
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc -->
<title>SqlBuilder (Apache Calcite API)</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
<link rel="stylesheet" type="text/css" href="../../../../../jquery/jquery-ui.css" title="Style">
<script type="text/javascript" src="../../../../../script.js"></script>
<script type="text/javascript" src="../../../../../jquery/jszip/dist/jszip.min.js"></script>
<script type="text/javascript" src="../../../../../jquery/jszip-utils/dist/jszip-utils.min.js"></script>
<!--[if IE]>
<script type="text/javascript" src="../../../../../jquery/jszip-utils/dist/jszip-utils-ie.min.js"></script>
<![endif]-->
<script type="text/javascript" src="../../../../../jquery/jquery-3.3.1.js"></script>
<script type="text/javascript" src="../../../../../jquery/jquery-migrate-3.0.1.js"></script>
<script type="text/javascript" src="../../../../../jquery/jquery-ui.js"></script>
</head>
<body>
<script type="text/javascript"><!--
try {
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="SqlBuilder (Apache Calcite API)";
}
}
catch(err) {
}
//-->
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 = "../../../../../";
var useModuleDirectories = true;
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<header role="banner">
<nav role="navigation">
<div class="fixedNav">
<!-- ========= 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="class-use/SqlBuilder.html">Use</a></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>
<div class="subNav">
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../../allclasses.html">All&nbsp;Classes</a></li>
</ul>
<ul class="navListSearch">
<li><label for="search">SEARCH:</label>
<input type="text" id="search" value="search" disabled="disabled">
<input type="reset" id="reset" value="reset" disabled="disabled">
</li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_top");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&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="subNavList">
<li>Detail:&nbsp;</li>
<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a id="skip.navbar.top">
<!-- -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
</div>
<div class="navPadding">&nbsp;</div>
<script type="text/javascript"><!--
$('.navPadding').css('padding-top', $('.fixedNav').css("height"));
//-->
</script>
</nav>
</header>
<!-- ======== START OF CLASS DATA ======== -->
<main role="main">
<div class="header">
<div class="subTitle"><span class="packageLabelInType">Package</span>&nbsp;<a href="package-summary.html">org.apache.calcite.sql.util</a></div>
<h2 title="Class SqlBuilder" class="title">Class SqlBuilder</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li>java.lang.Object</li>
<li>
<ul class="inheritance">
<li>org.apache.calcite.sql.util.SqlBuilder</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<hr>
<pre>public class <span class="typeNameLabel">SqlBuilder</span>
extends java.lang.Object</pre>
<div class="block">Extension to <code>StringBuilder</code> 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>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- =========== FIELD SUMMARY =========== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="field.summary">
<!-- -->
</a>
<h3>Field Summary</h3>
<table class="memberSummary">
<caption><span>Fields</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colSecond" scope="col">Field</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private java.lang.StringBuilder</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#buf">buf</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private <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="#dialect">dialect</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
</table>
</li>
</ul>
</section>
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="constructor.summary">
<!-- -->
</a>
<h3>Constructor Summary</h3>
<table class="memberSummary">
<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Constructor</th>
<th class="colLast" scope="col">Description</th>
</tr>
<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,
java.lang.String&nbsp;s)</code></th>
<td class="colLast">
<div class="block">Creates a SqlBuilder with a given string.</div>
</td>
</tr>
</table>
</li>
</ul>
</section>
<!-- ========== METHOD SUMMARY =========== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="method.summary">
<!-- -->
</a>
<h3>Method Summary</h3>
<table class="memberSummary">
<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
<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>
<tr id="i0" class="altColor">
<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 id="i1" class="rowColor">
<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 <code>StringBuilder.append(long)</code>.</div>
</td>
</tr>
<tr id="i2" class="altColor">
<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;(java.lang.String&nbsp;s)</code></th>
<td class="colLast">
<div class="block">Appends a string, without any quoting.</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<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 id="i4" class="altColor">
<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 id="i5" class="rowColor">
<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 id="i6" class="altColor">
<td class="colFirst"><code>java.lang.String</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 id="i7" class="rowColor">
<td class="colFirst"><code>java.lang.String</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 id="i8" class="altColor">
<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;(java.lang.String&nbsp;name)</code></th>
<td class="colLast">
<div class="block">Appends an identifier to this buffer, quoting accordingly.</div>
</td>
</tr>
<tr id="i9" class="rowColor">
<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;(java.lang.String...&nbsp;names)</code></th>
<td class="colLast">
<div class="block">Appends one or more identifiers to this buffer, quoting accordingly.</div>
</td>
</tr>
<tr id="i10" class="altColor">
<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;(java.util.List&lt;java.lang.String&gt;&nbsp;names)</code></th>
<td class="colLast">
<div class="block">Appends a compound identifier to this buffer, quoting accordingly.</div>
</td>
</tr>
<tr id="i11" class="rowColor">
<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;(java.lang.String&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 id="i12" class="altColor">
<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;(java.lang.String&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 id="i13" class="rowColor">
<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,
java.lang.String&nbsp;str)</code></th>
<td class="colLast">
<div class="block">Inserts the string into this character sequence.</div>
</td>
</tr>
<tr id="i14" class="altColor">
<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 id="i15" class="rowColor">
<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;(java.lang.String&nbsp;s)</code></th>
<td class="colLast">
<div class="block">Appends a string literal to this buffer.</div>
</td>
</tr>
<tr id="i16" class="altColor">
<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;(java.sql.Timestamp&nbsp;timestamp)</code></th>
<td class="colLast">
<div class="block">Appends a timestamp literal to this buffer.</div>
</td>
</tr>
<tr id="i17" class="rowColor">
<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 id="i18" class="altColor">
<td class="colFirst"><code>java.lang.String</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#toString()">toString</a></span>()</code></th>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a id="methods.inherited.from.class.java.lang.Object">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;java.lang.Object</h3>
<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait</code></li>
</ul>
</li>
</ul>
</section>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ============ FIELD DETAIL =========== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="field.detail">
<!-- -->
</a>
<h3>Field Detail</h3>
<a id="buf">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>buf</h4>
<pre>private final&nbsp;java.lang.StringBuilder buf</pre>
</li>
</ul>
<a id="dialect">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>dialect</h4>
<pre>private final&nbsp;<a href="../SqlDialect.html" title="class in org.apache.calcite.sql">SqlDialect</a> dialect</pre>
</li>
</ul>
</li>
</ul>
</section>
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="constructor.detail">
<!-- -->
</a>
<h3>Constructor Detail</h3>
<a id="&lt;init&gt;(org.apache.calcite.sql.SqlDialect)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>SqlBuilder</h4>
<pre>public&nbsp;SqlBuilder&#8203;(<a href="../SqlDialect.html" title="class in org.apache.calcite.sql">SqlDialect</a>&nbsp;dialect)</pre>
<div class="block">Creates a SqlBuilder.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>dialect</code> - Dialect</dd>
</dl>
</li>
</ul>
<a id="&lt;init&gt;(org.apache.calcite.sql.SqlDialect,java.lang.String)">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>SqlBuilder</h4>
<pre>public&nbsp;SqlBuilder&#8203;(<a href="../SqlDialect.html" title="class in org.apache.calcite.sql">SqlDialect</a>&nbsp;dialect,
java.lang.String&nbsp;s)</pre>
<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>
</li>
</ul>
</li>
</ul>
</section>
<!-- ============ METHOD DETAIL ========== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="method.detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a id="getDialect()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getDialect</h4>
<pre class="methodSignature">public&nbsp;<a href="../SqlDialect.html" title="class in org.apache.calcite.sql">SqlDialect</a>&nbsp;getDialect()</pre>
<div class="block">Returns the dialect.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>dialect</dd>
</dl>
</li>
</ul>
<a id="length()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>length</h4>
<pre class="methodSignature">public&nbsp;int&nbsp;length()</pre>
<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>
</li>
</ul>
<a id="clear()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>clear</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;clear()</pre>
<div class="block">Clears the contents of the buffer.</div>
</li>
</ul>
<a id="toString()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>toString</h4>
<pre class="methodSignature">public&nbsp;java.lang.String&nbsp;toString()</pre>
<div class="block">
<p>Returns the SQL string.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code>toString</code>&nbsp;in class&nbsp;<code>java.lang.Object</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>
</li>
</ul>
<a id="getSql()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getSql</h4>
<pre class="methodSignature">public&nbsp;java.lang.String&nbsp;getSql()</pre>
<div class="block">Returns the SQL.</div>
</li>
</ul>
<a id="getSqlAndClear()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getSqlAndClear</h4>
<pre class="methodSignature">public&nbsp;java.lang.String&nbsp;getSqlAndClear()</pre>
<div class="block">Returns the SQL and clears the buffer.
<p>Convenient if you are reusing the same SQL builder in a loop.</div>
</li>
</ul>
<a id="append(org.apache.calcite.sql.util.SqlString)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>append</h4>
<pre class="methodSignature">public&nbsp;<a href="SqlBuilder.html" title="class in org.apache.calcite.sql.util">SqlBuilder</a>&nbsp;append&#8203;(<a href="SqlString.html" title="class in org.apache.calcite.sql.util">SqlString</a>&nbsp;s)</pre>
<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>
</li>
</ul>
<a id="append(java.lang.String)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>append</h4>
<pre class="methodSignature">public&nbsp;<a href="SqlBuilder.html" title="class in org.apache.calcite.sql.util">SqlBuilder</a>&nbsp;append&#8203;(java.lang.String&nbsp;s)</pre>
<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>
</li>
</ul>
<a id="append(char)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>append</h4>
<pre class="methodSignature">public&nbsp;<a href="SqlBuilder.html" title="class in org.apache.calcite.sql.util">SqlBuilder</a>&nbsp;append&#8203;(char&nbsp;c)</pre>
<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>
</li>
</ul>
<a id="append(long)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>append</h4>
<pre class="methodSignature">public&nbsp;<a href="SqlBuilder.html" title="class in org.apache.calcite.sql.util">SqlBuilder</a>&nbsp;append&#8203;(long&nbsp;n)</pre>
<div class="block">Appends a number, per <code>StringBuilder.append(long)</code>.</div>
</li>
</ul>
<a id="identifier(java.lang.String)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>identifier</h4>
<pre class="methodSignature">public&nbsp;<a href="SqlBuilder.html" title="class in org.apache.calcite.sql.util">SqlBuilder</a>&nbsp;identifier&#8203;(java.lang.String&nbsp;name)</pre>
<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>
</li>
</ul>
<a id="identifier(java.lang.String...)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>identifier</h4>
<pre class="methodSignature">public&nbsp;<a href="SqlBuilder.html" title="class in org.apache.calcite.sql.util">SqlBuilder</a>&nbsp;identifier&#8203;(java.lang.String...&nbsp;names)</pre>
<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>
</li>
</ul>
<a id="identifier(java.util.List)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>identifier</h4>
<pre class="methodSignature">public&nbsp;<a href="SqlBuilder.html" title="class in org.apache.calcite.sql.util">SqlBuilder</a>&nbsp;identifier&#8203;(java.util.List&lt;java.lang.String&gt;&nbsp;names)</pre>
<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>
</li>
</ul>
<a id="toSqlString()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>toSqlString</h4>
<pre class="methodSignature">public&nbsp;<a href="SqlString.html" title="class in org.apache.calcite.sql.util">SqlString</a>&nbsp;toSqlString()</pre>
<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>
</li>
</ul>
<a id="literal(java.lang.String)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>literal</h4>
<pre class="methodSignature">public&nbsp;<a href="SqlBuilder.html" title="class in org.apache.calcite.sql.util">SqlBuilder</a>&nbsp;literal&#8203;(java.lang.String&nbsp;s)</pre>
<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>
</li>
</ul>
<a id="literal(java.sql.Timestamp)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>literal</h4>
<pre class="methodSignature">public&nbsp;<a href="SqlBuilder.html" title="class in org.apache.calcite.sql.util">SqlBuilder</a>&nbsp;literal&#8203;(java.sql.Timestamp&nbsp;timestamp)</pre>
<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>
</li>
</ul>
<a id="indexOf(java.lang.String)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>indexOf</h4>
<pre class="methodSignature">public&nbsp;int&nbsp;indexOf&#8203;(java.lang.String&nbsp;str)</pre>
<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><code>StringBuilder.indexOf(String)</code></dd>
</dl>
</li>
</ul>
<a id="indexOf(java.lang.String,int)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>indexOf</h4>
<pre class="methodSignature">public&nbsp;int&nbsp;indexOf&#8203;(java.lang.String&nbsp;str,
int&nbsp;fromIndex)</pre>
<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><code>StringBuilder.indexOf(String, int)</code></dd>
</dl>
</li>
</ul>
<a id="insert(int,java.lang.String)">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>insert</h4>
<pre class="methodSignature">public&nbsp;<a href="SqlBuilder.html" title="class in org.apache.calcite.sql.util">SqlBuilder</a>&nbsp;insert&#8203;(int&nbsp;offset,
java.lang.String&nbsp;str)</pre>
<div class="block">Inserts the string into this character sequence.</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><code>StringBuilder.insert(int, String)</code></dd>
</dl>
</li>
</ul>
</li>
</ul>
</section>
</li>
</ul>
</div>
</div>
</main>
<!-- ========= END OF CLASS DATA ========= -->
<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="class-use/SqlBuilder.html">Use</a></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>
<div class="subNav">
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../../allclasses.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_bottom");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&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="subNavList">
<li>Detail:&nbsp;</li>
<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a id="skip.navbar.bottom">
<!-- -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
</nav>
<p class="legalCopy"><small>Copyright &#169; 2012&#x2013;2019 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
</footer>
</body>
</html>