You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@calcite.apache.org by jh...@apache.org on 2016/03/07 21:23:23 UTC

svn commit: r1733977 [9/12] - in /calcite/site/avatica: ./ community/ css/ develop/ docs/ docs/api/ docs/testapi/ downloads/ fonts/ img/ js/ news/ news/2016/ news/2016/03/ news/2016/03/03/ news/2016/03/03/separate-project/ news/2016/03/03/tbd-release/ ...

Added: calcite/site/avatica/target/docs/json_reference.html
URL: http://svn.apache.org/viewvc/calcite/site/avatica/target/docs/json_reference.html?rev=1733977&view=auto
==============================================================================
--- calcite/site/avatica/target/docs/json_reference.html (added)
+++ calcite/site/avatica/target/docs/json_reference.html Mon Mar  7 20:23:21 2016
@@ -0,0 +1,1588 @@
+<!DOCTYPE HTML>
+<html lang="en-US">
+<head>
+  <meta charset="UTF-8">
+  <title>JSON Reference</title>
+  <meta name="viewport" content="width=device-width,initial-scale=1">
+  <meta name="generator" content="Jekyll v3.0.3">
+  <link rel="stylesheet" href="//fonts.googleapis.com/css?family=Lato:300,300italic,400,400italic,700,700italic,900">
+  <link rel="stylesheet" href="/avatica/css/screen.css">
+  <link rel="icon" type="image/x-icon" href="/avatica/favicon.ico">
+  <!--[if lt IE 9]>
+  <script src="/js/html5shiv.min.js"></script>
+  <script src="/js/respond.min.js"></script>
+  <![endif]-->
+</head>
+
+
+<body class="wrap">
+  <header role="banner">
+  <nav class="mobile-nav show-on-mobiles">
+    <ul>
+  <li class="">
+    <a href="/avatica/">Home</a>
+  </li>
+  <li class="">
+    <a href="/avatica/downloads/">Download</a>
+  </li>
+  <li class="">
+    <a href="/avatica/community/">Community</a>
+  </li>
+  <li class="">
+    <a href="/avatica/develop/">Develop</a>
+  </li>
+  <li class="">
+    <a href="/avatica/news/">News</a>
+  </li>
+  <li class="current">
+    <a href="/avatica/docs/">Docs</a>
+  </li>
+</ul>
+
+  </nav>
+  <div class="grid">
+    <div class="unit one-third center-on-mobiles">
+      <h1>
+        <a href="/avatica/..">
+          <span class="sr-only">Apache Calcite Avatica</span>
+          <img src="/avatica/img/logo.png" width="226" height="140" alt="Calcite Logo">
+        </a>
+      </h1>
+    </div>
+    <nav class="main-nav unit two-thirds hide-on-mobiles">
+      <ul>
+  <li class="">
+    <a href="/avatica/">Home</a>
+  </li>
+  <li class="">
+    <a href="/avatica/downloads/">Download</a>
+  </li>
+  <li class="">
+    <a href="/avatica/community/">Community</a>
+  </li>
+  <li class="">
+    <a href="/avatica/develop/">Develop</a>
+  </li>
+  <li class="">
+    <a href="/avatica/news/">News</a>
+  </li>
+  <li class="current">
+    <a href="/avatica/docs/">Docs</a>
+  </li>
+</ul>
+
+    </nav>
+  </div>
+</header>
+
+
+    <section class="docs">
+    <div class="grid">
+
+      <div class="docs-nav-mobile unit whole show-on-mobiles">
+  <select onchange="if (this.value) window.location.href=this.value">
+    <option value="">Navigate the docs…</option>
+    
+    <optgroup label="Overview">
+      
+
+
+  
+
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+
+  
+
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+
+
+    </optgroup>
+    
+    <optgroup label="Reference">
+      
+
+
+  
+
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+
+  
+
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+
+  
+
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+
+
+    </optgroup>
+    
+    <optgroup label="Meta">
+      
+
+
+  
+
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+
+  
+
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+
+  
+
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+
+
+    </optgroup>
+    
+  </select>
+</div>
+
+
+      <div class="unit four-fifths">
+        <article>
+          <h1>JSON Reference</h1>
+          <!--
+
+-->
+
+<p>As Avatica uses JSON to serialize messages sent over an HTTP transport,
+the RPC layer is agnostic of the language used by a client. While the Avatica
+server is written in Java, this enables clients to interact with the server
+using any language instead of being limited to Java.</p>
+
+<p>A specification of the JSON request and response objects are documented
+below. Programmatic bindings for these JSON objects are only available
+in Java. For support outside of Java, see the Protocol Buffer
+<a href="/avatica/docs/avatica_protobuf_reference.html">bindings</a></p>
+
+<h2 id="index">Index</h2>
+
+<h3 id="requests">Requests</h3>
+<ul>
+  <li><a href="#catalogsrequest">CatalogsRequest</a></li><li><a href="#closeconnectionrequest">CloseConnectionRequest</a></li><li><a href="#closestatementrequest">CloseStatementRequest</a></li><li><a href="#columnsrequest">ColumnsRequest</a></li><li><a href="#commitrequest">CommitRequest</a></li><li><a href="#connectionsyncrequest">ConnectionSyncRequest</a></li><li><a href="#createstatementrequest">CreateStatementRequest</a></li><li><a href="#databasepropertyrequest">DatabasePropertyRequest</a></li><li><a href="#executerequest">ExecuteRequest</a></li><li><a href="#fetchrequest">FetchRequest</a></li><li><a href="#openconnectionrequest">OpenConnectionRequest</a></li><li><a href="#prepareandexecuterequest">PrepareAndExecuteRequest</a></li><li><a href="#preparerequest">PrepareRequest</a></li><li><a href="#rollbackrequest">RollbackRequest</a></li><li><a href="#schemasrequest">SchemasRequest</a></li><li><a href="#syncresultsrequest">SyncResultsRequest</a></li><li><a href="#tabletypesreque
 st">TableTypesRequest</a></li><li><a href="#tablesrequest">TablesRequest</a></li><li><a href="#typeinforequest">TypeInfoRequest</a></li>
+</ul>
+
+<h3 id="responses">Responses</h3>
+<ul>
+  <li><a href="#closeconnectionresponse">CloseConnectionResponse</a></li><li><a href="#closestatementresponse">CloseStatementResponse</a></li><li><a href="#commitresponse">CommitResponse</a></li><li><a href="#connectionsyncresponse">ConnectionSyncResponse</a></li><li><a href="#createstatementresponse">CreateStatementResponse</a></li><li><a href="#databasepropertyresponse">DatabasePropertyResponse</a></li><li><a href="#errorresponse">ErrorResponse</a></li><li><a href="#executeresponse">ExecuteResponse</a></li><li><a href="#fetchresponse">FetchResponse</a></li><li><a href="#openconnectionresponse">OpenConnectionResponse</a></li><li><a href="#prepareresponse">PrepareResponse</a></li><li><a href="#resultsetresponse">ResultSetResponse</a></li><li><a href="#rollbackresponse">RollbackResponse</a></li><li><a href="#syncresultsresponse">SyncResultsResponse</a></li>
+</ul>
+
+<h3 id="miscellaneous">Miscellaneous</h3>
+<ul>
+  <li><a href="#avaticaparameter">AvaticaParameter</a></li><li><a href="#avaticaseverity">AvaticaSeverity</a></li><li><a href="#avaticatype">AvaticaType</a></li><li><a href="#columnmetadata">ColumnMetaData</a></li><li><a href="#connectionproperties">ConnectionProperties</a></li><li><a href="#cursorfactory">CursorFactory</a></li><li><a href="#databaseproperty">DatabaseProperty</a></li><li><a href="#frame">Frame</a></li><li><a href="#querystate">QueryState</a></li><li><a href="#rep">Rep</a></li><li><a href="#rpcmetadata">RpcMetadata</a></li><li><a href="#signature">Signature</a></li><li><a href="#statetype">StateType</a></li><li><a href="#statementhandle">StatementHandle</a></li><li><a href="#statementtype">StatementType</a></li><li><a href="#style">Style</a></li><li><a href="#typedvalue">TypedValue</a></li>
+</ul>
+
+<h2 id="requests-1">Requests</h2>
+
+<p>The collection of all JSON objects accepted as requests to Avatica. All Requests include a <code class="highlighter-rouge">request</code> attribute
+which uniquely identifies the concrete Request from all other Requests.</p>
+
+<h3 id="catalogsrequest">CatalogsRequest</h3>
+
+<p>This request is used to fetch the available catalog names in the database.</p>
+
+<figure class="highlight"><pre><code class="language-json" data-lang="json"><span class="p">{</span><span class="w">
+  </span><span class="nt">"request"</span><span class="p">:</span><span class="w"> </span><span class="s2">"getCatalogs"</span><span class="p">,</span><span class="w">
+  </span><span class="nt">"connectionId"</span><span class="p">:</span><span class="w"> </span><span class="s2">"000000-0000-0000-00000000"</span><span class="w">
+</span><span class="p">}</span></code></pre></figure>
+
+<p><code class="highlighter-rouge">connectionId</code> (required string) The identifier of the connection to use.</p>
+
+<h3 id="closeconnectionrequest">CloseConnectionRequest</h3>
+
+<p>This request is used to close the Connection object in the Avatica server identified by the given IDs.</p>
+
+<figure class="highlight"><pre><code class="language-json" data-lang="json"><span class="p">{</span><span class="w">
+  </span><span class="nt">"request"</span><span class="p">:</span><span class="w"> </span><span class="s2">"closeConnection"</span><span class="p">,</span><span class="w">
+  </span><span class="nt">"connectionId"</span><span class="p">:</span><span class="w"> </span><span class="s2">"000000-0000-0000-00000000"</span><span class="w">
+</span><span class="p">}</span></code></pre></figure>
+
+<p><code class="highlighter-rouge">connectionId</code> (required string) The identifier of the connection to close.</p>
+
+<h3 id="closestatementrequest">CloseStatementRequest</h3>
+
+<p>This request is used to close the Statement object in the Avatica server identified by the given IDs.</p>
+
+<figure class="highlight"><pre><code class="language-json" data-lang="json"><span class="p">{</span><span class="w">
+  </span><span class="nt">"request"</span><span class="p">:</span><span class="w"> </span><span class="s2">"closeStatement"</span><span class="p">,</span><span class="w">
+  </span><span class="nt">"connectionId"</span><span class="p">:</span><span class="w"> </span><span class="s2">"000000-0000-0000-00000000"</span><span class="p">,</span><span class="w">
+  </span><span class="nt">"statementId"</span><span class="p">:</span><span class="w"> </span><span class="mi">12345</span><span class="w">
+</span><span class="p">}</span></code></pre></figure>
+
+<p><code class="highlighter-rouge">connectionId</code> (required string) The identifier of the connection to which the statement belongs.</p>
+
+<p><code class="highlighter-rouge">statementId</code> (required integer) The identifier of the statement to close.</p>
+
+<h3 id="columnsrequest">ColumnsRequest</h3>
+
+<p>This request is used to fetch columns in the database given some optional filtering criteria.</p>
+
+<figure class="highlight"><pre><code class="language-json" data-lang="json"><span class="p">{</span><span class="w">
+  </span><span class="nt">"request"</span><span class="p">:</span><span class="w"> </span><span class="s2">"getColumns"</span><span class="p">,</span><span class="w">
+  </span><span class="nt">"connectionId"</span><span class="p">:</span><span class="w"> </span><span class="s2">"000000-0000-0000-00000000"</span><span class="p">,</span><span class="w">
+  </span><span class="nt">"catalog"</span><span class="p">:</span><span class="w"> </span><span class="s2">"catalog"</span><span class="p">,</span><span class="w">
+  </span><span class="nt">"schemaPattern"</span><span class="p">:</span><span class="w"> </span><span class="s2">"schema_pattern.*"</span><span class="p">,</span><span class="w">
+  </span><span class="nt">"tableNamePattern"</span><span class="p">:</span><span class="w"> </span><span class="s2">"table_pattern.*"</span><span class="p">,</span><span class="w">
+  </span><span class="nt">"columnNamePattern"</span><span class="p">:</span><span class="w"> </span><span class="s2">"column_pattern.*"</span><span class="w">
+</span><span class="p">}</span></code></pre></figure>
+
+<p><code class="highlighter-rouge">connectionId</code> (required string) The identifier of the connection on which to fetch the columns.</p>
+
+<p><code class="highlighter-rouge">catalog</code> (optional string) The name of a catalog to limit returned columns.</p>
+
+<p><code class="highlighter-rouge">schemaPattern</code> (optional string) A Java Pattern against schemas to limit returned columns.</p>
+
+<p><code class="highlighter-rouge">tableNamePattern</code> (optional string) A Java Pattern against table names to limit returned columns.</p>
+
+<p><code class="highlighter-rouge">columnNamePattern</code> (optional string) A Java Pattern against column names to limit returned columns.</p>
+
+<h3 id="commitrequest">CommitRequest</h3>
+
+<p>This request is used to issue a <code class="highlighter-rouge">commit</code> on the Connection in the Avatica server identified by the given ID.</p>
+
+<figure class="highlight"><pre><code class="language-json" data-lang="json"><span class="p">{</span><span class="w">
+  </span><span class="nt">"request"</span><span class="p">:</span><span class="w"> </span><span class="s2">"commit"</span><span class="p">,</span><span class="w">
+  </span><span class="nt">"connectionId"</span><span class="p">:</span><span class="w"> </span><span class="s2">"000000-0000-0000-00000000"</span><span class="w">
+</span><span class="p">}</span></code></pre></figure>
+
+<p><code class="highlighter-rouge">connectionId</code> (required string) The identifier of the connection on which to invoke commit.</p>
+
+<h3 id="connectionsyncrequest">ConnectionSyncRequest</h3>
+
+<p>This request is used to ensure that the client and server have a consistent view of the database properties.</p>
+
+<figure class="highlight"><pre><code class="language-json" data-lang="json"><span class="p">{</span><span class="w">
+  </span><span class="nt">"request"</span><span class="p">:</span><span class="w"> </span><span class="s2">"connectionSync"</span><span class="p">,</span><span class="w">
+  </span><span class="nt">"connectionId"</span><span class="p">:</span><span class="w"> </span><span class="s2">"000000-0000-0000-00000000"</span><span class="p">,</span><span class="w">
+  </span><span class="nt">"connProps"</span><span class="p">:</span><span class="w"> </span><span class="err">ConnectionProperties</span><span class="w">
+</span><span class="p">}</span></code></pre></figure>
+
+<p><code class="highlighter-rouge">connectionId</code> (required string) The identifier of the connection to synchronize.</p>
+
+<p><code class="highlighter-rouge">connProps</code> (optional nested object) A <a href="#connectionproperties">ConnectionProperties</a> object to synchronize between the client and server.</p>
+
+<h3 id="createstatementrequest">CreateStatementRequest</h3>
+
+<p>This request is used to create a new Statement in the Avatica server.</p>
+
+<figure class="highlight"><pre><code class="language-json" data-lang="json"><span class="p">{</span><span class="w">
+  </span><span class="nt">"request"</span><span class="p">:</span><span class="w"> </span><span class="s2">"createStatement"</span><span class="p">,</span><span class="w">
+  </span><span class="nt">"connectionId"</span><span class="p">:</span><span class="w"> </span><span class="s2">"000000-0000-0000-00000000"</span><span class="w">
+</span><span class="p">}</span></code></pre></figure>
+
+<p><code class="highlighter-rouge">connectionId</code> (required string) The identifier of the connection to use in creating a statement.</p>
+
+<h3 id="databasepropertyrequest">DatabasePropertyRequest</h3>
+
+<p>This request is used to fetch all <a href="#databaseproperty">database properties</a>.</p>
+
+<figure class="highlight"><pre><code class="language-json" data-lang="json"><span class="p">{</span><span class="w">
+  </span><span class="nt">"request"</span><span class="p">:</span><span class="w"> </span><span class="s2">"databaseProperties"</span><span class="p">,</span><span class="w">
+</span><span class="err">}</span></code></pre></figure>
+
+<p><code class="highlighter-rouge">connectionId</code> (required string) The identifier of the connection to use when fetching the database properties.</p>
+
+<h3 id="executerequest">ExecuteRequest</h3>
+
+<p>This request is used to execute a PreparedStatement, optionally with values to bind to the parameters in the Statement.</p>
+
+<figure class="highlight"><pre><code class="language-json" data-lang="json"><span class="p">{</span><span class="w">
+  </span><span class="nt">"request"</span><span class="p">:</span><span class="w"> </span><span class="s2">"execute"</span><span class="p">,</span><span class="w">
+  </span><span class="nt">"statementHandle"</span><span class="p">:</span><span class="w"> </span><span class="err">StatementHandle</span><span class="p">,</span><span class="w">
+  </span><span class="nt">"parameterValues"</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="err">TypedValue</span><span class="p">,</span><span class="w"> </span><span class="err">TypedValue</span><span class="p">,</span><span class="w"> </span><span class="err">...</span><span class="w"> </span><span class="p">],</span><span class="w">
+  </span><span class="nt">"maxRowCount"</span><span class="p">:</span><span class="w"> </span><span class="mi">100</span><span class="w">
+</span><span class="p">}</span></code></pre></figure>
+
+<p><code class="highlighter-rouge">statementHandle</code> (required object) A <a href="#statementhandle">StatementHandle</a> object.</p>
+
+<p><code class="highlighter-rouge">parameterValues</code> (optional array of nested objects) The <a href="#typedvalue">TypedValue</a> for each parameter on the prepared statement.</p>
+
+<p><code class="highlighter-rouge">maxRowCount</code> (required long) The maximum number of rows returned in the response.</p>
+
+<h3 id="fetchrequest">FetchRequest</h3>
+
+<p>This request is used to fetch a batch of rows from a Statement previously created.</p>
+
+<figure class="highlight"><pre><code class="language-json" data-lang="json"><span class="p">{</span><span class="w">
+  </span><span class="nt">"request"</span><span class="p">:</span><span class="w"> </span><span class="s2">"fetch"</span><span class="p">,</span><span class="w">
+  </span><span class="nt">"connectionId"</span><span class="p">:</span><span class="w"> </span><span class="s2">"000000-0000-0000-00000000"</span><span class="p">,</span><span class="w">
+  </span><span class="nt">"statementId"</span><span class="p">:</span><span class="w"> </span><span class="mi">12345</span><span class="p">,</span><span class="w">
+  </span><span class="nt">"offset"</span><span class="p">:</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w">
+  </span><span class="nt">"fetchMaxRowCount"</span><span class="p">:</span><span class="w"> </span><span class="mi">100</span><span class="w">
+</span><span class="p">}</span></code></pre></figure>
+
+<p><code class="highlighter-rouge">connectionId</code> (required string) The identifier of the connection to use.</p>
+
+<p><code class="highlighter-rouge">statementId</code> (required integer) The identifier of the statement created using the above connection.</p>
+
+<p><code class="highlighter-rouge">offset</code> (required integer) The positional offset into a result set to fetch.</p>
+
+<p><code class="highlighter-rouge">fetchMatchRowCount</code> (required integer) The maximum number of rows to return in the response to this request.</p>
+
+<h3 id="openconnectionrequest">OpenConnectionRequest</h3>
+
+<p>This request is used to open a new Connection in the Avatica server.</p>
+
+<figure class="highlight"><pre><code class="language-json" data-lang="json"><span class="p">{</span><span class="w">
+  </span><span class="nt">"request"</span><span class="p">:</span><span class="w"> </span><span class="s2">"openConnection"</span><span class="p">,</span><span class="w">
+  </span><span class="nt">"connectionId"</span><span class="p">:</span><span class="w"> </span><span class="s2">"000000-0000-0000-00000000"</span><span class="p">,</span><span class="w">
+  </span><span class="nt">"info"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="nt">"key"</span><span class="p">:</span><span class="s2">"value"</span><span class="p">,</span><span class="w"> </span><span class="err">...}</span><span class="w">
+</span><span class="p">}</span></code></pre></figure>
+
+<p><code class="highlighter-rouge">connectionId</code> (required string) The identifier of the connection to open in the server.</p>
+
+<p><code class="highlighter-rouge">info</code> (optional string-to-string map) A Map containing properties to include when creating the Connection.</p>
+
+<h3 id="prepareandexecuterequest">PrepareAndExecuteRequest</h3>
+
+<p>This request is used as a short-hand for create a Statement and fetching the first batch of results in a single call without any parameter substitution.</p>
+
+<figure class="highlight"><pre><code class="language-json" data-lang="json"><span class="p">{</span><span class="w">
+  </span><span class="nt">"request"</span><span class="p">:</span><span class="w"> </span><span class="s2">"prepareAndExecute"</span><span class="p">,</span><span class="w">
+  </span><span class="nt">"connectionId"</span><span class="p">:</span><span class="w"> </span><span class="s2">"000000-0000-0000-00000000"</span><span class="p">,</span><span class="w">
+  </span><span class="nt">"statementId"</span><span class="p">:</span><span class="w"> </span><span class="mi">12345</span><span class="p">,</span><span class="w">
+  </span><span class="nt">"sql"</span><span class="p">:</span><span class="w"> </span><span class="s2">"SELECT * FROM table"</span><span class="p">,</span><span class="w">
+  </span><span class="nt">"maxRowCount"</span><span class="p">:</span><span class="w"> </span><span class="mi">100</span><span class="p">,</span><span class="w">
+</span><span class="err">}</span></code></pre></figure>
+
+<p><code class="highlighter-rouge">connectionId</code> (required string) The identifier for the connection to use.</p>
+
+<p><code class="highlighter-rouge">statementId</code> (required integer) The identifier for the statement created by the above connection to use.</p>
+
+<p><code class="highlighter-rouge">sql</code> (required string) A SQL statement</p>
+
+<p><code class="highlighter-rouge">maxRowCount</code> (required long) The maximum number of rows returned in the response.</p>
+
+<h3 id="preparerequest">PrepareRequest</h3>
+
+<p>This request is used to create create a new Statement with the given query in the Avatica server.</p>
+
+<figure class="highlight"><pre><code class="language-json" data-lang="json"><span class="p">{</span><span class="w">
+  </span><span class="nt">"request"</span><span class="p">:</span><span class="w"> </span><span class="s2">"prepare"</span><span class="p">,</span><span class="w">
+  </span><span class="nt">"connectionId"</span><span class="p">:</span><span class="w"> </span><span class="s2">"000000-0000-0000-00000000"</span><span class="p">,</span><span class="w">
+  </span><span class="nt">"sql"</span><span class="p">:</span><span class="w"> </span><span class="s2">"SELECT * FROM table"</span><span class="p">,</span><span class="w">
+  </span><span class="nt">"maxRowCount"</span><span class="p">:</span><span class="w"> </span><span class="mi">100</span><span class="p">,</span><span class="w">
+</span><span class="err">}</span></code></pre></figure>
+
+<p><code class="highlighter-rouge">connectionId</code> (required string) The identifier for the connection to use.</p>
+
+<p><code class="highlighter-rouge">sql</code> (required string) A SQL statement</p>
+
+<p><code class="highlighter-rouge">maxRowCount</code> (required long) The maximum number of rows returned in the response.</p>
+
+<h3 id="syncresultsrequest">SyncResultsRequest</h3>
+
+<p>This request is used to reset a ResultSet’s iterator to a specific offset in the Avatica server.</p>
+
+<figure class="highlight"><pre><code class="language-json" data-lang="json"><span class="p">{</span><span class="w">
+  </span><span class="nt">"request"</span><span class="p">:</span><span class="w"> </span><span class="s2">"syncResults"</span><span class="p">,</span><span class="w">
+  </span><span class="nt">"connectionId"</span><span class="p">:</span><span class="w"> </span><span class="s2">"000000-0000-0000-00000000"</span><span class="p">,</span><span class="w">
+  </span><span class="nt">"statementId"</span><span class="p">:</span><span class="w"> </span><span class="mi">12345</span><span class="p">,</span><span class="w">
+  </span><span class="nt">"state"</span><span class="p">:</span><span class="w"> </span><span class="err">QueryState</span><span class="p">,</span><span class="w">
+  </span><span class="nt">"offset"</span><span class="p">:</span><span class="w"> </span><span class="mi">200</span><span class="w">
+</span><span class="p">}</span></code></pre></figure>
+
+<p><code class="highlighter-rouge">connectionId</code> (required string) The identifier for the connection to use.</p>
+
+<p><code class="highlighter-rouge">statementId</code> (required integer) The identifier for the statement to use.</p>
+
+<p><code class="highlighter-rouge">state</code> (required object) The <a href="#querystate">QueryState</a> object.</p>
+
+<p><code class="highlighter-rouge">offset</code> (required long) The offset into the ResultSet to seek to.</p>
+
+<h3 id="rollbackrequest">RollbackRequest</h3>
+
+<p>This request is used to issue a <code class="highlighter-rouge">rollback</code> on the Connection in the Avatica server identified by the given ID.</p>
+
+<figure class="highlight"><pre><code class="language-json" data-lang="json"><span class="p">{</span><span class="w">
+  </span><span class="nt">"request"</span><span class="p">:</span><span class="w"> </span><span class="s2">"rollback"</span><span class="p">,</span><span class="w">
+  </span><span class="nt">"connectionId"</span><span class="p">:</span><span class="w"> </span><span class="s2">"000000-0000-0000-00000000"</span><span class="w">
+</span><span class="p">}</span></code></pre></figure>
+
+<p><code class="highlighter-rouge">connectionId</code> (required string) The identifier for the connection on which to invoke rollback.</p>
+
+<h3 id="schemasrequest">SchemasRequest</h3>
+
+<p>This request is used to fetch the schemas matching the provided criteria in the database.</p>
+
+<figure class="highlight"><pre><code class="language-json" data-lang="json"><span class="p">{</span><span class="w">
+  </span><span class="nt">"request"</span><span class="p">:</span><span class="w"> </span><span class="s2">"getSchemas"</span><span class="p">,</span><span class="w">
+  </span><span class="nt">"connectionId"</span><span class="p">:</span><span class="w"> </span><span class="s2">"000000-0000-0000-00000000"</span><span class="p">,</span><span class="w">
+  </span><span class="nt">"catalog"</span><span class="p">:</span><span class="w"> </span><span class="s2">"name"</span><span class="p">,</span><span class="w">
+  </span><span class="nt">"schemaPattern"</span><span class="p">:</span><span class="w"> </span><span class="s2">"pattern.*"</span><span class="w">
+</span><span class="p">}</span></code></pre></figure>
+
+<p><code class="highlighter-rouge">connection_id</code> The identifier for the connection to fetch schemas from.</p>
+
+<p><code class="highlighter-rouge">catalog</code> (required string) The name of the catalog to fetch the schema from.</p>
+
+<p><code class="highlighter-rouge">schemaPattern</code> (required string) A Java pattern of schemas to fetch.</p>
+
+<h3 id="tabletypesrequest">TableTypesRequest</h3>
+
+<p>This request is used to fetch the table types available in this database.</p>
+
+<figure class="highlight"><pre><code class="language-json" data-lang="json"><span class="p">{</span><span class="w">
+  </span><span class="nt">"request"</span><span class="p">:</span><span class="w"> </span><span class="s2">"getTableTypes"</span><span class="p">,</span><span class="w">
+  </span><span class="nt">"connectionId"</span><span class="p">:</span><span class="w"> </span><span class="s2">"000000-0000-0000-00000000"</span><span class="w">
+</span><span class="p">}</span></code></pre></figure>
+
+<p><code class="highlighter-rouge">connectionId</code> The identifier of the connection to fetch the table types from.</p>
+
+<h3 id="tablesrequest">TablesRequest</h3>
+
+<p>This request is used to fetch the tables available in this database filtered by the provided criteria.</p>
+
+<figure class="highlight"><pre><code class="language-json" data-lang="json"><span class="p">{</span><span class="w">
+  </span><span class="nt">"request"</span><span class="p">:</span><span class="w"> </span><span class="s2">"getTables"</span><span class="p">,</span><span class="w">
+  </span><span class="nt">"connectionId"</span><span class="p">:</span><span class="w"> </span><span class="s2">"000000-0000-0000-00000000"</span><span class="p">,</span><span class="w">
+  </span><span class="nt">"catalog"</span><span class="p">:</span><span class="w"> </span><span class="s2">"catalog_name"</span><span class="p">,</span><span class="w">
+  </span><span class="nt">"schemaPattern"</span><span class="p">:</span><span class="w"> </span><span class="s2">"schema_pattern.*"</span><span class="p">,</span><span class="w">
+  </span><span class="nt">"tableNamePattern"</span><span class="p">:</span><span class="w"> </span><span class="s2">"table_name_pattern.*"</span><span class="p">,</span><span class="w">
+  </span><span class="nt">"typeList"</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="w"> </span><span class="s2">"TABLE"</span><span class="p">,</span><span class="w"> </span><span class="s2">"VIEW"</span><span class="p">,</span><span class="w"> </span><span class="err">...</span><span class="w"> </span><span class="p">]</span><span class="w">
+</span><span class="p">}</span></code></pre></figure>
+
+<p><code class="highlighter-rouge">catalog</code> (optional string) The name of a catalog to restrict fetched tables.</p>
+
+<p><code class="highlighter-rouge">connectionId</code> The identifier of the connection to fetch the tables from.</p>
+
+<p><code class="highlighter-rouge">schemaPattern</code> (optional string) A Java Pattern representing schemas to include in fetched tables.</p>
+
+<p><code class="highlighter-rouge">tableNamePattern</code> (optional string) A Java Pattern representing table names to include in fetched tables.</p>
+
+<p><code class="highlighter-rouge">typeList</code> (optional array of string) A list of table types used to restrict fetched tables.</p>
+
+<h3 id="typeinforequest">TypeInfoRequest</h3>
+
+<p>This request is used to fetch the types available in this database.</p>
+
+<figure class="highlight"><pre><code class="language-json" data-lang="json"><span class="p">{</span><span class="w">
+  </span><span class="nt">"request"</span><span class="p">:</span><span class="w"> </span><span class="s2">"getTypeInfo"</span><span class="p">,</span><span class="w">
+  </span><span class="nt">"connectionId"</span><span class="p">:</span><span class="w"> </span><span class="s2">"000000-0000-0000-00000000"</span><span class="w">
+</span><span class="p">}</span></code></pre></figure>
+
+<p><code class="highlighter-rouge">connectionId</code> The identifier of the connection to fetch the types from.</p>
+
+<h2 id="responses-1">Responses</h2>
+
+<p>The collection of all JSON objects returned as responses from Avatica. All Responses include a <code class="highlighter-rouge">response</code> attribute
+which uniquely identifies the concrete Response from all other Responses.</p>
+
+<h3 id="closeconnectionresponse">CloseConnectionResponse</h3>
+
+<p>A response to the <a href="#closeconnectionrequest">CloseConnectionRequest</a>.</p>
+
+<figure class="highlight"><pre><code class="language-json" data-lang="json"><span class="p">{</span><span class="w">
+  </span><span class="nt">"response"</span><span class="p">:</span><span class="w"> </span><span class="s2">"closeConnection"</span><span class="p">,</span><span class="w">
+  </span><span class="nt">"rpcMetadata"</span><span class="p">:</span><span class="w"> </span><span class="err">RpcMetadata</span><span class="w">
+</span><span class="p">}</span></code></pre></figure>
+
+<p><code class="highlighter-rouge">rpcMetadata</code> <a href="#rpcmetadata">Server metadata</a> about this call.</p>
+
+<h3 id="closestatementresponse">CloseStatementResponse</h3>
+
+<p>A response to the <a href="#closestatementrequest">CloseStatementRequest</a>.</p>
+
+<figure class="highlight"><pre><code class="language-json" data-lang="json"><span class="p">{</span><span class="w">
+  </span><span class="nt">"response"</span><span class="p">:</span><span class="w"> </span><span class="s2">"closeStatement"</span><span class="p">,</span><span class="w">
+  </span><span class="nt">"rpcMetadata"</span><span class="p">:</span><span class="w"> </span><span class="err">RpcMetadata</span><span class="w">
+</span><span class="p">}</span></code></pre></figure>
+
+<p><code class="highlighter-rouge">rpcMetadata</code> <a href="#rpcmetadata">Server metadata</a> about this call.</p>
+
+<h3 id="commitresponse">CommitResponse</h3>
+
+<p>A response to the <a href="#commitrequest">CommitRequest</a>.</p>
+
+<figure class="highlight"><pre><code class="language-json" data-lang="json"><span class="p">{</span><span class="w">
+  </span><span class="nt">"response"</span><span class="p">:</span><span class="w"> </span><span class="s2">"commit"</span><span class="w">
+</span><span class="p">}</span></code></pre></figure>
+
+<p>There are no extra attributes on this Response.</p>
+
+<h3 id="connectionsyncresponse">ConnectionSyncResponse</h3>
+
+<p>A response to the <a href="#connectionsyncrequest">ConnectionSyncRequest</a>. Properties included in the
+response are those of the Connection in the Avatica server.</p>
+
+<figure class="highlight"><pre><code class="language-json" data-lang="json"><span class="p">{</span><span class="w">
+  </span><span class="nt">"response"</span><span class="p">:</span><span class="w"> </span><span class="s2">"connectionSync"</span><span class="p">,</span><span class="w">
+  </span><span class="nt">"connProps"</span><span class="p">:</span><span class="w"> </span><span class="err">ConnectionProperties</span><span class="p">,</span><span class="w">
+  </span><span class="nt">"rpcMetadata"</span><span class="p">:</span><span class="w"> </span><span class="err">RpcMetadata</span><span class="w">
+</span><span class="p">}</span></code></pre></figure>
+
+<p><code class="highlighter-rouge">connProps</code> The <a href="#connectionproperties">ConnectionProperties</a> that were synchronized.</p>
+
+<p><code class="highlighter-rouge">rpcMetadata</code> <a href="#rpcmetadata">Server metadata</a> about this call.</p>
+
+<h3 id="createstatementresponse">CreateStatementResponse</h3>
+
+<p>A response to the <a href="#createstatementrequest">CreateStatementRequest</a>. The ID of the statement
+that was created is included in the response. Clients will use this <code class="highlighter-rouge">statementId</code> in subsequent calls.</p>
+
+<figure class="highlight"><pre><code class="language-json" data-lang="json"><span class="p">{</span><span class="w">
+  </span><span class="nt">"response"</span><span class="p">:</span><span class="w"> </span><span class="s2">"createStatement"</span><span class="p">,</span><span class="w">
+  </span><span class="nt">"connectionId"</span><span class="p">:</span><span class="w"> </span><span class="s2">"000000-0000-0000-00000000"</span><span class="p">,</span><span class="w">
+  </span><span class="nt">"statementId"</span><span class="p">:</span><span class="w"> </span><span class="mi">12345</span><span class="p">,</span><span class="w">
+  </span><span class="nt">"rpcMetadata"</span><span class="p">:</span><span class="w"> </span><span class="err">RpcMetadata</span><span class="w">
+</span><span class="p">}</span></code></pre></figure>
+
+<p><code class="highlighter-rouge">connectionId</code> The identifier for the connection used to create the statement.</p>
+
+<p><code class="highlighter-rouge">statementId</code> The identifier for the created statement.</p>
+
+<p><code class="highlighter-rouge">rpcMetadata</code> <a href="#rpcmetadata">Server metadata</a> about this call.</p>
+
+<h3 id="databasepropertyresponse">DatabasePropertyResponse</h3>
+
+<p>A response to the <a href="#databasepropertyrequest">DatabasePropertyRequest</a>. See <a hred="#databaseproperty">DatabaseProperty</a>
+for information on the available property keys.</p>
+
+<figure class="highlight"><pre><code class="language-json" data-lang="json"><span class="p">{</span><span class="w">
+  </span><span class="nt">"response"</span><span class="p">:</span><span class="w"> </span><span class="s2">"databaseProperties"</span><span class="p">,</span><span class="w">
+  </span><span class="nt">"map"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w"> </span><span class="err">DatabaseProperty:</span><span class="w"> </span><span class="err">Object,</span><span class="w"> </span><span class="err">DatabaseProperty:</span><span class="w"> </span><span class="err">Object,</span><span class="w"> </span><span class="err">...</span><span class="w"> </span><span class="p">},</span><span class="w">
+  </span><span class="nt">"rpcMetadata"</span><span class="p">:</span><span class="w"> </span><span class="err">RpcMetadata</span><span class="w">
+</span><span class="p">}</span></code></pre></figure>
+
+<p><code class="highlighter-rouge">map</code> A map of <a href="#databaseproperty">DatabaseProperty</a> to value of that property. The value may be some
+primitive type or an array of primitive types.</p>
+
+<p><code class="highlighter-rouge">rpcMetadata</code> <a href="#rpcmetadata">Server metadata</a> about this call.</p>
+
+<h3 id="errorresponse">ErrorResponse</h3>
+
+<p>A response when an error was caught executing a request. Any request may return this response.</p>
+
+<figure class="highlight"><pre><code class="language-json" data-lang="json"><span class="p">{</span><span class="w">
+  </span><span class="nt">"response"</span><span class="p">:</span><span class="w"> </span><span class="s2">"error"</span><span class="p">,</span><span class="w">
+  </span><span class="nt">"exceptions"</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="w"> </span><span class="s2">"stacktrace"</span><span class="p">,</span><span class="w"> </span><span class="s2">"stacktrace"</span><span class="p">,</span><span class="w"> </span><span class="err">...</span><span class="w"> </span><span class="p">],</span><span class="w">
+  </span><span class="nt">"errorMessage"</span><span class="p">:</span><span class="w"> </span><span class="s2">"The error message"</span><span class="p">,</span><span class="w">
+  </span><span class="nt">"errorCode"</span><span class="p">:</span><span class="w"> </span><span class="mi">42</span><span class="p">,</span><span class="w">
+  </span><span class="nt">"sqlState"</span><span class="p">:</span><span class="w"> </span><span class="s2">"ABC12"</span><span class="p">,</span><span class="w">
+  </span><span class="nt">"severity"</span><span class="p">:</span><span class="w"> </span><span class="err">AvaticaSeverity</span><span class="p">,</span><span class="w">
+  </span><span class="nt">"rpcMetadata"</span><span class="p">:</span><span class="w"> </span><span class="err">RpcMetadata</span><span class="w">
+</span><span class="p">}</span></code></pre></figure>
+
+<p><code class="highlighter-rouge">exceptions</code> A list of stringified Java StackTraces.</p>
+
+<p><code class="highlighter-rouge">errorMessage</code> A human-readable error message.</p>
+
+<p><code class="highlighter-rouge">errorCode</code> A numeric code for this error.</p>
+
+<p><code class="highlighter-rouge">sqlState</code> A five character alphanumeric code for this error.</p>
+
+<p><code class="highlighter-rouge">severity</code> An <a href="#avaticaseverity">AvaticaSeverity</a> object which denotes how critical the error is.</p>
+
+<p><code class="highlighter-rouge">rpcMetadata</code> <a href="#rpcmetadata">Server metadata</a> about this call.</p>
+
+<h3 id="executeresponse">ExecuteResponse</h3>
+
+<p>A response to the <a href="#executerequest">ExecuteRequest</a> which contains the results for a metadata query.</p>
+
+<figure class="highlight"><pre><code class="language-json" data-lang="json"><span class="p">{</span><span class="w">
+  </span><span class="nt">"response"</span><span class="p">:</span><span class="w"> </span><span class="s2">"executeResults"</span><span class="p">,</span><span class="w">
+  </span><span class="nt">"resultSets"</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="w"> </span><span class="err">ResultSetResponse</span><span class="p">,</span><span class="w"> </span><span class="err">ResultSetResponse</span><span class="p">,</span><span class="w"> </span><span class="err">...</span><span class="w"> </span><span class="p">],</span><span class="w">
+  </span><span class="nt">"missingStatement"</span><span class="p">:</span><span class="w"> </span><span class="kc">false</span><span class="p">,</span><span class="w">
+  </span><span class="nt">"rpcMetadata"</span><span class="p">:</span><span class="w"> </span><span class="err">RpcMetadata</span><span class="w">
+</span><span class="p">}</span></code></pre></figure>
+
+<p><code class="highlighter-rouge">resultSets</code> An array of <a href="#resultsetresponse">ResultSetResponse</a>s.</p>
+
+<p><code class="highlighter-rouge">missingStatement</code> A boolean which denotes if the request failed due to a missing Statement.</p>
+
+<p><code class="highlighter-rouge">rpcMetadata</code> <a href="#rpcmetadata">Server metadata</a> about this call.</p>
+
+<h3 id="fetchresponse">FetchResponse</h3>
+
+<p>A response to the <a href="#fetchrequest">FetchRequest</a> which contains the request for the query.</p>
+
+<figure class="highlight"><pre><code class="language-json" data-lang="json"><span class="p">{</span><span class="w">
+  </span><span class="nt">"response"</span><span class="p">:</span><span class="w"> </span><span class="s2">"fetch"</span><span class="p">,</span><span class="w">
+  </span><span class="nt">"frame"</span><span class="p">:</span><span class="w"> </span><span class="err">Frame</span><span class="p">,</span><span class="w">
+  </span><span class="nt">"missingStatement"</span><span class="p">:</span><span class="w"> </span><span class="kc">false</span><span class="p">,</span><span class="w">
+  </span><span class="nt">"missingResults"</span><span class="p">:</span><span class="w"> </span><span class="kc">false</span><span class="p">,</span><span class="w">
+  </span><span class="nt">"rpcMetadata"</span><span class="p">:</span><span class="w"> </span><span class="err">RpcMetadata</span><span class="w">
+</span><span class="p">}</span></code></pre></figure>
+
+<p><code class="highlighter-rouge">frame</code> A <a href="#frame">Frame</a> containing the results of the fetch.</p>
+
+<p><code class="highlighter-rouge">missingStatement</code> A boolean which denotes if the request failed due to a missing Statement.</p>
+
+<p><code class="highlighter-rouge">missingResults</code> A boolean which denotes if the request failed due to a missing ResultSet.</p>
+
+<p><code class="highlighter-rouge">rpcMetadata</code> <a href="#rpcmetadata">Server metadata</a> about this call.</p>
+
+<h3 id="openconnectionresponse">OpenConnectionResponse</h3>
+
+<p>A response to the <a href="#openconnectionrequest">OpenConnectionRequest</a>. The ID for the connection that
+the client should use in subsequent calls was provided by the client in the request.</p>
+
+<figure class="highlight"><pre><code class="language-json" data-lang="json"><span class="p">{</span><span class="w">
+  </span><span class="nt">"response"</span><span class="p">:</span><span class="w"> </span><span class="s2">"openConnection"</span><span class="p">,</span><span class="w">
+  </span><span class="nt">"rpcMetadata"</span><span class="p">:</span><span class="w"> </span><span class="err">RpcMetadata</span><span class="w">
+</span><span class="p">}</span></code></pre></figure>
+
+<p><code class="highlighter-rouge">rpcMetadata</code> <a href="#rpcmetadata">Server metadata</a> about this call.</p>
+
+<h3 id="prepareresponse">PrepareResponse</h3>
+
+<p>A response to the <a href="#preparerequest">PrepareRequest</a>. This response includes a <a href="#statementhandle">StatementHandle</a>
+which clients must use to fetch the results from the Statement.</p>
+
+<figure class="highlight"><pre><code class="language-json" data-lang="json"><span class="p">{</span><span class="w">
+  </span><span class="nt">"response"</span><span class="p">:</span><span class="w"> </span><span class="s2">"prepare"</span><span class="p">,</span><span class="w">
+  </span><span class="nt">"statement"</span><span class="p">:</span><span class="w"> </span><span class="err">StatementHandle</span><span class="p">,</span><span class="w">
+  </span><span class="nt">"rpcMetadata"</span><span class="p">:</span><span class="w"> </span><span class="err">RpcMetadata</span><span class="w">
+</span><span class="p">}</span></code></pre></figure>
+
+<p><code class="highlighter-rouge">statement</code> A <a href="#statementhandle">StatementHandle</a> object.</p>
+
+<p><code class="highlighter-rouge">rpcMetadata</code> <a href="#rpcmetadata">Server metadata</a> about this call.</p>
+
+<h3 id="resultsetresponse">ResultSetResponse</h3>
+
+<p>A response which contains the results and type details from a query.</p>
+
+<figure class="highlight"><pre><code class="language-json" data-lang="json"><span class="p">{</span><span class="w">
+  </span><span class="nt">"response"</span><span class="p">:</span><span class="w"> </span><span class="s2">"resultSet"</span><span class="p">,</span><span class="w">
+  </span><span class="nt">"connectionId"</span><span class="p">:</span><span class="w"> </span><span class="s2">"000000-0000-0000-00000000"</span><span class="p">,</span><span class="w">
+  </span><span class="nt">"statementId"</span><span class="p">:</span><span class="w"> </span><span class="mi">12345</span><span class="p">,</span><span class="w">
+  </span><span class="nt">"ownStatement"</span><span class="p">:</span><span class="w"> </span><span class="kc">true</span><span class="p">,</span><span class="w">
+  </span><span class="nt">"signature"</span><span class="p">:</span><span class="w"> </span><span class="err">Signature</span><span class="p">,</span><span class="w">
+  </span><span class="nt">"firstFrame"</span><span class="p">:</span><span class="w"> </span><span class="err">Frame</span><span class="p">,</span><span class="w">
+  </span><span class="nt">"updateCount"</span><span class="p">:</span><span class="w"> </span><span class="mi">10</span><span class="p">,</span><span class="w">
+  </span><span class="nt">"rpcMetadata"</span><span class="p">:</span><span class="w"> </span><span class="err">RpcMetadata</span><span class="w">
+</span><span class="p">}</span></code></pre></figure>
+
+<p><code class="highlighter-rouge">connectionId</code> The identifier for the connection used to generate this response.</p>
+
+<p><code class="highlighter-rouge">statementId</code> The identifier for the statement used to generate this response.</p>
+
+<p><code class="highlighter-rouge">ownStatement</code> Whether the result set has its own dedicated statement. If true, the server must automatically close the
+statement when the result set is closed. This is used for JDBC metadata result sets, for instance.</p>
+
+<p><code class="highlighter-rouge">signature</code> A non-optional nested object <a href="#signature">Signature</a></p>
+
+<p><code class="highlighter-rouge">firstFrame</code> A optional nested object <a href="#frame">Frame</a></p>
+
+<p><code class="highlighter-rouge">updateCount</code> A number which is always <code class="highlighter-rouge">-1</code> for normal result sets. Any other value denotes a “dummy” result set
+that only contains this count and no additional data.</p>
+
+<p><code class="highlighter-rouge">rpcMetadata</code> <a href="#rpcmetadata">Server metadata</a> about this call.</p>
+
+<h3 id="rollbackresponse">RollbackResponse</h3>
+
+<p>A response to the <a href="#rollbackrequest">RollBackRequest</a>.</p>
+
+<figure class="highlight"><pre><code class="language-json" data-lang="json"><span class="p">{</span><span class="w">
+  </span><span class="nt">"response"</span><span class="p">:</span><span class="w"> </span><span class="s2">"rollback"</span><span class="w">
+</span><span class="p">}</span></code></pre></figure>
+
+<p>There are no extra attributes on this Response.</p>
+
+<h3 id="syncresultsresponse">SyncResultsResponse</h3>
+
+<p>A response to the <a href="#syncresultsrequest">SyncResultsRequest</a>. When <code class="highlighter-rouge">moreResults</code> is true, a <a href="#fetchrequest">FetchRequest</a>
+should be issued to get the next batch of records. When <code class="highlighter-rouge">missingStatement</code> is true, the statement must be re-created using <a href="#preparerequest">PrepareRequest</a>
+or the appropriate Request for a DDL request (e.g. <a href="#catalogsrequest">CatalogsRequest</a> or <a href="#schemasrequest">SchemasRequest</a>).</p>
+
+<figure class="highlight"><pre><code class="language-json" data-lang="json"><span class="p">{</span><span class="w">
+  </span><span class="nt">"response"</span><span class="p">:</span><span class="w"> </span><span class="s2">"syncResults"</span><span class="p">,</span><span class="w">
+  </span><span class="nt">"moreResults"</span><span class="p">:</span><span class="w"> </span><span class="kc">true</span><span class="p">,</span><span class="w">
+  </span><span class="nt">"missingStatement"</span><span class="p">:</span><span class="w"> </span><span class="kc">false</span><span class="p">,</span><span class="w">
+  </span><span class="nt">"rpcMetadata"</span><span class="p">:</span><span class="w"> </span><span class="err">RpcMetadata</span><span class="w">
+</span><span class="p">}</span></code></pre></figure>
+
+<p><code class="highlighter-rouge">moreResults</code> A boolean which denotes if results exist for the ResultSet being “synced” per the request.</p>
+
+<p><code class="highlighter-rouge">missingStatement</code> A boolean which denotes if the statement for the ResultSet still exists.</p>
+
+<p><code class="highlighter-rouge">rpcMetadata</code> <a href="#rpcmetadata">Server metadata</a> about this call.</p>
+
+<h2 id="miscellaneous-1">Miscellaneous</h2>
+
+<h3 id="avaticaparameter">AvaticaParameter</h3>
+
+<p>This object describes the “simple”, or scalar, JDBC type representation of a column in a result. This does not include
+complex types such as arrays.</p>
+
+<figure class="highlight"><pre><code class="language-json" data-lang="json"><span class="p">{</span><span class="w">
+  </span><span class="nt">"signed"</span><span class="p">:</span><span class="w"> </span><span class="kc">true</span><span class="p">,</span><span class="w">
+  </span><span class="nt">"precision"</span><span class="p">:</span><span class="w"> </span><span class="mi">10</span><span class="p">,</span><span class="w">
+  </span><span class="nt">"scale"</span><span class="p">:</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w">
+  </span><span class="nt">"parameterType"</span><span class="p">:</span><span class="w"> </span><span class="mi">8</span><span class="p">,</span><span class="w">
+  </span><span class="nt">"typeName"</span><span class="p">:</span><span class="w"> </span><span class="s2">"integer"</span><span class="p">,</span><span class="w">
+  </span><span class="nt">"className"</span><span class="p">:</span><span class="w"> </span><span class="s2">"java.lang.Integer"</span><span class="p">,</span><span class="w">
+  </span><span class="nt">"name"</span><span class="p">:</span><span class="w"> </span><span class="s2">"number"</span><span class="w">
+</span><span class="p">}</span></code></pre></figure>
+
+<p><code class="highlighter-rouge">signed</code> A boolean denoting whether the column is a signed numeric.</p>
+
+<p><code class="highlighter-rouge">precision</code> The maximum numeric precision supported by this column.</p>
+
+<p><code class="highlighter-rouge">scale</code> The maximum numeric scale supported by this column.</p>
+
+<p><code class="highlighter-rouge">parameterType</code> An integer corresponding to the JDBC Types class denoting the column’s type.</p>
+
+<p><code class="highlighter-rouge">typeName</code> The JDBC type name for this column.</p>
+
+<p><code class="highlighter-rouge">className</code> The Java class backing the JDBC type for this column.</p>
+
+<p><code class="highlighter-rouge">name</code> The name of the column.</p>
+
+<h3 id="avaticaseverity">AvaticaSeverity</h3>
+
+<p>This enumeration describes the various levels of concern for an error in the Avatica server.</p>
+
+<p>One of:</p>
+
+<ul>
+  <li><code class="highlighter-rouge">UNKNOWN</code></li>
+  <li><code class="highlighter-rouge">FATAL</code></li>
+  <li><code class="highlighter-rouge">ERROR</code></li>
+  <li><code class="highlighter-rouge">WARNING</code></li>
+</ul>
+
+<h3 id="avaticatype">AvaticaType</h3>
+
+<p>This object describes a simple or complex type for a column. Complex types will contain
+additional information in the <code class="highlighter-rouge">component</code> or <code class="highlighter-rouge">columns</code> attribute which describe the nested
+types of the complex parent type.</p>
+
+<figure class="highlight"><pre><code class="language-json" data-lang="json"><span class="p">{</span><span class="w">
+  </span><span class="nt">"type"</span><span class="p">:</span><span class="w"> </span><span class="s2">"scalar"</span><span class="p">,</span><span class="w">
+  </span><span class="nt">"id"</span><span class="p">:</span><span class="w"> </span><span class="s2">"identifier"</span><span class="p">,</span><span class="w">
+  </span><span class="nt">"name"</span><span class="p">:</span><span class="w"> </span><span class="s2">"column"</span><span class="p">,</span><span class="w">
+  </span><span class="nt">"rep"</span><span class="p">:</span><span class="w"> </span><span class="err">Rep</span><span class="p">,</span><span class="w">
+  </span><span class="nt">"columns"</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="w"> </span><span class="err">ColumnMetaData</span><span class="p">,</span><span class="w"> </span><span class="err">ColumnMetaData</span><span class="p">,</span><span class="w"> </span><span class="err">...</span><span class="w"> </span><span class="p">],</span><span class="w">
+  </span><span class="nt">"component"</span><span class="p">:</span><span class="w"> </span><span class="err">AvaticaType</span><span class="w">
+</span><span class="p">}</span></code></pre></figure>
+
+<p><code class="highlighter-rouge">type</code> One of: <code class="highlighter-rouge">scalar</code>, <code class="highlighter-rouge">array</code>, <code class="highlighter-rouge">struct</code>.</p>
+
+<p><code class="highlighter-rouge">id</code> A numeric value corresponding to the type of the object per the JDBC Types class.</p>
+
+<p><code class="highlighter-rouge">name</code> The readable name of the JDBC type.</p>
+
+<p><code class="highlighter-rouge">rep</code> A nested <a href="#rep">Rep</a> object used by Avatica to hold additional type information.</p>
+
+<p><code class="highlighter-rouge">columns</code> For <code class="highlighter-rouge">STRUCT</code> types, a list of the columns contained in that <code class="highlighter-rouge">STRUCT</code>.</p>
+
+<p><code class="highlighter-rouge">component</code> For <code class="highlighter-rouge">ARRAY</code> types, the type of the elements contained in that <code class="highlighter-rouge">ARRAY</code>.</p>
+
+<h3 id="columnmetadata">ColumnMetaData</h3>
+
+<p>This object represents the JDBC ResultSetMetaData for a column.</p>
+
+<figure class="highlight"><pre><code class="language-json" data-lang="json"><span class="p">{</span><span class="w">
+  </span><span class="nt">"ordinal"</span><span class="p">:</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w">
+  </span><span class="nt">"autoIncrement"</span><span class="p">:</span><span class="w"> </span><span class="kc">true</span><span class="p">,</span><span class="w">
+  </span><span class="nt">"caseSensitive"</span><span class="p">:</span><span class="w"> </span><span class="kc">true</span><span class="p">,</span><span class="w">
+  </span><span class="nt">"searchable"</span><span class="p">:</span><span class="w"> </span><span class="kc">false</span><span class="p">,</span><span class="w">
+  </span><span class="nt">"currency"</span><span class="p">:</span><span class="w"> </span><span class="kc">false</span><span class="p">,</span><span class="w">
+  </span><span class="nt">"nullable"</span><span class="p">:</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w">
+  </span><span class="nt">"signed"</span><span class="p">:</span><span class="w"> </span><span class="kc">true</span><span class="p">,</span><span class="w">
+  </span><span class="nt">"displaySize"</span><span class="p">:</span><span class="w"> </span><span class="mi">20</span><span class="p">,</span><span class="w">
+  </span><span class="nt">"label"</span><span class="p">:</span><span class="w"> </span><span class="s2">"Description"</span><span class="p">,</span><span class="w">
+  </span><span class="nt">"columnName"</span><span class="p">:</span><span class="w"> </span><span class="s2">"col1"</span><span class="p">,</span><span class="w">
+  </span><span class="nt">"schemaName"</span><span class="p">:</span><span class="w"> </span><span class="s2">"schema"</span><span class="p">,</span><span class="w">
+  </span><span class="nt">"precision"</span><span class="p">:</span><span class="w"> </span><span class="mi">10</span><span class="p">,</span><span class="w">
+  </span><span class="nt">"scale"</span><span class="p">:</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w">
+  </span><span class="nt">"tableName"</span><span class="p">:</span><span class="w"> </span><span class="s2">"table"</span><span class="p">,</span><span class="w">
+  </span><span class="nt">"catalogName"</span><span class="p">:</span><span class="w"> </span><span class="s2">"catalog"</span><span class="p">,</span><span class="w">
+  </span><span class="nt">"type"</span><span class="p">:</span><span class="w"> </span><span class="err">AvaticaType</span><span class="p">,</span><span class="w">
+  </span><span class="nt">"readOnly"</span><span class="p">:</span><span class="w"> </span><span class="kc">false</span><span class="p">,</span><span class="w">
+  </span><span class="nt">"writable"</span><span class="p">:</span><span class="w"> </span><span class="kc">true</span><span class="p">,</span><span class="w">
+  </span><span class="nt">"definitelyWritable"</span><span class="p">:</span><span class="w"> </span><span class="kc">true</span><span class="p">,</span><span class="w">
+  </span><span class="nt">"columnClassName"</span><span class="p">:</span><span class="w"> </span><span class="s2">"java.lang.String"</span><span class="w">
+</span><span class="p">}</span></code></pre></figure>
+
+<p><code class="highlighter-rouge">ordinal</code> A positional offset number.</p>
+
+<p><code class="highlighter-rouge">autoIncrement</code> A boolean denoting whether the column is automatically incremented.</p>
+
+<p><code class="highlighter-rouge">caseSensitive</code> A boolean denoting whether the column is case sensitive.</p>
+
+<p><code class="highlighter-rouge">searchable</code> A boolean denoting whether this column supports all WHERE search clauses.</p>
+
+<p><code class="highlighter-rouge">currency</code> A boolean denoting whether this column represents currency.</p>
+
+<p><code class="highlighter-rouge">nullable</code> A number denoting whether this column supports null values.</p>
+
+<ul>
+  <li>0 = No null values are allowed</li>
+  <li>1 = Null values are allowed</li>
+  <li>2 = It is unknown if null values are allowed</li>
+</ul>
+
+<p><code class="highlighter-rouge">signed</code> A boolean denoting whether the column is a signed numeric.</p>
+
+<p><code class="highlighter-rouge">displaySize</code> The character width of the column.</p>
+
+<p><code class="highlighter-rouge">label</code> A description for this column.</p>
+
+<p><code class="highlighter-rouge">columnName</code> The name of the column.</p>
+
+<p><code class="highlighter-rouge">schemaName</code> The schema to which this column belongs.</p>
+
+<p><code class="highlighter-rouge">precision</code> The maximum numeric precision supported by this column.</p>
+
+<p><code class="highlighter-rouge">scale</code> The maximum numeric scale supported by this column.</p>
+
+<p><code class="highlighter-rouge">tableName</code> The name of the table to which this column belongs.</p>
+
+<p><code class="highlighter-rouge">catalogName</code> The name of the catalog to which this column belongs.</p>
+
+<p><code class="highlighter-rouge">type</code> A nested <a href="#avaticatype">AvaticaType</a> representing the type of the column.</p>
+
+<p><code class="highlighter-rouge">readOnly</code> A boolean denoting whether the column is read-only.</p>
+
+<p><code class="highlighter-rouge">writable</code> A boolean denoting whether the column is possible to be updated.</p>
+
+<p><code class="highlighter-rouge">definitelyWritable</code> A boolean denoting whether the column definitely can be updated.</p>
+
+<p><code class="highlighter-rouge">columnClassName</code> The name of the Java class backing the column’s type.</p>
+
+<h3 id="connectionproperties">ConnectionProperties</h3>
+
+<p>This object represents the properties for a given JDBC Connection.</p>
+
+<figure class="highlight"><pre><code class="language-json" data-lang="json"><span class="p">{</span><span class="w">
+  </span><span class="nt">"connProps"</span><span class="p">:</span><span class="w"> </span><span class="s2">"connPropsImpl"</span><span class="p">,</span><span class="w">
+  </span><span class="nt">"autoCommit"</span><span class="p">:</span><span class="w"> </span><span class="kc">true</span><span class="p">,</span><span class="w">
+  </span><span class="nt">"readOnly"</span><span class="p">:</span><span class="w"> </span><span class="kc">true</span><span class="p">,</span><span class="w">
+  </span><span class="nt">"transactionIsolation"</span><span class="p">:</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w">
+  </span><span class="nt">"catalog"</span><span class="p">:</span><span class="w"> </span><span class="s2">"catalog"</span><span class="p">,</span><span class="w">
+  </span><span class="nt">"schema"</span><span class="p">:</span><span class="w"> </span><span class="s2">"schema"</span><span class="w">
+</span><span class="p">}</span></code></pre></figure>
+
+<p><code class="highlighter-rouge">autoCommit</code> (optional boolean) A boolean denoting if autoCommit is enabled for transactions.</p>
+
+<p><code class="highlighter-rouge">readOnly</code> (optional boolean) A boolean denoting if a JDBC connection is read-only.</p>
+
+<p><code class="highlighter-rouge">transactionIsolation</code> (optional integer) An integer which denotes the level of transactions isolation per the JDBC
+specification. This value is analogous to the values defined in <code class="highlighter-rouge">java.sql.Connection</code>.</p>
+
+<ul>
+  <li>0 = Transactions are not supported</li>
+  <li>1 = Dirty reads, non-repeatable reads and phantom reads may occur.</li>
+  <li>2 = Dirty reads are prevented, but non-repeatable reads and phantom reads may occur.</li>
+  <li>4 = Dirty reads and non-repeatable reads are prevented, but phantom reads may occur.</li>
+  <li>8 = Dirty reads, non-repeatable reads, and phantom reads are all prevented.</li>
+</ul>
+
+<p><code class="highlighter-rouge">catalog</code> (optional string) The name of the catalog to include when fetching connection properties.</p>
+
+<p><code class="highlighter-rouge">schema</code> (optional string) The name of the schema to include when fetching connection properties.</p>
+
+<h3 id="cursorfactory">CursorFactory</h3>
+
+<p>This object represents the information required to cast untyped objects into the necessary type for some results.</p>
+
+<figure class="highlight"><pre><code class="language-json" data-lang="json"><span class="p">{</span><span class="w">
+  </span><span class="nt">"style"</span><span class="p">:</span><span class="w"> </span><span class="err">Style</span><span class="p">,</span><span class="w">
+  </span><span class="nt">"clazz"</span><span class="p">:</span><span class="w"> </span><span class="s2">"java.lang.String"</span><span class="p">,</span><span class="w">
+  </span><span class="nt">"fieldNames"</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="w"> </span><span class="s2">"column1"</span><span class="p">,</span><span class="w"> </span><span class="s2">"column2"</span><span class="p">,</span><span class="w"> </span><span class="err">...</span><span class="w"> </span><span class="p">]</span><span class="w">
+</span><span class="p">}</span></code></pre></figure>
+
+<p><code class="highlighter-rouge">style</code> A string denoting the <a href="#style">Style</a> of the contained objects.</p>
+
+<h3 id="databaseproperty">DatabaseProperty</h3>
+
+<p>This object represents the exposed database properties for a Connection through the Avatica server.</p>
+
+<p>One of:</p>
+
+<ul>
+  <li><code class="highlighter-rouge">GET_STRING_FUNCTIONS</code></li>
+  <li><code class="highlighter-rouge">GET_NUMERIC_FUNCTIONS</code></li>
+  <li><code class="highlighter-rouge">GET_SYSTEM_FUNCTIONS</code></li>
+  <li><code class="highlighter-rouge">GET_TIME_DATE_FUNCTIONS</code></li>
+  <li><code class="highlighter-rouge">GET_S_Q_L_KEYWORDS</code></li>
+  <li><code class="highlighter-rouge">GET_DEFAULT_TRANSACTION_ISOLATION</code></li>
+</ul>
+
+<h3 id="frame">Frame</h3>
+
+<p>This object represents a batch of results, tracking the offset into the results and whether more results still exist
+to be fetched in the Avatica server.</p>
+
+<figure class="highlight"><pre><code class="language-json" data-lang="json"><span class="p">{</span><span class="w">
+  </span><span class="nt">"offset"</span><span class="p">:</span><span class="w"> </span><span class="mi">100</span><span class="p">,</span><span class="w">
+  </span><span class="nt">"done"</span><span class="p">:</span><span class="w"> </span><span class="kc">true</span><span class="p">,</span><span class="w">
+  </span><span class="nt">"rows"</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="w"> </span><span class="p">[</span><span class="w"> </span><span class="err">val</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="err">val</span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="err">...</span><span class="w"> </span><span class="p">],</span><span class="w"> </span><span class="err">...</span><span class="w"> </span><span class="p">]</span><span class="w">
+</span><span class="p">}</span></code></pre></figure>
+
+<p><code class="highlighter-rouge">offset</code> The starting position of these <code class="highlighter-rouge">rows</code> in the encompassing result set.</p>
+
+<p><code class="highlighter-rouge">done</code> A boolean denoting whether more results exist for this result set.</p>
+
+<p><code class="highlighter-rouge">rows</code> An array of arrays corresponding to the rows and columns for the result set.</p>
+
+<h3 id="querystate">QueryState</h3>
+
+<p>This object represents the way a ResultSet was created in the Avatica server. A ResultSet could be created by a user-provided
+SQL or by a DatabaseMetaData operation with arguments on that operation.</p>
+
+<figure class="highlight"><pre><code class="language-json" data-lang="json"><span class="p">{</span><span class="w">
+  </span><span class="nt">"type"</span><span class="p">:</span><span class="w"> </span><span class="err">StateType</span><span class="p">,</span><span class="w">
+  </span><span class="nt">"sql"</span><span class="p">:</span><span class="w"> </span><span class="s2">"SELECT * FROM table"</span><span class="p">,</span><span class="w">
+  </span><span class="nt">"metaDataOperation"</span><span class="p">:</span><span class="w"> </span><span class="err">MetaDataOperation</span><span class="p">,</span><span class="w">
+  </span><span class="nt">"operationArgs"</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="s2">"arg0"</span><span class="p">,</span><span class="w"> </span><span class="s2">"arg1"</span><span class="p">,</span><span class="w"> </span><span class="err">...</span><span class="w"> </span><span class="p">]</span><span class="w">
+</span><span class="p">}</span></code></pre></figure>
+
+<p><code class="highlighter-rouge">type</code> A <a href="#statetype">StateType</a> object denoting what type of operation backs the ResultSet for this query.</p>
+
+<p><code class="highlighter-rouge">sql</code> The SQL statement which created the ResultSet for this query. Required if the <code class="highlighter-rouge">type</code> is <code class="highlighter-rouge">SQL</code>.</p>
+
+<p><code class="highlighter-rouge">metaDataOperation</code> The DML operation which created the ResultSet for this query. Required if the <code class="highlighter-rouge">type</code> is <code class="highlighter-rouge">METADATA</code>.</p>
+
+<p><code class="highlighter-rouge">operationArgs</code> The arguments to the invoked DML operation. Required if the <code class="highlighter-rouge">type</code> is <code class="highlighter-rouge">METADATA</code>.</p>
+
+<h3 id="rep">Rep</h3>
+
+<p>This enumeration represents the concrete Java type for some value.</p>
+
+<p>One of:</p>
+
+<ul>
+  <li><code class="highlighter-rouge">PRIMITIVE_BOOLEAN</code></li>
+  <li><code class="highlighter-rouge">PRIMITIVE_BYTE</code></li>
+  <li><code class="highlighter-rouge">PRIMITIVE_CHAR</code></li>
+  <li><code class="highlighter-rouge">PRIMITIVE_SHORT</code></li>
+  <li><code class="highlighter-rouge">PRIMITIVE_INT</code></li>
+  <li><code class="highlighter-rouge">PRIMITIVE_LONG</code></li>
+  <li><code class="highlighter-rouge">PRIMITIVE_FLOAT</code></li>
+  <li><code class="highlighter-rouge">PRIMITIVE_DOUBLE</code></li>
+  <li><code class="highlighter-rouge">BOOLEAN</code></li>
+  <li><code class="highlighter-rouge">BYTE</code></li>
+  <li><code class="highlighter-rouge">CHARACTER</code></li>
+  <li><code class="highlighter-rouge">SHORT</code></li>
+  <li><code class="highlighter-rouge">INTEGER</code></li>
+  <li><code class="highlighter-rouge">LONG</code></li>
+  <li><code class="highlighter-rouge">FLOAT</code></li>
+  <li><code class="highlighter-rouge">DOUBLE</code></li>
+  <li><code class="highlighter-rouge">JAVA_SQL_TIME</code></li>
+  <li><code class="highlighter-rouge">JAVA_SQL_TIMESTAMP</code></li>
+  <li><code class="highlighter-rouge">JAVA_SQL_DATE</code></li>
+  <li><code class="highlighter-rouge">JAVA_UTIL_DATE</code></li>
+  <li><code class="highlighter-rouge">BYTE_STRING</code></li>
+  <li><code class="highlighter-rouge">STRING</code></li>
+  <li><code class="highlighter-rouge">NUMBER</code></li>
+  <li><code class="highlighter-rouge">OBJECT</code></li>
+</ul>
+
+<h3 id="rpcmetadata">RpcMetadata</h3>
+
+<p>This object contains assorted per-call/contextual metadata returned by the Avatica server.</p>
+
+<figure class="highlight"><pre><code class="language-json" data-lang="json"><span class="p">{</span><span class="w">
+  </span><span class="nt">"serverAddress"</span><span class="p">:</span><span class="w"> </span><span class="s2">"localhost:8765"</span><span class="w">
+</span><span class="p">}</span></code></pre></figure>
+
+<p><code class="highlighter-rouge">serverAddress</code> The <code class="highlighter-rouge">host:port</code> of the server which created this object.</p>
+
+<h3 id="signature">Signature</h3>
+
+<p>This object represents the result of preparing a Statement in the Avatica server.</p>
+
+<figure class="highlight"><pre><code class="language-json" data-lang="json"><span class="p">{</span><span class="w">
+  </span><span class="nt">"columns"</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="w"> </span><span class="err">ColumnMetaData</span><span class="p">,</span><span class="w"> </span><span class="err">ColumnMetaData</span><span class="p">,</span><span class="w"> </span><span class="err">...</span><span class="w"> </span><span class="p">],</span><span class="w">
+  </span><span class="nt">"sql"</span><span class="p">:</span><span class="w"> </span><span class="s2">"SELECT * FROM table"</span><span class="p">,</span><span class="w">
+  </span><span class="nt">"parameters"</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="w"> </span><span class="err">AvaticaParameter</span><span class="p">,</span><span class="w"> </span><span class="err">AvaticaParameter</span><span class="p">,</span><span class="w"> </span><span class="err">...</span><span class="w"> </span><span class="p">],</span><span class="w">
+  </span><span class="nt">"cursorFactory"</span><span class="p">:</span><span class="w"> </span><span class="err">CursorFactory</span><span class="p">,</span><span class="w">
+  </span><span class="nt">"statementType"</span><span class="p">:</span><span class="w"> </span><span class="err">StatementType</span><span class="w">
+</span><span class="p">}</span></code></pre></figure>
+
+<p><code class="highlighter-rouge">columns</code> An array of <a href="#columnmetadata">ColumnMetaData</a> objects denoting the schema of the result set.</p>
+
+<p><code class="highlighter-rouge">sql</code> The SQL executed.</p>
+
+<p><code class="highlighter-rouge">parameters</code> An array of <a href="#avaticaparameter">AvaticaParameter</a> objects denoting type-specific details.</p>
+
+<p><code class="highlighter-rouge">cursorFactory</code> An <a href="#cursorfactory">CursorFactory</a> object representing the Java representation of the frame.</p>
+
+<p><code class="highlighter-rouge">statementType</code> An <a href="#statementtype">StatementType</a> object representing the type of Statement.</p>
+
+<h3 id="statetype">StateType</h3>
+
+<p>This enumeration denotes whether user-provided SQL or a DatabaseMetaData operation was used to create some ResultSet.</p>
+
+<p>One of:</p>
+
+<ul>
+  <li><code class="highlighter-rouge">SQL</code></li>
+  <li><code class="highlighter-rouge">METADATA</code></li>
+</ul>
+
+<h3 id="statementhandle">StatementHandle</h3>
+
+<p>This object encapsulates all of the information of a Statement created in the Avatica server.</p>
+
+<figure class="highlight"><pre><code class="language-json" data-lang="json"><span class="p">{</span><span class="w">
+  </span><span class="nt">"connectionId"</span><span class="p">:</span><span class="w"> </span><span class="s2">"000000-0000-0000-00000000"</span><span class="p">,</span><span class="w">
+  </span><span class="nt">"id"</span><span class="p">:</span><span class="w"> </span><span class="mi">12345</span><span class="p">,</span><span class="w">
+  </span><span class="nt">"signature"</span><span class="p">:</span><span class="w"> </span><span class="err">Signature</span><span class="w">
+</span><span class="p">}</span></code></pre></figure>
+
+<p><code class="highlighter-rouge">connectionId</code> The identifier of the connection to which this statement belongs.</p>
+
+<p><code class="highlighter-rouge">id</code> The identifier of the statement.</p>
+
+<p><code class="highlighter-rouge">signature</code> A <a href="#signature">Signature</a> object for the statement.</p>
+
+<h3 id="statementtype">StatementType</h3>
+
+<p>This enumeration represents what kind the Statement is.</p>
+
+<p>One of:</p>
+
+<ul>
+  <li><code class="highlighter-rouge">SELECT</code></li>
+  <li><code class="highlighter-rouge">INSERT</code></li>
+  <li><code class="highlighter-rouge">UPDATE</code></li>
+  <li><code class="highlighter-rouge">DELETE</code></li>
+  <li><code class="highlighter-rouge">UPSERT</code></li>
+  <li><code class="highlighter-rouge">MERGE</code></li>
+  <li><code class="highlighter-rouge">OTHER_DML</code></li>
+  <li><code class="highlighter-rouge">CREATE</code></li>
+  <li><code class="highlighter-rouge">DROP</code></li>
+  <li><code class="highlighter-rouge">ALTER</code></li>
+  <li><code class="highlighter-rouge">OTHER_DDL</code></li>
+  <li><code class="highlighter-rouge">CALL</code></li>
+</ul>
+
+<h3 id="style">Style</h3>
+
+<p>This enumeration represents the generic “class” of type for a value.</p>
+
+<p>One of:</p>
+
+<ul>
+  <li><code class="highlighter-rouge">OBJECT</code></li>
+  <li><code class="highlighter-rouge">RECORD</code></li>
+  <li><code class="highlighter-rouge">RECORD_PROJECTION</code></li>
+  <li><code class="highlighter-rouge">ARRAY</code></li>
+  <li><code class="highlighter-rouge">LIST</code></li>
+  <li><code class="highlighter-rouge">MAP</code></li>
+</ul>
+
+<h3 id="typedvalue">TypedValue</h3>
+
+<p>This object encapsulates the type and value for a column in a row.</p>
+
+<figure class="highlight"><pre><code class="language-json" data-lang="json"><span class="p">{</span><span class="w">
+  </span><span class="nt">"type"</span><span class="p">:</span><span class="w"> </span><span class="s2">"type_name"</span><span class="p">,</span><span class="w">
+  </span><span class="nt">"value"</span><span class="p">:</span><span class="w"> </span><span class="err">object</span><span class="w">
+</span><span class="p">}</span></code></pre></figure>
+
+<p><code class="highlighter-rouge">type</code> A name referring to the type of the object stored in <code class="highlighter-rouge">value</code>.</p>
+
+<p><code class="highlighter-rouge">value</code> A JSON representation of a JDBC type.</p>
+
+          
+
+
+
+
+
+  
+  
+
+  
+  
+
+  
+  
+    <div class="section-nav">
+      <div class="left align-right">
+          
+            
+            
+            <a href="/avatica/docs/roadmap.html" class="prev">Previous</a>
+          
+      </div>
+      <div class="right align-left">
+          
+            
+            
+            <a href="/avatica/docs/protobuf_reference.html" class="next">Next</a>
+          
+      </div>
+    </div>
+    <div class="clear"></div>
+    
+
+        </article>
+      </div>
+
+      <div class="unit one-fifth hide-on-mobiles">
+  <aside>
+    
+    <h4>Overview</h4>
+    
+
+<ul>
+
+  
+  
+  
+
+  
+
+  
+    
+    
+    
+  
+    
+    
+    
+  
+    
+    
+    
+  
+    
+    
+    
+      <li class=""><a href="/avatica/docs/index.html">Background</a></li>
+      
+
+
+  
+  
+  
+
+  
+
+  
+    
+    
+    
+  
+    
+    
+    
+  
+    
+    
+    
+  
+    
+    
+    
+  
+    
+    
+    
+  
+    
+    
+    
+  
+    
+    
+    
+      <li class=""><a href="/avatica/docs/roadmap.html">Roadmap</a></li>
+      
+
+
+</ul>
+
+    
+    <h4>Reference</h4>
+    
+
+<ul>
+
+  
+  
+  
+
+  
+
+  
+    
+    
+    
+  
+    
+    
+    
+  
+    
+    
+    
+  
+    
+    
+    
+  
+    
+    
+    
+      <li class="current"><a href="/avatica/docs/json_reference.html">JSON Reference</a></li>
+      
+
+
+  
+  
+  
+
+  
+
+  
+    
+    
+    
+  
+    
+    
+    
+  
+    
+    
+    
+  
+    
+    
+    
+  
+    
+    
+    
+  
+    
+    
+    
+      <li class=""><a href="/avatica/docs/protobuf_reference.html">Protobuf Reference</a></li>
+      
+
+
+  
+  
+  
+
+  
+
+  
+    
+    
+    
+  
+    
+    
+    
+  
+    
+    
+    
+      <li class=""><a href="/avatica/docs/howto.html">HOWTO</a></li>
+      
+
+
+</ul>
+
+    
+    <h4>Meta</h4>
+    
+
+<ul>
+
+  
+  
+  
+
+  
+
+  
+    
+    
+    
+  
+    
+    
+    
+      <li class=""><a href="/avatica/docs/history.html">History</a></li>
+      
+
+
+  
+  
+  
+
+  
+
+  
+    
+    
+    
+  
+    
+    
+    
+  
+    
+    
+    
+  
+    
+    
+    
+  
+    
+    
+    
+  
+    
+    
+    
+  
+    
+    
+    
+  
+    
+    
+    
+  
+
+
+  
+  
+  
+
+  
+
+  
+    
+    
+    
+  
+    
+    
+    
+  
+    
+    
+    
+  
+    
+    
+    
+  
+    
+    
+    
+  
+    
+    
+    
+  
+    
+    
+    
+  
+    
+    
+    
+  
+
+
+</ul>
+
+    
+  </aside>
+</div>
+
+
+      <div class="clear"></div>
+
+    </div>
+  </section>
+
+
+  <footer role="contentinfo">
+  <div id="poweredby">
+    <a href="http://www.apache.org/">
+      <span class="sr-only">Apache</span>
+      <img src="/avatica/img/feather.png" width="190" height="77" alt="Apache Logo"></a>
+  </div>
+  <div id="copyright">
+  <p>The contents of this website are &copy;&nbsp;2016
+     <a href="https://www.apache.org/">Apache Software Foundation</a>
+     under the terms of
+     the <a href="https://www.apache.org/licenses/LICENSE-2.0.html">
+     Apache&nbsp;License&nbsp;v2</a>. Apache Calcite and its logo are
+     trademarks of the Apache Software Foundation.</p>
+  </div>
+</footer>
+
+  <script>
+  var anchorForId = function (id) {
+    var anchor = document.createElement("a");
+    anchor.className = "header-link";
+    anchor.href      = "#" + id;
+    anchor.innerHTML = "<span class=\"sr-only\">Permalink</span><i class=\"fa fa-link\"></i>";
+    anchor.title = "Permalink";
+    return anchor;
+  };
+
+  var linkifyAnchors = function (level, containingElement) {
+    var headers = containingElement.getElementsByTagName("h" + level);
+    for (var h = 0; h < headers.length; h++) {
+      var header = headers[h];
+
+      if (typeof header.id !== "undefined" && header.id !== "") {
+        header.appendChild(anchorForId(header.id));
+      }
+    }
+  };
+
+  document.onreadystatechange = function () {
+    if (this.readyState === "complete") {
+      var contentBlock = document.getElementsByClassName("docs")[0] || document.getElementsByClassName("news")[0];
+      if (!contentBlock) {
+        return;
+      }
+      for (var level = 1; level <= 6; level++) {
+        linkifyAnchors(level, contentBlock);
+      }
+    }
+  };
+</script>
+
+
+</body>
+</html>