blob: 18b01cbc1583a7a9d3e96de4fc71a7f98ab7cb60 [file] [log] [blame]
<!DOCTYPE HTML>
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc -->
<title>ConcurrentTestCommandScript (Calcite 1.20.0 Test 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="ConcurrentTestCommandScript (Calcite 1.20.0 Test API)";
}
}
catch(err) {
}
//-->
var data = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":9,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":9,"i15":10,"i16":10,"i17":10,"i18":10,"i19":9,"i20":10,"i21":10,"i22":10,"i23":10,"i24":10,"i25":10};
var tabs = {65535:["t0","All Methods"],1:["t1","Static 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/ConcurrentTestCommandScript.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><a href="#nested.class.summary">Nested</a>&nbsp;|&nbsp;</li>
<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="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.test.concurrent</a></div>
<h2 title="Class ConcurrentTestCommandScript" class="title">Class ConcurrentTestCommandScript</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li>java.lang.Object</li>
<li>
<ul class="inheritance">
<li><a href="ConcurrentTestCommandGenerator.html" title="class in org.apache.calcite.test.concurrent">org.apache.calcite.test.concurrent.ConcurrentTestCommandGenerator</a></li>
<li>
<ul class="inheritance">
<li>org.apache.calcite.test.concurrent.ConcurrentTestCommandScript</li>
</ul>
</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<hr>
<pre>public class <span class="typeNameLabel">ConcurrentTestCommandScript</span>
extends <a href="ConcurrentTestCommandGenerator.html" title="class in org.apache.calcite.test.concurrent">ConcurrentTestCommandGenerator</a></pre>
<div class="block">ConcurrentTestCommandScript creates instances of
<a href="ConcurrentTestCommand.html" title="interface in org.apache.calcite.test.concurrent"><code>ConcurrentTestCommand</code></a> that perform specific actions in a specific
order and within the context of a test thread
(<a href="ConcurrentTestCommandExecutor.html" title="class in org.apache.calcite.test.concurrent"><code>ConcurrentTestCommandExecutor</code></a>).
<p>Actions are loaded from a script (see package javadoc for script format).
<p>A single ConcurrentTestCommandScript creates commands
for multiple threads. Each thread is represented by an integer "thread ID"
and, optionally, a String thread name. Thread IDs may take on any positive
integer value and may be a sparse set (e.g. 1, 2, 5). Thread names may be any
String.
<p>When each command is created, it is associated with a thread and given an
execution order. Execution order values are positive integers, must be unique
within a thread, and may be a sparse set.
See <a href="ConcurrentTestCommandGenerator.html#synchronizeCommandSets()"><code>ConcurrentTestCommandGenerator.synchronizeCommandSets()</code></a> for other
considerations.</div>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ======== NESTED CLASS SUMMARY ======== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="nested.class.summary">
<!-- -->
</a>
<h3>Nested Class Summary</h3>
<table class="memberSummary">
<caption><span>Nested Classes</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colSecond" scope="col">Class</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private class&nbsp;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="ConcurrentTestCommandScript.CommandParser.html" title="class in org.apache.calcite.test.concurrent">ConcurrentTestCommandScript.CommandParser</a></span></code></th>
<td class="colLast">
<div class="block">Command parser.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private static class&nbsp;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="ConcurrentTestCommandScript.CommandWithTimeout.html" title="class in org.apache.calcite.test.concurrent">ConcurrentTestCommandScript.CommandWithTimeout</a></span></code></th>
<td class="colLast">
<div class="block">Command that has a timeout.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private static class&nbsp;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="ConcurrentTestCommandScript.CommandWithTimeoutAndRowLimit.html" title="class in org.apache.calcite.test.concurrent">ConcurrentTestCommandScript.CommandWithTimeoutAndRowLimit</a></span></code></th>
<td class="colLast">
<div class="block">Command with timeout and row limit.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private class&nbsp;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="ConcurrentTestCommandScript.EchoCommand.html" title="class in org.apache.calcite.test.concurrent">ConcurrentTestCommandScript.EchoCommand</a></span></code></th>
<td class="colLast">
<div class="block">Echo command.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private class&nbsp;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="ConcurrentTestCommandScript.FetchAndPrintCommand.html" title="class in org.apache.calcite.test.concurrent">ConcurrentTestCommandScript.FetchAndPrintCommand</a></span></code></th>
<td class="colLast">
<div class="block">FetchAndPrintCommand executes a previously prepared statement stored
inthe ConcurrentTestCommandExecutor and then outputs the returned
rows.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private class&nbsp;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="ConcurrentTestCommandScript.PluginCommand.html" title="class in org.apache.calcite.test.concurrent">ConcurrentTestCommandScript.PluginCommand</a></span></code></th>
<td class="colLast">
<div class="block">Plugin command.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private class&nbsp;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="ConcurrentTestCommandScript.PrepareCommand.html" title="class in org.apache.calcite.test.concurrent">ConcurrentTestCommandScript.PrepareCommand</a></span></code></th>
<td class="colLast">
<div class="block">PrepareCommand creates a <code>PreparedStatement</code>, which is saved as the
current statement of its test thread.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private class&nbsp;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="ConcurrentTestCommandScript.PrintCommand.html" title="class in org.apache.calcite.test.concurrent">ConcurrentTestCommandScript.PrintCommand</a></span></code></th>
<td class="colLast">
<div class="block">Print command.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private class&nbsp;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="ConcurrentTestCommandScript.ResultsReader.html" title="class in org.apache.calcite.test.concurrent">ConcurrentTestCommandScript.ResultsReader</a></span></code></th>
<td class="colLast">
<div class="block">Result reader.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private class&nbsp;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="ConcurrentTestCommandScript.SelectCommand.html" title="class in org.apache.calcite.test.concurrent">ConcurrentTestCommandScript.SelectCommand</a></span></code></th>
<td class="colLast">
<div class="block">SelectCommand creates and executes a SQL select statement, with optional
timeout and row limit.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private class&nbsp;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="ConcurrentTestCommandScript.ShellCommand.html" title="class in org.apache.calcite.test.concurrent">ConcurrentTestCommandScript.ShellCommand</a></span></code></th>
<td class="colLast">
<div class="block">Shell command.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private class&nbsp;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="ConcurrentTestCommandScript.SqlCommand.html" title="class in org.apache.calcite.test.concurrent">ConcurrentTestCommandScript.SqlCommand</a></span></code></th>
<td class="colLast">
<div class="block">SelectCommand creates and executes a SQL select statement, with optional
timeout.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private static class&nbsp;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="ConcurrentTestCommandScript.StateAction.html" title="class in org.apache.calcite.test.concurrent">ConcurrentTestCommandScript.StateAction</a></span></code></th>
<td class="colLast">
<div class="block">State action.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private static class&nbsp;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="ConcurrentTestCommandScript.StateDatum.html" title="class in org.apache.calcite.test.concurrent">ConcurrentTestCommandScript.StateDatum</a></span></code></th>
<td class="colLast">
<div class="block">State datum.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private static class&nbsp;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="ConcurrentTestCommandScript.Tool.html" title="class in org.apache.calcite.test.concurrent">ConcurrentTestCommandScript.Tool</a></span></code></th>
<td class="colLast">
<div class="block">Standalone client test tool.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private class&nbsp;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="ConcurrentTestCommandScript.VariableTable.html" title="class in org.apache.calcite.test.concurrent">ConcurrentTestCommandScript.VariableTable</a></span></code></th>
<td class="colLast">
<div class="block">Symbol table of script variables.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a id="nested.classes.inherited.from.class.org.apache.calcite.test.concurrent.ConcurrentTestCommandGenerator">
<!-- -->
</a>
<h3>Nested classes/interfaces inherited from class&nbsp;org.apache.calcite.test.concurrent.<a href="ConcurrentTestCommandGenerator.html" title="class in org.apache.calcite.test.concurrent">ConcurrentTestCommandGenerator</a></h3>
<code><a href="ConcurrentTestCommandGenerator.AbstractCommand.html" title="class in org.apache.calcite.test.concurrent">ConcurrentTestCommandGenerator.AbstractCommand</a>, <a href="ConcurrentTestCommandGenerator.AutoSynchronizationCommand.html" title="class in org.apache.calcite.test.concurrent">ConcurrentTestCommandGenerator.AutoSynchronizationCommand</a>, <a href="ConcurrentTestCommandGenerator.FailedThread.html" title="class in org.apache.calcite.test.concurrent">ConcurrentTestCommandGenerator.FailedThread</a>, <a href="ConcurrentTestCommandGenerator.SynchronizationCommand.html" title="class in org.apache.calcite.test.concurrent">ConcurrentTestCommandGenerator.SynchronizationCommand</a></code></li>
</ul>
</li>
</ul>
</section>
<!-- =========== 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 static int</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#BUF_SIZE">BUF_SIZE</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private static java.lang.String</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#CLEANUP">CLEANUP</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private static java.lang.String</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#CLEANUP_STATE">CLEANUP_STATE</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private static java.lang.Integer</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#CLEANUP_THREAD_ID">CLEANUP_THREAD_ID</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private java.util.List&lt;java.lang.String&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#cleanupCommands">cleanupCommands</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private static java.lang.String</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#CLOSE">CLOSE</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private static char[]</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#DASHES">DASHES</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private java.lang.Boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#disabled">disabled</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private static java.lang.String</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#DISABLED">DISABLED</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private static java.lang.String</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#ECHO">ECHO</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private static int</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#ECHO_LEN">ECHO_LEN</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private static java.lang.String</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#ENABLED">ENABLED</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private static java.lang.String</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#END">END</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private static java.lang.String</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#EOF">EOF</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private static java.lang.String</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#EOF_STATE">EOF_STATE</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private static java.lang.String</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#ERR">ERR</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private static int</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#ERR_LEN">ERR_LEN</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private static java.lang.String</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#FETCH">FETCH</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private static int</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#FETCH_LEN">FETCH_LEN</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private static java.lang.String</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#INCLUDE">INCLUDE</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private static int</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#INCLUDE_LEN">INCLUDE_LEN</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private java.lang.Boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#lockstep">lockstep</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private static java.lang.String</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#LOCKSTEP">LOCKSTEP</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private static java.lang.String</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#NOLOCKSTEP">NOLOCKSTEP</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private static java.lang.String</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#PLUGIN">PLUGIN</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private static int</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#PLUGIN_LEN">PLUGIN_LEN</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private java.util.Map&lt;java.lang.String,&#8203;<a href="ConcurrentTestPlugin.html" title="class in org.apache.calcite.test.concurrent">ConcurrentTestPlugin</a>&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#pluginForCommand">pluginForCommand</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private java.util.List&lt;<a href="ConcurrentTestPlugin.html" title="class in org.apache.calcite.test.concurrent">ConcurrentTestPlugin</a>&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#plugins">plugins</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private static java.lang.String</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#POST_CLEANUP_STATE">POST_CLEANUP_STATE</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private static java.lang.String</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#POST_SETUP_STATE">POST_SETUP_STATE</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private static java.lang.String</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#POST_THREAD_STATE">POST_THREAD_STATE</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private static java.lang.String</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#PRE_SETUP_STATE">PRE_SETUP_STATE</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private static java.lang.String</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#PREPARE">PREPARE</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private static int</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#PREPARE_LEN">PREPARE_LEN</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private java.util.Map&lt;java.lang.String,&#8203;<a href="ConcurrentTestPlugin.html" title="class in org.apache.calcite.test.concurrent">ConcurrentTestPlugin</a>&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#preSetupPluginForCommand">preSetupPluginForCommand</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private static java.lang.String</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#PRINT">PRINT</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private static int</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#PRINT_LEN">PRINT_LEN</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#quiet">quiet</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private static java.lang.String</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#REPEAT">REPEAT</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private static int</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#REPEAT_LEN">REPEAT_LEN</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private static int</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#REPEAT_READ_AHEAD_LIMIT">REPEAT_READ_AHEAD_LIMIT</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private static java.lang.String</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#REPEAT_STATE">REPEAT_STATE</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private static java.lang.String</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#ROWLIMIT">ROWLIMIT</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private static int</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#ROWLIMIT_LEN">ROWLIMIT_LEN</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private java.io.File</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#scriptDirectory">scriptDirectory</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private long</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#scriptStartTime">scriptStartTime</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private static java.lang.String</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#SETUP">SETUP</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private static java.lang.String</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#SETUP_STATE">SETUP_STATE</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private static java.lang.Integer</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#SETUP_THREAD_ID">SETUP_THREAD_ID</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private java.util.List&lt;java.lang.String&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setupCommands">setupCommands</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private static java.lang.String</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#SHELL">SHELL</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private static int</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#SHELL_LEN">SHELL_LEN</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private java.util.regex.Pattern</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#shellWildcardPattern">shellWildcardPattern</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private static java.lang.String</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#SLEEP">SLEEP</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private static int</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#SLEEP_LEN">SLEEP_LEN</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private static char[]</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#SPACES">SPACES</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private static java.lang.String</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#SQL">SQL</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private static java.lang.String</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#SQL_STATE">SQL_STATE</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private static <a href="ConcurrentTestCommandScript.StateAction.html" title="class in org.apache.calcite.test.concurrent">ConcurrentTestCommandScript.StateAction</a>[]</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#STATE_TABLE">STATE_TABLE</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private static java.lang.String</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#SYNC">SYNC</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private static java.lang.String</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#THREAD">THREAD</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private static int</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#THREAD_LEN">THREAD_LEN</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private static java.lang.String</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#THREAD_STATE">THREAD_STATE</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private java.util.Map&lt;java.lang.Integer,&#8203;java.io.BufferedWriter&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#threadBufferedWriters">threadBufferedWriters</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private java.util.Map&lt;java.lang.Integer,&#8203;<a href="ConcurrentTestCommandScript.ResultsReader.html" title="class in org.apache.calcite.test.concurrent">ConcurrentTestCommandScript.ResultsReader</a>&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#threadResultsReaders">threadResultsReaders</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private java.util.Map&lt;java.lang.Integer,&#8203;java.io.StringWriter&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#threadStringWriters">threadStringWriters</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private static java.lang.String</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#TIMEOUT">TIMEOUT</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private static int</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#TIMEOUT_LEN">TIMEOUT_LEN</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private static java.lang.String</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#VAR">VAR</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private static int</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#VAR_LEN">VAR_LEN</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private <a href="ConcurrentTestCommandScript.VariableTable.html" title="class in org.apache.calcite.test.concurrent">ConcurrentTestCommandScript.VariableTable</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#vars">vars</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#verbose">verbose</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a id="fields.inherited.from.class.org.apache.calcite.test.concurrent.ConcurrentTestCommandGenerator">
<!-- -->
</a>
<h3>Fields inherited from class&nbsp;org.apache.calcite.test.concurrent.<a href="ConcurrentTestCommandGenerator.html" title="class in org.apache.calcite.test.concurrent">ConcurrentTestCommandGenerator</a></h3>
<code><a href="ConcurrentTestCommandGenerator.html#debug">debug</a>, <a href="ConcurrentTestCommandGenerator.html#debugStream">debugStream</a>, <a href="ConcurrentTestCommandGenerator.html#jdbcProps">jdbcProps</a>, <a href="ConcurrentTestCommandGenerator.html#jdbcURL">jdbcURL</a></code></li>
</ul>
</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()">ConcurrentTestCommandScript</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<th class="colConstructorName" scope="row"><code><span class="memberNameLink"><a href="#%3Cinit%3E(java.lang.String)">ConcurrentTestCommandScript</a></span>&#8203;(java.lang.String&nbsp;filename)</code></th>
<td class="colLast">
<div class="block">Constructs and prepares a new ConcurrentTestCommandScript.</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="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></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>private void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#addThreadWriters(java.lang.Integer)">addThreadWriters</a></span>&#8203;(java.lang.Integer&nbsp;threadId)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code>private boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#asBoolValue(java.lang.String)">asBoolValue</a></span>&#8203;(java.lang.String&nbsp;s)</code></th>
<td class="colLast">
<div class="block">translates argument of !set force etc.</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code>private java.util.Map&lt;java.lang.Integer,&#8203;java.lang.String[]&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#collectResults()">collectResults</a></span>()</code></th>
<td class="colLast">
<div class="block">Builds a map of thread ids to result data for the thread.</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code>(package private) void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#customErrorHandler(org.apache.calcite.test.concurrent.ConcurrentTestCommandExecutor)">customErrorHandler</a></span>&#8203;(<a href="ConcurrentTestCommandExecutor.html" title="class in org.apache.calcite.test.concurrent">ConcurrentTestCommandExecutor</a>&nbsp;executor)</code></th>
<td class="colLast">
<div class="block">Custom error handling occurs here if
<a href="ConcurrentTestCommandGenerator.html#requiresCustomErrorHandling()"><code>ConcurrentTestCommandGenerator.requiresCustomErrorHandling()</code></a> returns true.</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="#execute()">execute</a></span>()</code></th>
<td class="colLast">
<div class="block">Executes the script</div>
</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#executeCleanup()">executeCleanup</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><code>protected void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#executeCommands(int,java.util.List)">executeCommands</a></span>&#8203;(int&nbsp;threadId,
java.util.List&lt;java.lang.String&gt;&nbsp;commands)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i7" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#executeSetup()">executeSetup</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i8" class="altColor">
<td class="colFirst"><code>private static char[]</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#fill(char%5B%5D,char)">fill</a></span>&#8203;(char[]&nbsp;chars,
char&nbsp;c)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i9" class="rowColor">
<td class="colFirst"><code>private java.lang.String</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getFormattedThreadName(java.lang.Integer)">getFormattedThreadName</a></span>&#8203;(java.lang.Integer&nbsp;id)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i10" class="altColor">
<td class="colFirst"><code>private java.io.BufferedWriter</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getThreadWriter(java.lang.Integer)">getThreadWriter</a></span>&#8203;(java.lang.Integer&nbsp;threadId)</code></th>
<td class="colLast">
<div class="block">Retrieves the output stream for the given thread id.</div>
</td>
</tr>
<tr id="i11" class="rowColor">
<td class="colFirst"><code>private boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#isComment(java.lang.String)">isComment</a></span>&#8203;(java.lang.String&nbsp;line)</code></th>
<td class="colLast">
<div class="block">Identifies the start of a comment line; same rules as sqlline</div>
</td>
</tr>
<tr id="i12" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#isDisabled()">isDisabled</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i13" class="rowColor">
<td class="colFirst"><code>private boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#isSelect(java.lang.String)">isSelect</a></span>&#8203;(java.lang.String&nbsp;sql)</code></th>
<td class="colLast">
<div class="block">Determines whether a block of SQL is a SELECT statement.</div>
</td>
</tr>
<tr id="i14" class="altColor">
<td class="colFirst"><code>static void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#main(java.lang.String%5B%5D)">main</a></span>&#8203;(java.lang.String[]&nbsp;args)</code></th>
<td class="colLast">
<div class="block">Client tool that connects via jdbc and runs one or more mtsql on that
connection.</div>
</td>
</tr>
<tr id="i15" class="rowColor">
<td class="colFirst"><code>private void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#prepare(java.lang.String,java.util.List)">prepare</a></span>&#8203;(java.lang.String&nbsp;filename,
java.util.List&lt;java.lang.String&gt;&nbsp;bindings)</code></th>
<td class="colLast">
<div class="block">Gets ready to execute: loads script FILENAME applying external variable
BINDINGS</div>
</td>
</tr>
<tr id="i16" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#printResults(java.io.PrintWriter)">printResults</a></span>&#8203;(java.io.PrintWriter&nbsp;out)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i17" class="rowColor">
<td class="colFirst"><code>private void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#printThreadResults(java.io.PrintWriter,java.lang.String%5B%5D)">printThreadResults</a></span>&#8203;(java.io.PrintWriter&nbsp;out,
java.lang.String[]&nbsp;threadResult)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i18" class="altColor">
<td class="colFirst"><code>(package private) boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#requiresCustomErrorHandling()">requiresCustomErrorHandling</a></span>()</code></th>
<td class="colLast">
<div class="block">Causes errors to be send here for custom handling.</div>
</td>
</tr>
<tr id="i19" class="rowColor">
<td class="colFirst"><code>(package private) static int</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#runAppProcess(java.lang.ProcessBuilder,org.slf4j.Logger,java.io.Reader,java.io.Writer)">runAppProcess</a></span>&#8203;(java.lang.ProcessBuilder&nbsp;pb,
org.slf4j.Logger&nbsp;logger,
java.io.Reader&nbsp;appInput,
java.io.Writer&nbsp;appOutput)</code></th>
<td class="colLast">
<div class="block">Runs an external application process.</div>
</td>
</tr>
<tr id="i20" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setQuiet(boolean)">setQuiet</a></span>&#8203;(boolean&nbsp;val)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i21" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setVerbose(boolean)">setVerbose</a></span>&#8203;(boolean&nbsp;val)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i22" class="altColor">
<td class="colFirst"><code>private void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#storeMessage(java.lang.Integer,java.lang.String)">storeMessage</a></span>&#8203;(java.lang.Integer&nbsp;threadId,
java.lang.String&nbsp;message)</code></th>
<td class="colLast">
<div class="block">Saves a message to be printed with the thread's output.</div>
</td>
</tr>
<tr id="i23" class="rowColor">
<td class="colFirst"><code>private void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#storeResults(java.lang.Integer,java.sql.ResultSet,long)">storeResults</a></span>&#8203;(java.lang.Integer&nbsp;threadId,
java.sql.ResultSet&nbsp;rset,
long&nbsp;timeout)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i24" class="altColor">
<td class="colFirst"><code>private void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#storeSql(java.lang.Integer,java.lang.String)">storeSql</a></span>&#8203;(java.lang.Integer&nbsp;threadId,
java.lang.String&nbsp;sql)</code></th>
<td class="colLast">
<div class="block">Saves a SQL command to be printed with the thread's output.</div>
</td>
</tr>
<tr id="i25" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#useLockstep()">useLockstep</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a id="methods.inherited.from.class.org.apache.calcite.test.concurrent.ConcurrentTestCommandGenerator">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;org.apache.calcite.test.concurrent.<a href="ConcurrentTestCommandGenerator.html" title="class in org.apache.calcite.test.concurrent">ConcurrentTestCommandGenerator</a></h3>
<code><a href="ConcurrentTestCommandGenerator.html#addCloseCommand(int,int)">addCloseCommand</a>, <a href="ConcurrentTestCommandGenerator.html#addCommand(int,int,org.apache.calcite.test.concurrent.ConcurrentTestCommand)">addCommand</a>, <a href="ConcurrentTestCommandGenerator.html#addCommitCommand(int,int)">addCommitCommand</a>, <a href="ConcurrentTestCommandGenerator.html#addDdlCommand(int,int,java.lang.String)">addDdlCommand</a>, <a href="ConcurrentTestCommandGenerator.html#addExplainCommand(int,int,java.lang.String)">addExplainCommand</a>, <a href="ConcurrentTestCommandGenerator.html#addFetchAndCompareCommand(int,int,int,java.lang.String)">addFetchAndCompareCommand</a>, <a href="ConcurrentTestCommandGenerator.html#addInsertCommand(int,int,int,java.lang.String)">addInsertCommand</a>, <a href="ConcurrentTestCommandGenerator.html#addPrepareCommand(int,int,java.lang.String)">addPrepareCommand</a>, <a href="ConcurrentTestCommandGenerator.html#addRollbackCommand(int,int)">addRollbackCommand</a>, <a href="ConcurrentTestCommandGenerator.html#addSleepCommand(int,int,long)">addSleepCommand</a>, <a href="ConcurrentTestCommandGenerator.html#addSynchronizationCommand(int,int)">addSynchronizationCommand</a>, <a href="ConcurrentTestCommandGenerator.html#failed()">failed</a>, <a href="ConcurrentTestCommandGenerator.html#getCommandIterable(int)">getCommandIterable</a>, <a href="ConcurrentTestCommandGenerator.html#getCommands(int)">getCommands</a>, <a href="ConcurrentTestCommandGenerator.html#getFailedThreads()">getFailedThreads</a>, <a href="ConcurrentTestCommandGenerator.html#getThreadIds()">getThreadIds</a>, <a href="ConcurrentTestCommandGenerator.html#getThreadName(java.lang.Integer)">getThreadName</a>, <a href="ConcurrentTestCommandGenerator.html#hasValidSynchronization()">hasValidSynchronization</a>, <a href="ConcurrentTestCommandGenerator.html#innerExecute()">innerExecute</a>, <a href="ConcurrentTestCommandGenerator.html#postExecute(org.apache.calcite.test.concurrent.ConcurrentTestCommandExecutor%5B%5D)">postExecute</a>, <a href="ConcurrentTestCommandGenerator.html#printCommands(java.io.PrintStream,java.lang.Integer)">printCommands</a>, <a href="ConcurrentTestCommandGenerator.html#setDataSource(java.lang.String,java.util.Properties)">setDataSource</a>, <a href="ConcurrentTestCommandGenerator.html#setDebug(boolean)">setDebug</a>, <a href="ConcurrentTestCommandGenerator.html#setDebug(boolean,java.io.PrintStream)">setDebug</a>, <a href="ConcurrentTestCommandGenerator.html#setThreadName(int,java.lang.String)">setThreadName</a>, <a href="ConcurrentTestCommandGenerator.html#synchronizeCommandSets()">synchronizeCommandSets</a></code></li>
</ul>
<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, toString, 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="PRE_SETUP_STATE">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>PRE_SETUP_STATE</h4>
<pre>private static final&nbsp;java.lang.String PRE_SETUP_STATE</pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../constant-values.html#org.apache.calcite.test.concurrent.ConcurrentTestCommandScript.PRE_SETUP_STATE">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a id="SETUP_STATE">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>SETUP_STATE</h4>
<pre>private static final&nbsp;java.lang.String SETUP_STATE</pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../constant-values.html#org.apache.calcite.test.concurrent.ConcurrentTestCommandScript.SETUP_STATE">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a id="POST_SETUP_STATE">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>POST_SETUP_STATE</h4>
<pre>private static final&nbsp;java.lang.String POST_SETUP_STATE</pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../constant-values.html#org.apache.calcite.test.concurrent.ConcurrentTestCommandScript.POST_SETUP_STATE">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a id="CLEANUP_STATE">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>CLEANUP_STATE</h4>
<pre>private static final&nbsp;java.lang.String CLEANUP_STATE</pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../constant-values.html#org.apache.calcite.test.concurrent.ConcurrentTestCommandScript.CLEANUP_STATE">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a id="POST_CLEANUP_STATE">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>POST_CLEANUP_STATE</h4>
<pre>private static final&nbsp;java.lang.String POST_CLEANUP_STATE</pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../constant-values.html#org.apache.calcite.test.concurrent.ConcurrentTestCommandScript.POST_CLEANUP_STATE">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a id="THREAD_STATE">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>THREAD_STATE</h4>
<pre>private static final&nbsp;java.lang.String THREAD_STATE</pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../constant-values.html#org.apache.calcite.test.concurrent.ConcurrentTestCommandScript.THREAD_STATE">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a id="REPEAT_STATE">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>REPEAT_STATE</h4>
<pre>private static final&nbsp;java.lang.String REPEAT_STATE</pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../constant-values.html#org.apache.calcite.test.concurrent.ConcurrentTestCommandScript.REPEAT_STATE">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a id="SQL_STATE">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>SQL_STATE</h4>
<pre>private static final&nbsp;java.lang.String SQL_STATE</pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../constant-values.html#org.apache.calcite.test.concurrent.ConcurrentTestCommandScript.SQL_STATE">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a id="POST_THREAD_STATE">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>POST_THREAD_STATE</h4>
<pre>private static final&nbsp;java.lang.String POST_THREAD_STATE</pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../constant-values.html#org.apache.calcite.test.concurrent.ConcurrentTestCommandScript.POST_THREAD_STATE">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a id="EOF_STATE">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>EOF_STATE</h4>
<pre>private static final&nbsp;java.lang.String EOF_STATE</pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../constant-values.html#org.apache.calcite.test.concurrent.ConcurrentTestCommandScript.EOF_STATE">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a id="VAR">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>VAR</h4>
<pre>private static final&nbsp;java.lang.String VAR</pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../constant-values.html#org.apache.calcite.test.concurrent.ConcurrentTestCommandScript.VAR">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a id="LOCKSTEP">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>LOCKSTEP</h4>
<pre>private static final&nbsp;java.lang.String LOCKSTEP</pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../constant-values.html#org.apache.calcite.test.concurrent.ConcurrentTestCommandScript.LOCKSTEP">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a id="NOLOCKSTEP">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>NOLOCKSTEP</h4>
<pre>private static final&nbsp;java.lang.String NOLOCKSTEP</pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../constant-values.html#org.apache.calcite.test.concurrent.ConcurrentTestCommandScript.NOLOCKSTEP">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a id="ENABLED">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>ENABLED</h4>
<pre>private static final&nbsp;java.lang.String ENABLED</pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../constant-values.html#org.apache.calcite.test.concurrent.ConcurrentTestCommandScript.ENABLED">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a id="DISABLED">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>DISABLED</h4>
<pre>private static final&nbsp;java.lang.String DISABLED</pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../constant-values.html#org.apache.calcite.test.concurrent.ConcurrentTestCommandScript.DISABLED">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a id="SETUP">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>SETUP</h4>
<pre>private static final&nbsp;java.lang.String SETUP</pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../constant-values.html#org.apache.calcite.test.concurrent.ConcurrentTestCommandScript.SETUP">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a id="CLEANUP">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>CLEANUP</h4>
<pre>private static final&nbsp;java.lang.String CLEANUP</pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../constant-values.html#org.apache.calcite.test.concurrent.ConcurrentTestCommandScript.CLEANUP">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a id="END">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>END</h4>
<pre>private static final&nbsp;java.lang.String END</pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../constant-values.html#org.apache.calcite.test.concurrent.ConcurrentTestCommandScript.END">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a id="THREAD">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>THREAD</h4>
<pre>private static final&nbsp;java.lang.String THREAD</pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../constant-values.html#org.apache.calcite.test.concurrent.ConcurrentTestCommandScript.THREAD">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a id="REPEAT">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>REPEAT</h4>
<pre>private static final&nbsp;java.lang.String REPEAT</pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../constant-values.html#org.apache.calcite.test.concurrent.ConcurrentTestCommandScript.REPEAT">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a id="SYNC">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>SYNC</h4>
<pre>private static final&nbsp;java.lang.String SYNC</pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../constant-values.html#org.apache.calcite.test.concurrent.ConcurrentTestCommandScript.SYNC">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a id="TIMEOUT">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>TIMEOUT</h4>
<pre>private static final&nbsp;java.lang.String TIMEOUT</pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../constant-values.html#org.apache.calcite.test.concurrent.ConcurrentTestCommandScript.TIMEOUT">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a id="ROWLIMIT">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>ROWLIMIT</h4>
<pre>private static final&nbsp;java.lang.String ROWLIMIT</pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../constant-values.html#org.apache.calcite.test.concurrent.ConcurrentTestCommandScript.ROWLIMIT">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a id="PREPARE">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>PREPARE</h4>
<pre>private static final&nbsp;java.lang.String PREPARE</pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../constant-values.html#org.apache.calcite.test.concurrent.ConcurrentTestCommandScript.PREPARE">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a id="PRINT">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>PRINT</h4>
<pre>private static final&nbsp;java.lang.String PRINT</pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../constant-values.html#org.apache.calcite.test.concurrent.ConcurrentTestCommandScript.PRINT">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a id="FETCH">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>FETCH</h4>
<pre>private static final&nbsp;java.lang.String FETCH</pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../constant-values.html#org.apache.calcite.test.concurrent.ConcurrentTestCommandScript.FETCH">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a id="CLOSE">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>CLOSE</h4>
<pre>private static final&nbsp;java.lang.String CLOSE</pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../constant-values.html#org.apache.calcite.test.concurrent.ConcurrentTestCommandScript.CLOSE">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a id="SLEEP">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>SLEEP</h4>
<pre>private static final&nbsp;java.lang.String SLEEP</pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../constant-values.html#org.apache.calcite.test.concurrent.ConcurrentTestCommandScript.SLEEP">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a id="ERR">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>ERR</h4>
<pre>private static final&nbsp;java.lang.String ERR</pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../constant-values.html#org.apache.calcite.test.concurrent.ConcurrentTestCommandScript.ERR">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a id="ECHO">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>ECHO</h4>
<pre>private static final&nbsp;java.lang.String ECHO</pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../constant-values.html#org.apache.calcite.test.concurrent.ConcurrentTestCommandScript.ECHO">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a id="INCLUDE">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>INCLUDE</h4>
<pre>private static final&nbsp;java.lang.String INCLUDE</pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../constant-values.html#org.apache.calcite.test.concurrent.ConcurrentTestCommandScript.INCLUDE">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a id="SHELL">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>SHELL</h4>
<pre>private static final&nbsp;java.lang.String SHELL</pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../constant-values.html#org.apache.calcite.test.concurrent.ConcurrentTestCommandScript.SHELL">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a id="PLUGIN">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>PLUGIN</h4>
<pre>private static final&nbsp;java.lang.String PLUGIN</pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../constant-values.html#org.apache.calcite.test.concurrent.ConcurrentTestCommandScript.PLUGIN">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a id="SQL">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>SQL</h4>
<pre>private static final&nbsp;java.lang.String SQL</pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../constant-values.html#org.apache.calcite.test.concurrent.ConcurrentTestCommandScript.SQL">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a id="EOF">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>EOF</h4>
<pre>private static final&nbsp;java.lang.String EOF</pre>
</li>
</ul>
<a id="STATE_TABLE">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>STATE_TABLE</h4>
<pre>private static final&nbsp;<a href="ConcurrentTestCommandScript.StateAction.html" title="class in org.apache.calcite.test.concurrent">ConcurrentTestCommandScript.StateAction</a>[] STATE_TABLE</pre>
</li>
</ul>
<a id="FETCH_LEN">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>FETCH_LEN</h4>
<pre>private static final&nbsp;int FETCH_LEN</pre>
</li>
</ul>
<a id="PREPARE_LEN">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>PREPARE_LEN</h4>
<pre>private static final&nbsp;int PREPARE_LEN</pre>
</li>
</ul>
<a id="PRINT_LEN">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>PRINT_LEN</h4>
<pre>private static final&nbsp;int PRINT_LEN</pre>
</li>
</ul>
<a id="REPEAT_LEN">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>REPEAT_LEN</h4>
<pre>private static final&nbsp;int REPEAT_LEN</pre>
</li>
</ul>
<a id="SLEEP_LEN">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>SLEEP_LEN</h4>
<pre>private static final&nbsp;int SLEEP_LEN</pre>
</li>
</ul>
<a id="THREAD_LEN">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>THREAD_LEN</h4>
<pre>private static final&nbsp;int THREAD_LEN</pre>
</li>
</ul>
<a id="TIMEOUT_LEN">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>TIMEOUT_LEN</h4>
<pre>private static final&nbsp;int TIMEOUT_LEN</pre>
</li>
</ul>
<a id="ROWLIMIT_LEN">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>ROWLIMIT_LEN</h4>
<pre>private static final&nbsp;int ROWLIMIT_LEN</pre>
</li>
</ul>
<a id="ERR_LEN">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>ERR_LEN</h4>
<pre>private static final&nbsp;int ERR_LEN</pre>
</li>
</ul>
<a id="ECHO_LEN">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>ECHO_LEN</h4>
<pre>private static final&nbsp;int ECHO_LEN</pre>
</li>
</ul>
<a id="SHELL_LEN">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>SHELL_LEN</h4>
<pre>private static final&nbsp;int SHELL_LEN</pre>
</li>
</ul>
<a id="PLUGIN_LEN">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>PLUGIN_LEN</h4>
<pre>private static final&nbsp;int PLUGIN_LEN</pre>
</li>
</ul>
<a id="INCLUDE_LEN">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>INCLUDE_LEN</h4>
<pre>private static final&nbsp;int INCLUDE_LEN</pre>
</li>
</ul>
<a id="VAR_LEN">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>VAR_LEN</h4>
<pre>private static final&nbsp;int VAR_LEN</pre>
</li>
</ul>
<a id="BUF_SIZE">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>BUF_SIZE</h4>
<pre>private static final&nbsp;int BUF_SIZE</pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../constant-values.html#org.apache.calcite.test.concurrent.ConcurrentTestCommandScript.BUF_SIZE">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a id="REPEAT_READ_AHEAD_LIMIT">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>REPEAT_READ_AHEAD_LIMIT</h4>
<pre>private static final&nbsp;int REPEAT_READ_AHEAD_LIMIT</pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../constant-values.html#org.apache.calcite.test.concurrent.ConcurrentTestCommandScript.REPEAT_READ_AHEAD_LIMIT">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a id="SPACES">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>SPACES</h4>
<pre>private static final&nbsp;char[] SPACES</pre>
</li>
</ul>
<a id="DASHES">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>DASHES</h4>
<pre>private static final&nbsp;char[] DASHES</pre>
</li>
</ul>
<a id="SETUP_THREAD_ID">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>SETUP_THREAD_ID</h4>
<pre>private static final&nbsp;java.lang.Integer SETUP_THREAD_ID</pre>
</li>
</ul>
<a id="CLEANUP_THREAD_ID">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>CLEANUP_THREAD_ID</h4>
<pre>private static final&nbsp;java.lang.Integer CLEANUP_THREAD_ID</pre>
</li>
</ul>
<a id="quiet">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>quiet</h4>
<pre>private&nbsp;boolean quiet</pre>
</li>
</ul>
<a id="verbose">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>verbose</h4>
<pre>private&nbsp;boolean verbose</pre>
</li>
</ul>
<a id="lockstep">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>lockstep</h4>
<pre>private&nbsp;java.lang.Boolean lockstep</pre>
</li>
</ul>
<a id="disabled">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>disabled</h4>
<pre>private&nbsp;java.lang.Boolean disabled</pre>
</li>
</ul>
<a id="vars">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>vars</h4>
<pre>private&nbsp;<a href="ConcurrentTestCommandScript.VariableTable.html" title="class in org.apache.calcite.test.concurrent">ConcurrentTestCommandScript.VariableTable</a> vars</pre>
</li>
</ul>
<a id="scriptDirectory">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>scriptDirectory</h4>
<pre>private&nbsp;java.io.File scriptDirectory</pre>
</li>
</ul>
<a id="scriptStartTime">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>scriptStartTime</h4>
<pre>private&nbsp;long scriptStartTime</pre>
</li>
</ul>
<a id="plugins">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>plugins</h4>
<pre>private final&nbsp;java.util.List&lt;<a href="ConcurrentTestPlugin.html" title="class in org.apache.calcite.test.concurrent">ConcurrentTestPlugin</a>&gt; plugins</pre>
</li>
</ul>
<a id="pluginForCommand">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>pluginForCommand</h4>
<pre>private final&nbsp;java.util.Map&lt;java.lang.String,&#8203;<a href="ConcurrentTestPlugin.html" title="class in org.apache.calcite.test.concurrent">ConcurrentTestPlugin</a>&gt; pluginForCommand</pre>
</li>
</ul>
<a id="preSetupPluginForCommand">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>preSetupPluginForCommand</h4>
<pre>private final&nbsp;java.util.Map&lt;java.lang.String,&#8203;<a href="ConcurrentTestPlugin.html" title="class in org.apache.calcite.test.concurrent">ConcurrentTestPlugin</a>&gt; preSetupPluginForCommand</pre>
</li>
</ul>
<a id="setupCommands">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setupCommands</h4>
<pre>private final&nbsp;java.util.List&lt;java.lang.String&gt; setupCommands</pre>
</li>
</ul>
<a id="cleanupCommands">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>cleanupCommands</h4>
<pre>private final&nbsp;java.util.List&lt;java.lang.String&gt; cleanupCommands</pre>
</li>
</ul>
<a id="threadBufferedWriters">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>threadBufferedWriters</h4>
<pre>private final&nbsp;java.util.Map&lt;java.lang.Integer,&#8203;java.io.BufferedWriter&gt; threadBufferedWriters</pre>
</li>
</ul>
<a id="threadStringWriters">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>threadStringWriters</h4>
<pre>private final&nbsp;java.util.Map&lt;java.lang.Integer,&#8203;java.io.StringWriter&gt; threadStringWriters</pre>
</li>
</ul>
<a id="threadResultsReaders">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>threadResultsReaders</h4>
<pre>private final&nbsp;java.util.Map&lt;java.lang.Integer,&#8203;<a href="ConcurrentTestCommandScript.ResultsReader.html" title="class in org.apache.calcite.test.concurrent">ConcurrentTestCommandScript.ResultsReader</a>&gt; threadResultsReaders</pre>
</li>
</ul>
<a id="shellWildcardPattern">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>shellWildcardPattern</h4>
<pre>private final&nbsp;java.util.regex.Pattern shellWildcardPattern</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;()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>ConcurrentTestCommandScript</h4>
<pre>public&nbsp;ConcurrentTestCommandScript()
throws java.io.IOException</pre>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.io.IOException</code></dd>
</dl>
</li>
</ul>
<a id="&lt;init&gt;(java.lang.String)">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>ConcurrentTestCommandScript</h4>
<pre>public&nbsp;ConcurrentTestCommandScript&#8203;(java.lang.String&nbsp;filename)
throws java.io.IOException</pre>
<div class="block">Constructs and prepares a new ConcurrentTestCommandScript.</div>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.io.IOException</code></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="fill(char[],char)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>fill</h4>
<pre class="methodSignature">private static&nbsp;char[]&nbsp;fill&#8203;(char[]&nbsp;chars,
char&nbsp;c)</pre>
</li>
</ul>
<a id="runAppProcess(java.lang.ProcessBuilder,org.slf4j.Logger,java.io.Reader,java.io.Writer)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>runAppProcess</h4>
<pre class="methodSignature">static&nbsp;int&nbsp;runAppProcess&#8203;(java.lang.ProcessBuilder&nbsp;pb,
org.slf4j.Logger&nbsp;logger,
java.io.Reader&nbsp;appInput,
java.io.Writer&nbsp;appOutput)
throws java.io.IOException,
java.lang.InterruptedException</pre>
<div class="block">Runs an external application process.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>pb</code> - ProcessBuilder for the application</dd>
<dd><code>logger</code> - if not null, command and exit status will be logged here</dd>
<dd><code>appInput</code> - if not null, data will be copied to application's stdin</dd>
<dd><code>appOutput</code> - if not null, data will be captured from application's
stdout and stderr</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>application process exit value</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.io.IOException</code></dd>
<dd><code>java.lang.InterruptedException</code></dd>
</dl>
</li>
</ul>
<a id="prepare(java.lang.String,java.util.List)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>prepare</h4>
<pre class="methodSignature">private&nbsp;void&nbsp;prepare&#8203;(java.lang.String&nbsp;filename,
java.util.List&lt;java.lang.String&gt;&nbsp;bindings)
throws java.io.IOException</pre>
<div class="block">Gets ready to execute: loads script FILENAME applying external variable
BINDINGS</div>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.io.IOException</code></dd>
</dl>
</li>
</ul>
<a id="execute()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>execute</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;execute()
throws java.lang.Exception</pre>
<div class="block">Executes the script</div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="ConcurrentTestCommandGenerator.html#execute()">execute</a></code>&nbsp;in class&nbsp;<code><a href="ConcurrentTestCommandGenerator.html" title="class in org.apache.calcite.test.concurrent">ConcurrentTestCommandGenerator</a></code></dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.lang.Exception</code> - if no connection found or if a thread operation is
interrupted</dd>
</dl>
</li>
</ul>
<a id="addThreadWriters(java.lang.Integer)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>addThreadWriters</h4>
<pre class="methodSignature">private&nbsp;void&nbsp;addThreadWriters&#8203;(java.lang.Integer&nbsp;threadId)</pre>
</li>
</ul>
<a id="setQuiet(boolean)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setQuiet</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;setQuiet&#8203;(boolean&nbsp;val)</pre>
</li>
</ul>
<a id="setVerbose(boolean)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setVerbose</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;setVerbose&#8203;(boolean&nbsp;val)</pre>
</li>
</ul>
<a id="useLockstep()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>useLockstep</h4>
<pre class="methodSignature">public&nbsp;boolean&nbsp;useLockstep()</pre>
</li>
</ul>
<a id="isDisabled()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isDisabled</h4>
<pre class="methodSignature">public&nbsp;boolean&nbsp;isDisabled()</pre>
</li>
</ul>
<a id="executeSetup()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>executeSetup</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;executeSetup()
throws java.lang.Exception</pre>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.lang.Exception</code></dd>
</dl>
</li>
</ul>
<a id="executeCleanup()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>executeCleanup</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;executeCleanup()
throws java.lang.Exception</pre>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.lang.Exception</code></dd>
</dl>
</li>
</ul>
<a id="executeCommands(int,java.util.List)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>executeCommands</h4>
<pre class="methodSignature">protected&nbsp;void&nbsp;executeCommands&#8203;(int&nbsp;threadId,
java.util.List&lt;java.lang.String&gt;&nbsp;commands)
throws java.lang.Exception</pre>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.lang.Exception</code></dd>
</dl>
</li>
</ul>
<a id="storeResults(java.lang.Integer,java.sql.ResultSet,long)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>storeResults</h4>
<pre class="methodSignature">private&nbsp;void&nbsp;storeResults&#8203;(java.lang.Integer&nbsp;threadId,
java.sql.ResultSet&nbsp;rset,
long&nbsp;timeout)
throws java.sql.SQLException</pre>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.sql.SQLException</code></dd>
</dl>
</li>
</ul>
<a id="isComment(java.lang.String)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isComment</h4>
<pre class="methodSignature">private&nbsp;boolean&nbsp;isComment&#8203;(java.lang.String&nbsp;line)</pre>
<div class="block">Identifies the start of a comment line; same rules as sqlline</div>
</li>
</ul>
<a id="asBoolValue(java.lang.String)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>asBoolValue</h4>
<pre class="methodSignature">private&nbsp;boolean&nbsp;asBoolValue&#8203;(java.lang.String&nbsp;s)</pre>
<div class="block">translates argument of !set force etc.</div>
</li>
</ul>
<a id="isSelect(java.lang.String)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isSelect</h4>
<pre class="methodSignature">private&nbsp;boolean&nbsp;isSelect&#8203;(java.lang.String&nbsp;sql)</pre>
<div class="block">Determines whether a block of SQL is a SELECT statement.</div>
</li>
</ul>
<a id="collectResults()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>collectResults</h4>
<pre class="methodSignature">private&nbsp;java.util.Map&lt;java.lang.Integer,&#8203;java.lang.String[]&gt;&nbsp;collectResults()</pre>
<div class="block">Builds a map of thread ids to result data for the thread. Each result
datum is an <code>String[2]</code> containing the thread name and the
thread's output.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the map.</dd>
</dl>
</li>
</ul>
<a id="getFormattedThreadName(java.lang.Integer)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getFormattedThreadName</h4>
<pre class="methodSignature">private&nbsp;java.lang.String&nbsp;getFormattedThreadName&#8203;(java.lang.Integer&nbsp;id)</pre>
</li>
</ul>
<a id="printResults(java.io.PrintWriter)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>printResults</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;printResults&#8203;(java.io.PrintWriter&nbsp;out)
throws java.io.IOException</pre>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.io.IOException</code></dd>
</dl>
</li>
</ul>
<a id="printThreadResults(java.io.PrintWriter,java.lang.String[])">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>printThreadResults</h4>
<pre class="methodSignature">private&nbsp;void&nbsp;printThreadResults&#8203;(java.io.PrintWriter&nbsp;out,
java.lang.String[]&nbsp;threadResult)
throws java.io.IOException</pre>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.io.IOException</code></dd>
</dl>
</li>
</ul>
<a id="requiresCustomErrorHandling()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>requiresCustomErrorHandling</h4>
<pre class="methodSignature">boolean&nbsp;requiresCustomErrorHandling()</pre>
<div class="block">Causes errors to be send here for custom handling. See
<a href="#customErrorHandler(org.apache.calcite.test.concurrent.ConcurrentTestCommandExecutor)"><code>customErrorHandler(ConcurrentTestCommandExecutor)</code></a>.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="ConcurrentTestCommandGenerator.html#requiresCustomErrorHandling()">requiresCustomErrorHandling</a></code>&nbsp;in class&nbsp;<code><a href="ConcurrentTestCommandGenerator.html" title="class in org.apache.calcite.test.concurrent">ConcurrentTestCommandGenerator</a></code></dd>
</dl>
</li>
</ul>
<a id="customErrorHandler(org.apache.calcite.test.concurrent.ConcurrentTestCommandExecutor)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>customErrorHandler</h4>
<pre class="methodSignature">void&nbsp;customErrorHandler&#8203;(<a href="ConcurrentTestCommandExecutor.html" title="class in org.apache.calcite.test.concurrent">ConcurrentTestCommandExecutor</a>&nbsp;executor)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="ConcurrentTestCommandGenerator.html#customErrorHandler(org.apache.calcite.test.concurrent.ConcurrentTestCommandExecutor)">ConcurrentTestCommandGenerator</a></code></span></div>
<div class="block">Custom error handling occurs here if
<a href="ConcurrentTestCommandGenerator.html#requiresCustomErrorHandling()"><code>ConcurrentTestCommandGenerator.requiresCustomErrorHandling()</code></a> returns true. Default implementation
does nothing.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="ConcurrentTestCommandGenerator.html#customErrorHandler(org.apache.calcite.test.concurrent.ConcurrentTestCommandExecutor)">customErrorHandler</a></code>&nbsp;in class&nbsp;<code><a href="ConcurrentTestCommandGenerator.html" title="class in org.apache.calcite.test.concurrent">ConcurrentTestCommandGenerator</a></code></dd>
</dl>
</li>
</ul>
<a id="getThreadWriter(java.lang.Integer)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getThreadWriter</h4>
<pre class="methodSignature">private&nbsp;java.io.BufferedWriter&nbsp;getThreadWriter&#8203;(java.lang.Integer&nbsp;threadId)</pre>
<div class="block">Retrieves the output stream for the given thread id.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>a BufferedWriter on a StringWriter for the thread.</dd>
</dl>
</li>
</ul>
<a id="storeSql(java.lang.Integer,java.lang.String)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>storeSql</h4>
<pre class="methodSignature">private&nbsp;void&nbsp;storeSql&#8203;(java.lang.Integer&nbsp;threadId,
java.lang.String&nbsp;sql)</pre>
<div class="block">Saves a SQL command to be printed with the thread's output.</div>
</li>
</ul>
<a id="storeMessage(java.lang.Integer,java.lang.String)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>storeMessage</h4>
<pre class="methodSignature">private&nbsp;void&nbsp;storeMessage&#8203;(java.lang.Integer&nbsp;threadId,
java.lang.String&nbsp;message)</pre>
<div class="block">Saves a message to be printed with the thread's output.</div>
</li>
</ul>
<a id="main(java.lang.String[])">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>main</h4>
<pre class="methodSignature">public static&nbsp;void&nbsp;main&#8203;(java.lang.String[]&nbsp;args)</pre>
<div class="block">Client tool that connects via jdbc and runs one or more mtsql on that
connection.
<p>Usage: mtsql [-vgq] -u SERVER -d DRIVER [-n USER][-p PASSWORD]
[VAR=VAL]... SCRIPT [SCRIPT]...</div>
</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/ConcurrentTestCommandScript.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><a href="#nested.class.summary">Nested</a>&nbsp;|&nbsp;</li>
<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="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>