Added: calcite/site/avatica/docs/protobuf_reference.html
URL: 
http://svn.apache.org/viewvc/calcite/site/avatica/docs/protobuf_reference.html?rev=1848180&view=auto
==============================================================================
--- calcite/site/avatica/docs/protobuf_reference.html (added)
+++ calcite/site/avatica/docs/protobuf_reference.html Tue Dec  4 22:13:30 2018
@@ -0,0 +1,2264 @@
+<!DOCTYPE HTML>
+<html lang="en-US">
+<head>
+  <meta charset="UTF-8">
+  <title>Protocol Buffers Reference</title>
+  <meta name="viewport" content="width=device-width,initial-scale=1">
+  <meta name="generator" content="Jekyll v3.7.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="Avatica Reference">
+      
+
+
+  
+
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+
+  
+
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+
+  
+
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+
+  
+
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+
+  
+
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+
+  
+
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+
+  
+
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+
+  
+
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+
+  
+
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+
+
+    </optgroup>
+    
+    <optgroup label="Avatica Go Client Reference">
+      
+
+
+  
+
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+
+
+    </optgroup>
+    
+    <optgroup label="Avatica Meta">
+      
+
+
+  
+
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+
+  
+
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+
+  
+
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+
+
+    </optgroup>
+    
+    <optgroup label="Avatica Go Client Meta">
+      
+
+
+  
+
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+
+
+    </optgroup>
+    
+  </select>
+</div>
+
+
+      <div class="unit four-fifths">
+        <article>
+          <h1>Protocol Buffers Reference</h1>
+          <!--
+
+-->
+
+<p>Avatica also supports <a 
href="https://developers.google.com/protocol-buffers/";>Protocol Buffers</a>
+as a message format since version 1.5.0. The Protocol Buffer, or protobuf for
+short, implementation is extremely similar to the JSON implementation. Some
+differences include protobuf’s expanded type support (such as native byte 
arrays)
+and inability to differentiate between the default value for a field and the
+absence of a value for a field.</p>
+
+<p>Other notable structural differences to JSON include the addition of a
+<code class="highlighter-rouge">WireMessage</code> message which is used to 
identify the type of the wrapped message
+returned by the server (synonymous with <code 
class="highlighter-rouge">request</code> or <code 
class="highlighter-rouge">response</code> attribute on the
+JSON messages) and a change to <code 
class="highlighter-rouge">TypedValue</code> containing an <code 
class="highlighter-rouge">Object</code> value to
+a collection of optional strongly-typed values (as protobuf does not natively
+support an <code class="highlighter-rouge">Object</code> type that is 
unwrapped at runtime).</p>
+
+<p>Unless otherwise specified with use of the <code 
class="highlighter-rouge">required</code> modifier, all fields in
+all protocol buffer messages are <code 
class="highlighter-rouge">optional</code> by default.</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="#executebatchrequest">ExecuteBatchRequest</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="#prepareandexecutebatchrequest">PrepareAndExecuteBatchRequest</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="#tabletypesrequest">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="#executebatchresponse">ExecuteBatchResponse</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="#columnvalue">ColumnValue</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="#row">Row</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><li><a 
href="#updatebatch">UpdateBatch</a></li><li><a 
href="#wiremessage">WireMessage</a></li>
+</ul>
+
+<h2 id="requests-1">Requests</h2>
+
+<p>The collection of all protobuf objects accepted as requests to Avatica. All 
request
+objects should be wrapped in a <code 
class="highlighter-rouge">WireMessage</code> before being sent to Avatica.</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-protobuf" 
data-lang="protobuf"><span class="kd">message</span> <span 
class="nc">CatalogsRequest</span> <span class="p">{</span>
+  <span class="kt">string</span> <span class="na">connection_id</span> <span 
class="o">=</span> <span class="mi">1</span><span class="p">;</span>
+<span class="p">}</span></code></pre></figure>
+
+<p><code class="highlighter-rouge">connection_id</code> The identifier for 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-protobuf" 
data-lang="protobuf"><span class="kd">message</span> <span 
class="nc">CloseConnectionRequest</span> <span class="p">{</span>
+  <span class="kt">string</span> <span class="na">connection_id</span> <span 
class="o">=</span> <span class="mi">1</span><span class="p">;</span>
+<span class="p">}</span></code></pre></figure>
+
+<p><code class="highlighter-rouge">connection_id</code> 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-protobuf" 
data-lang="protobuf"><span class="kd">message</span> <span 
class="nc">CloseStatementRequest</span> <span class="p">{</span>
+  <span class="kt">string</span> <span class="na">connection_id</span> <span 
class="o">=</span> <span class="mi">1</span><span class="p">;</span>
+  <span class="kt">uint32</span> <span class="na">statement_id</span> <span 
class="o">=</span> <span class="mi">2</span><span class="p">;</span>
+<span class="p">}</span></code></pre></figure>
+
+<p><code class="highlighter-rouge">connection_id</code> The identifier of the 
connection to which the statement belongs.</p>
+
+<p><code class="highlighter-rouge">statement_id</code> 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-protobuf" 
data-lang="protobuf"><span class="kd">message</span> <span 
class="nc">ColumnsRequest</span> <span class="p">{</span>
+  <span class="kt">string</span> <span class="na">catalog</span> <span 
class="o">=</span> <span class="mi">1</span><span class="p">;</span>
+  <span class="kt">string</span> <span class="na">schema_pattern</span> <span 
class="o">=</span> <span class="mi">2</span><span class="p">;</span>
+  <span class="kt">string</span> <span class="na">table_name_pattern</span> 
<span class="o">=</span> <span class="mi">3</span><span class="p">;</span>
+  <span class="kt">string</span> <span class="na">column_name_pattern</span> 
<span class="o">=</span> <span class="mi">4</span><span class="p">;</span>
+  <span class="kt">string</span> <span class="na">connection_id</span> <span 
class="o">=</span> <span class="mi">5</span><span class="p">;</span>
+<span class="p">}</span></code></pre></figure>
+
+<p><code class="highlighter-rouge">catalog</code> The name of a catalog to 
limit returned columns.</p>
+
+<p><code class="highlighter-rouge">schema_pattern</code> A Java Pattern 
against schemas to limit returned columns.</p>
+
+<p><code class="highlighter-rouge">table_name_pattern</code> A Java Pattern 
against table names to limit returned columns.</p>
+
+<p><code class="highlighter-rouge">column_name_pattern</code> A Java Pattern 
against column names to limit returned columns.</p>
+
+<p><code class="highlighter-rouge">connection_id</code> The identifier of the 
connection which to use to fetch the 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-protobuf" 
data-lang="protobuf"><span class="kd">message</span> <span 
class="nc">CommitRequest</span> <span class="p">{</span>
+  <span class="kt">string</span> <span class="na">connection_id</span> <span 
class="o">=</span> <span class="mi">1</span><span class="p">;</span>
+<span class="p">}</span></code></pre></figure>
+
+<p><code class="highlighter-rouge">connection_id</code> 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-protobuf" 
data-lang="protobuf"><span class="kd">message</span> <span 
class="nc">ConnectionSyncRequest</span> <span class="p">{</span>
+  <span class="kt">string</span> <span class="na">connection_id</span> <span 
class="o">=</span> <span class="mi">1</span><span class="p">;</span>
+  <span class="n">ConnectionProperties</span> <span 
class="na">conn_props</span> <span class="o">=</span> <span 
class="mi">2</span><span class="p">;</span>
+<span class="p">}</span></code></pre></figure>
+
+<p><code class="highlighter-rouge">connection_id</code> The identifier of the 
connection to synchronize.</p>
+
+<p><code class="highlighter-rouge">conn_props</code> 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-protobuf" 
data-lang="protobuf"><span class="kd">message</span> <span 
class="nc">CreateStatementRequest</span> <span class="p">{</span>
+  <span class="kt">string</span> <span class="na">connection_id</span> <span 
class="o">=</span> <span class="mi">1</span><span class="p">;</span>
+<span class="p">}</span></code></pre></figure>
+
+<p><code class="highlighter-rouge">connection_id</code> 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-protobuf" 
data-lang="protobuf"><span class="kd">message</span> <span 
class="nc">DatabasePropertyRequest</span> <span class="p">{</span>
+  <span class="kt">string</span> <span class="na">connection_id</span> <span 
class="o">=</span> <span class="mi">1</span><span class="p">;</span>
+<span class="p">}</span></code></pre></figure>
+
+<p><code class="highlighter-rouge">connection_id</code> The identifier of the 
connection to use when fetching the database properties.</p>
+
+<h3 id="executebatchrequest">ExecuteBatchRequest</h3>
+
+<p>This request is used to execute a batch of updates against a 
PreparedStatement.</p>
+
+<figure class="highlight"><pre><code class="language-protobuf" 
data-lang="protobuf"><span class="kd">message</span> <span 
class="nc">ExecuteBatchRequest</span> <span class="p">{</span>
+  <span class="kt">string</span> <span class="na">connection_id</span> <span 
class="o">=</span> <span class="mi">1</span><span class="p">;</span>
+  <span class="kt">uint32</span> <span class="na">statement_id</span> <span 
class="o">=</span> <span class="mi">2</span><span class="p">;</span>
+  <span class="k">repeated</span> <span class="n">UpdateBatch</span> <span 
class="na">updates</span> <span class="o">=</span> <span 
class="mi">3</span><span class="p">;</span>
+<span class="p">}</span></code></pre></figure>
+
+<p><code class="highlighter-rouge">connection_id</code> A string which refers 
to a connection.</p>
+
+<p><code class="highlighter-rouge">statement_id</code> An integer which refers 
to a statement.</p>
+
+<p><code class="highlighter-rouge">updates</code> A list of <a 
href="#updatebatch">UpdateBatch</a>’s; the batch of updates.</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-protobuf" 
data-lang="protobuf"><span class="kd">message</span> <span 
class="nc">ExecuteRequest</span> <span class="p">{</span>
+  <span class="n">StatementHandle</span> <span 
class="na">statementHandle</span> <span class="o">=</span> <span 
class="mi">1</span><span class="p">;</span>
+  <span class="k">repeated</span> <span class="n">TypedValue</span> <span 
class="na">parameter_values</span> <span class="o">=</span> <span 
class="mi">2</span><span class="p">;</span>
+  <span class="kt">uint64</span> <span 
class="na">deprecated_first_frame_max_size</span> <span class="o">=</span> 
<span class="mi">3</span><span class="p">;</span>
+  <span class="kt">bool</span> <span class="na">has_parameter_values</span> 
<span class="o">=</span> <span class="mi">4</span><span class="p">;</span>
+  <span class="kt">int32</span> <span class="na">first_frame_max_size</span> 
<span class="o">=</span> <span class="mi">5</span><span class="p">;</span>
+<span class="p">}</span></code></pre></figure>
+
+<p><code class="highlighter-rouge">statementHandle</code> A <a 
href="#statementhandle">StatementHandle</a> object.</p>
+
+<p><code class="highlighter-rouge">parameter_values</code> The <a 
href="#typedvalue">TypedValue</a> for each parameter on the prepared 
statement.</p>
+
+<p><code class="highlighter-rouge">deprecated_first_frame_max_size</code> 
<em>Deprecated</em>, use <code 
class="highlighter-rouge">first_frame_max_size</code> instead. Previously, the 
maximum number of rows returned in the response.</p>
+
+<p><code class="highlighter-rouge">has_parameter_values</code> A boolean which 
denotes if the user set a value for the <code 
class="highlighter-rouge">parameter_values</code> field.</p>
+
+<p><code class="highlighter-rouge">first_frame_max_size</code> The maximum 
number of rows to return in the first <code 
class="highlighter-rouge">Frame</code>.</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-protobuf" 
data-lang="protobuf"><span class="kd">message</span> <span 
class="nc">FetchRequest</span> <span class="p">{</span>
+  <span class="kt">string</span> <span class="na">connection_id</span> <span 
class="o">=</span> <span class="mi">1</span><span class="p">;</span>
+  <span class="kt">uint32</span> <span class="na">statement_id</span> <span 
class="o">=</span> <span class="mi">2</span><span class="p">;</span>
+  <span class="kt">uint64</span> <span class="na">offset</span> <span 
class="o">=</span> <span class="mi">3</span><span class="p">;</span>
+  <span class="kt">uint32</span> <span class="na">fetch_max_row_count</span> 
<span class="o">=</span> <span class="mi">4</span><span class="p">;</span> 
<span class="c1">// Deprecated!
+</span>  <span class="kt">int32</span> <span class="na">frame_max_size</span> 
<span class="o">=</span> <span class="mi">5</span><span class="p">;</span>
+<span class="p">}</span></code></pre></figure>
+
+<p><code class="highlighter-rouge">connection_id</code> The identifier of the 
connection to use.</p>
+
+<p><code class="highlighter-rouge">statement_id</code> The identifier of the 
statement created using the above connection.</p>
+
+<p><code class="highlighter-rouge">offset</code> The positional offset into a 
result set to fetch.</p>
+
+<p><code class="highlighter-rouge">fetch_match_row_count</code> The maximum 
number of rows to return in the response to this request. Negative means no 
limit. <em>Deprecated</em>, use <code 
class="highlighter-rouge">frame_max_size</code>.</p>
+
+<p><code class="highlighter-rouge">frame_max_size</code> The maximum number of 
rows to return in the response. Negative means no limit.</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-protobuf" 
data-lang="protobuf"><span class="kd">message</span> <span 
class="nc">OpenConnectionRequest</span> <span class="p">{</span>
+  <span class="kt">string</span> <span class="na">connection_id</span> <span 
class="o">=</span> <span class="mi">1</span><span class="p">;</span>
+  <span class="n">map</span><span class="o">&lt;</span><span 
class="kt">string</span><span class="p">,</span> <span 
class="kt">string</span><span class="err">&gt;</span> <span 
class="na">info</span> <span class="o">=</span> <span class="mi">2</span><span 
class="p">;</span>
+<span class="p">}</span></code></pre></figure>
+
+<p><code class="highlighter-rouge">connection_id</code> The identifier of the 
connection to open in the server.</p>
+
+<p><code class="highlighter-rouge">info</code> A Map containing properties to 
include when creating the Connection.</p>
+
+<h3 id="prepareandexecutebatchrequest">PrepareAndExecuteBatchRequest</h3>
+
+<p>This request is used as short-hand to create a Statement and execute a 
batch of updates against that Statement.</p>
+
+<figure class="highlight"><pre><code class="language-protobuf" 
data-lang="protobuf"><span class="kd">message</span> <span 
class="nc">PrepareAndExecuteBatchRequest</span> <span class="p">{</span>
+  <span class="kt">string</span> <span class="na">connection_id</span> <span 
class="o">=</span> <span class="mi">1</span><span class="p">;</span>
+  <span class="kt">uint32</span> <span class="na">statement_id</span> <span 
class="o">=</span> <span class="mi">2</span><span class="p">;</span>
+  <span class="k">repeated</span> <span class="kt">string</span> <span 
class="na">sql_commands</span> <span class="o">=</span> <span 
class="mi">3</span><span class="p">;</span>
+<span class="p">}</span></code></pre></figure>
+
+<p><code class="highlighter-rouge">connection_id</code> The identifier for the 
connection to use.</p>
+
+<p><code class="highlighter-rouge">statement_id</code> The identifier for the 
statement created by the above connection to use.</p>
+
+<p><code class="highlighter-rouge">sql_commands</code> A list of SQL commands 
to execute; a batch.</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-protobuf" 
data-lang="protobuf"><span class="kd">message</span> <span 
class="nc">PrepareAndExecuteRequest</span> <span class="p">{</span>
+  <span class="kt">string</span> <span class="na">connection_id</span> <span 
class="o">=</span> <span class="mi">1</span><span class="p">;</span>
+  <span class="kt">uint32</span> <span class="na">statement_id</span> <span 
class="o">=</span> <span class="mi">4</span><span class="p">;</span>
+  <span class="kt">string</span> <span class="na">sql</span> <span 
class="o">=</span> <span class="mi">2</span><span class="p">;</span>
+  <span class="kt">uint64</span> <span class="na">max_row_count</span> <span 
class="o">=</span> <span class="mi">3</span><span class="p">;</span> <span 
class="c1">// Deprecated!
+</span>  <span class="kt">int64</span> <span class="na">max_rows_total</span> 
<span class="o">=</span> <span class="mi">5</span><span class="p">;</span>
+  <span class="kt">int32</span> <span class="na">first_frame_max_size</span> 
<span class="o">=</span> <span class="mi">6</span><span class="p">;</span>
+<span class="p">}</span></code></pre></figure>
+
+<p><code class="highlighter-rouge">connection_id</code> The identifier for the 
connection to use.</p>
+
+<p><code class="highlighter-rouge">statement_id</code> The identifier for the 
statement created by the above connection to use.</p>
+
+<p><code class="highlighter-rouge">sql</code> A SQL statement</p>
+
+<p><code class="highlighter-rouge">max_row_count</code> The maximum number of 
rows returned in the response. <em>Deprecated</em>, use <code 
class="highlighter-rouge">max_rows_total</code>.</p>
+
+<p><code class="highlighter-rouge">max_rows_total</code> The maximum number of 
rows which this query should return (over all <code 
class="highlighter-rouge">Frame</code>s).</p>
+
+<p><code class="highlighter-rouge">first_frame_max_size</code> The maximum 
number of rows which should be included in the first <code 
class="highlighter-rouge">Frame</code> in the <code 
class="highlighter-rouge">ExecuteResponse</code>.</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-protobuf" 
data-lang="protobuf"><span class="kd">message</span> <span 
class="nc">PrepareRequest</span> <span class="p">{</span>
+  <span class="kt">string</span> <span class="na">connection_id</span> <span 
class="o">=</span> <span class="mi">1</span><span class="p">;</span>
+  <span class="kt">string</span> <span class="na">sql</span> <span 
class="o">=</span> <span class="mi">2</span><span class="p">;</span>
+  <span class="kt">uint64</span> <span class="na">max_row_count</span> <span 
class="o">=</span> <span class="mi">3</span><span class="p">;</span> <span 
class="c1">// Deprecated!
+</span>  <span class="kt">int64</span> <span class="na">max_rows_total</span> 
<span class="o">=</span> <span class="mi">4</span><span class="p">;</span>
+<span class="p">}</span></code></pre></figure>
+
+<p><code class="highlighter-rouge">connection_id</code> The identifier for the 
connection to use.</p>
+
+<p><code class="highlighter-rouge">sql</code> A SQL statement</p>
+
+<p><code class="highlighter-rouge">max_row_count</code> The maximum number of 
rows returned in the response. <em>Deprecated</em>, use <code 
class="highlighter-rouge">max_rows_total</code> instead.</p>
+
+<p><code class="highlighter-rouge">max_rows_total</code> The maximum number of 
rows returned for the query in total.</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-protobuf" 
data-lang="protobuf"><span class="kd">message</span> <span 
class="nc">SyncResultsRequest</span> <span class="p">{</span>
+  <span class="kt">string</span> <span class="na">connection_id</span> <span 
class="o">=</span> <span class="mi">1</span><span class="p">;</span>
+  <span class="kt">uint32</span> <span class="na">statement_id</span> <span 
class="o">=</span> <span class="mi">2</span><span class="p">;</span>
+  <span class="n">QueryState</span> <span class="na">state</span> <span 
class="o">=</span> <span class="mi">3</span><span class="p">;</span>
+  <span class="kt">uint64</span> <span class="na">offset</span> <span 
class="o">=</span> <span class="mi">4</span><span class="p">;</span>
+<span class="p">}</span></code></pre></figure>
+
+<p><code class="highlighter-rouge">connection_id</code> The identifier for the 
connection to use.</p>
+
+<p><code class="highlighter-rouge">statement_id</code> The identifier for the 
statement to use.</p>
+
+<p><code class="highlighter-rouge">state</code> The <a 
href="#querystate">QueryState</a> object.</p>
+
+<p><code class="highlighter-rouge">offset</code> 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-protobuf" 
data-lang="protobuf"><span class="kd">message</span> <span 
class="nc">RollbackRequest</span> <span class="p">{</span>
+  <span class="kt">string</span> <span class="na">connection_id</span> <span 
class="o">=</span> <span class="mi">1</span><span class="p">;</span>
+<span class="p">}</span></code></pre></figure>
+
+<p><code class="highlighter-rouge">connection_id</code> 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-protobuf" 
data-lang="protobuf"><span class="kd">message</span> <span 
class="nc">SchemasRequest</span> <span class="p">{</span>
+  <span class="kt">string</span> <span class="na">catalog</span> <span 
class="o">=</span> <span class="mi">1</span><span class="p">;</span>
+  <span class="kt">string</span> <span class="na">schema_pattern</span> <span 
class="o">=</span> <span class="mi">2</span><span class="p">;</span>
+  <span class="kt">string</span> <span class="na">connection_id</span> <span 
class="o">=</span> <span class="mi">3</span><span class="p">;</span>
+<span class="p">}</span></code></pre></figure>
+
+<p><code class="highlighter-rouge">catalog</code> The name of the catalog to 
fetch the schema from.</p>
+
+<p><code class="highlighter-rouge">schema_pattern</code> A Java pattern of 
schemas to fetch.</p>
+
+<p><code class="highlighter-rouge">connection_id</code> The identifier for the 
connection to fetch schemas from.</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-protobuf" 
data-lang="protobuf"><span class="kd">message</span> <span 
class="nc">TableTypesRequest</span> <span class="p">{</span>
+  <span class="kt">string</span> <span class="na">connection_id</span> <span 
class="o">=</span> <span class="mi">1</span><span class="p">;</span>
+<span class="p">}</span></code></pre></figure>
+
+<p><code class="highlighter-rouge">connection_id</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-protobuf" 
data-lang="protobuf"><span class="kd">message</span> <span 
class="nc">TablesRequest</span> <span class="p">{</span>
+  <span class="kt">string</span> <span class="na">catalog</span> <span 
class="o">=</span> <span class="mi">1</span><span class="p">;</span>
+  <span class="kt">string</span> <span class="na">schema_pattern</span> <span 
class="o">=</span> <span class="mi">2</span><span class="p">;</span>
+  <span class="kt">string</span> <span class="na">table_name_pattern</span> 
<span class="o">=</span> <span class="mi">3</span><span class="p">;</span>
+  <span class="k">repeated</span> <span class="kt">string</span> <span 
class="na">type_list</span> <span class="o">=</span> <span 
class="mi">4</span><span class="p">;</span>
+  <span class="kt">bool</span> <span class="na">has_type_list</span> <span 
class="o">=</span> <span class="mi">6</span><span class="p">;</span>
+  <span class="kt">string</span> <span class="na">connection_id</span> <span 
class="o">=</span> <span class="mi">7</span><span class="p">;</span>
+<span class="p">}</span></code></pre></figure>
+
+<p><code class="highlighter-rouge">catalog</code> The name of a catalog to 
restrict fetched tables.</p>
+
+<p><code class="highlighter-rouge">schema_pattern</code> A Java Pattern 
representing schemas to include in fetched tables.</p>
+
+<p><code class="highlighter-rouge">table_name_pattern</code> A Java Pattern 
representing table names to include in fetched tables.</p>
+
+<p><code class="highlighter-rouge">type_list</code> A list of table types used 
to restrict fetched tables.</p>
+
+<p><code class="highlighter-rouge">has_type_list</code> A boolean which 
denotes if the field <code class="highlighter-rouge">type_list</code> was 
provided.</p>
+
+<p><code class="highlighter-rouge">connection_id</code> The identifier of the 
connection to fetch the tables from.</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-protobuf" 
data-lang="protobuf"><span class="kd">message</span> <span 
class="nc">TypeInfoRequest</span> <span class="p">{</span>
+  <span class="kt">string</span> <span class="na">connection_id</span> <span 
class="o">=</span> <span class="mi">1</span><span class="p">;</span>
+<span class="p">}</span></code></pre></figure>
+
+<p><code class="highlighter-rouge">connection_id</code> The identifier of the 
connection to fetch the types from.</p>
+
+<h2 id="responses-1">Responses</h2>
+
+<p>The collection of all protobuf objects accepted as requests to Avatica. All 
response
+objects will be wrapped in a <code 
class="highlighter-rouge">WireMessage</code> before being returned from 
Avatica.</p>
+
+<h3 id="closeconnectionresponse">CloseConnectionResponse</h3>
+
+<p>A response to the <a 
href="#closeconnectionrequest">CloseConnectionRequest</a>.</p>
+
+<figure class="highlight"><pre><code class="language-protobuf" 
data-lang="protobuf"><span class="kd">message</span> <span 
class="nc">CloseConnectionResponse</span> <span class="p">{</span>
+  <span class="n">RpcMetadata</span> <span class="na">metadata</span> <span 
class="o">=</span> <span class="mi">1</span><span class="p">;</span>
+<span class="p">}</span></code></pre></figure>
+
+<p><code class="highlighter-rouge">metadata</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-protobuf" 
data-lang="protobuf"><span class="kd">message</span> <span 
class="nc">CloseStatementResponse</span> <span class="p">{</span>
+  <span class="n">RpcMetadata</span> <span class="na">metadata</span> <span 
class="o">=</span> <span class="mi">1</span><span class="p">;</span>
+<span class="p">}</span></code></pre></figure>
+
+<p><code class="highlighter-rouge">metadata</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-protobuf" 
data-lang="protobuf"><span class="kd">message</span> <span 
class="nc">CommitResponse</span> <span class="p">{</span>
+
+<span class="p">}</span></code></pre></figure>
+
+<p>There are no 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-protobuf" 
data-lang="protobuf"><span class="kd">message</span> <span 
class="nc">ConnectionSyncResponse</span> <span class="p">{</span>
+  <span class="n">ConnectionProperties</span> <span 
class="na">conn_props</span> <span class="o">=</span> <span 
class="mi">1</span><span class="p">;</span>
+  <span class="n">RpcMetadata</span> <span class="na">metadata</span> <span 
class="o">=</span> <span class="mi">2</span><span class="p">;</span>
+<span class="p">}</span></code></pre></figure>
+
+<p><code class="highlighter-rouge">conn_props</code> The <a 
href="#connectionproperties">ConnectionProperties</a> that were 
synchronized.</p>
+
+<p><code class="highlighter-rouge">metadata</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">statement_id</code> in subsequent calls.</p>
+
+<figure class="highlight"><pre><code class="language-protobuf" 
data-lang="protobuf"><span class="kd">message</span> <span 
class="nc">CreateStatementResponse</span> <span class="p">{</span>
+  <span class="kt">string</span> <span class="na">connection_id</span> <span 
class="o">=</span> <span class="mi">1</span><span class="p">;</span>
+  <span class="kt">uint32</span> <span class="na">statement_id</span> <span 
class="o">=</span> <span class="mi">2</span><span class="p">;</span>
+  <span class="n">RpcMetadata</span> <span class="na">metadata</span> <span 
class="o">=</span> <span class="mi">3</span><span class="p">;</span>
+<span class="p">}</span></code></pre></figure>
+
+<p><code class="highlighter-rouge">connection_id</code> The identifier for the 
connection used to create the statement.</p>
+
+<p><code class="highlighter-rouge">statement_id</code> The identifier for the 
created statement.</p>
+
+<p><code class="highlighter-rouge">metadata</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-protobuf" 
data-lang="protobuf"><span class="kd">message</span> <span 
class="nc">DatabasePropertyResponse</span> <span class="p">{</span>
+  <span class="k">repeated</span> <span 
class="n">DatabasePropertyElement</span> <span class="na">props</span> <span 
class="o">=</span> <span class="mi">1</span><span class="p">;</span>
+  <span class="n">RpcMetadata</span> <span class="na">metadata</span> <span 
class="o">=</span> <span class="mi">2</span><span class="p">;</span>
+<span class="p">}</span></code></pre></figure>
+
+<p><code class="highlighter-rouge">props</code> A collection of <a 
href="#databaseproperty">DatabaseProperty</a>’s.</p>
+
+<p><code class="highlighter-rouge">metadata</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-protobuf" 
data-lang="protobuf"><span class="kd">message</span> <span 
class="nc">ErrorResponse</span> <span class="p">{</span>
+  <span class="k">repeated</span> <span class="kt">string</span> <span 
class="na">exceptions</span> <span class="o">=</span> <span 
class="mi">1</span><span class="p">;</span>
+  <span class="kt">bool</span> <span class="na">has_exceptions</span> <span 
class="o">=</span> <span class="mi">7</span><span class="p">;</span>
+  <span class="kt">string</span> <span class="na">error_message</span> <span 
class="o">=</span> <span class="mi">2</span><span class="p">;</span>
+  <span class="n">Severity</span> <span class="na">severity</span> <span 
class="o">=</span> <span class="mi">3</span><span class="p">;</span>
+  <span class="kt">uint32</span> <span class="na">error_code</span> <span 
class="o">=</span> <span class="mi">4</span><span class="p">;</span>
+  <span class="kt">string</span> <span class="na">sql_state</span> <span 
class="o">=</span> <span class="mi">5</span><span class="p">;</span>
+  <span class="n">RpcMetadata</span> <span class="na">metadata</span> <span 
class="o">=</span> <span class="mi">6</span><span class="p">;</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">has_exceptions</code> A boolean which 
denotes the presence of <code class="highlighter-rouge">exceptions</code>.</p>
+
+<p><code class="highlighter-rouge">error_message</code> A human-readable error 
message.</p>
+
+<p><code class="highlighter-rouge">error_code</code> A numeric code for this 
error.</p>
+
+<p><code class="highlighter-rouge">sql_state</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">metadata</code> <a 
href="#rpcmetadata">Server metadata</a> about this call.</p>
+
+<h3 id="executebatchresponse">ExecuteBatchResponse</h3>
+
+<p>A response to the <a href="#executebatchrequest">ExecuteBatchRequest</a> 
and <a 
href="#prepareandexecutebatchrequest">PrepareAndExecuteBatchRequest</a>.</p>
+
+<figure class="highlight"><pre><code class="language-protobuf" 
data-lang="protobuf"><span class="kd">message</span> <span 
class="nc">ExecuteBatchResponse</span> <span class="p">{</span>
+  <span class="kt">string</span> <span class="na">connection_id</span> <span 
class="o">=</span> <span class="mi">1</span><span class="p">;</span>
+  <span class="kt">uint32</span> <span class="na">statement_id</span> <span 
class="o">=</span> <span class="mi">2</span><span class="p">;</span>
+  <span class="k">repeated</span> <span class="kt">uint32</span> <span 
class="na">update_counts</span> <span class="o">=</span> <span 
class="mi">3</span><span class="p">;</span>
+  <span class="kt">bool</span> <span class="na">missing_statement</span> <span 
class="o">=</span> <span class="mi">4</span><span class="p">;</span>
+  <span class="n">RpcMetadata</span> <span class="na">metadata</span> <span 
class="o">=</span> <span class="mi">5</span><span class="p">;</span>
+<span class="p">}</span></code></pre></figure>
+
+<p><code class="highlighter-rouge">connection_id</code> The ID referring to 
the connection that was used.</p>
+
+<p><code class="highlighter-rouge">statment_id</code> The ID referring to the 
statement that was used.</p>
+
+<p><code class="highlighter-rouge">update_counts</code> An array of integer 
values corresponding to the update count for each update in the batch.</p>
+
+<p><code class="highlighter-rouge">missing_statement</code> A boolean which 
denotes if the request failed due to a missing statement.</p>
+
+<p><code class="highlighter-rouge">metadata</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-protobuf" 
data-lang="protobuf"><span class="kd">message</span> <span 
class="nc">ExecuteResponse</span> <span class="p">{</span>
+  <span class="k">repeated</span> <span class="n">ResultSetResponse</span> 
<span class="na">results</span> <span class="o">=</span> <span 
class="mi">1</span><span class="p">;</span>
+  <span class="kt">bool</span> <span class="na">missing_statement</span> <span 
class="o">=</span> <span class="mi">2</span><span class="p">;</span>
+  <span class="n">RpcMetadata</span> <span class="na">metadata</span> <span 
class="o">=</span> <span class="mi">3</span><span class="p">;</span>
+<span class="p">}</span></code></pre></figure>
+
+<p><code class="highlighter-rouge">results</code> An array of <a 
href="#resultsetresponse">ResultSetResponse</a>s.</p>
+
+<p><code class="highlighter-rouge">missing_statement</code> A boolean which 
denotes if the request failed due to a missing statement.</p>
+
+<p><code class="highlighter-rouge">metadata</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-protobuf" 
data-lang="protobuf"><span class="kd">message</span> <span 
class="nc">FetchResponse</span> <span class="p">{</span>
+  <span class="n">Frame</span> <span class="na">frame</span> <span 
class="o">=</span> <span class="mi">1</span><span class="p">;</span>
+  <span class="kt">bool</span> <span class="na">missing_statement</span> <span 
class="o">=</span> <span class="mi">2</span><span class="p">;</span>
+  <span class="kt">bool</span> <span class="na">missing_results</span> <span 
class="o">=</span> <span class="mi">3</span><span class="p">;</span>
+  <span class="n">RpcMetadata</span> <span class="na">metadata</span> <span 
class="o">=</span> <span class="mi">4</span><span class="p">;</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">missing_statement</code> A boolean which 
denotes if the request failed due to a missing Statement.</p>
+
+<p><code class="highlighter-rouge">missing_results</code> A boolean which 
denotes if the request failed due to a missing ResultSet.</p>
+
+<p><code class="highlighter-rouge">metadata</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-protobuf" 
data-lang="protobuf"><span class="kd">message</span> <span 
class="nc">OpenConnectionResponse</span> <span class="p">{</span>
+  <span class="n">RpcMetadata</span> <span class="na">metadata</span> <span 
class="o">=</span> <span class="mi">1</span><span class="p">;</span>
+<span class="p">}</span></code></pre></figure>
+
+<p><code class="highlighter-rouge">metadata</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-protobuf" 
data-lang="protobuf"><span class="kd">message</span> <span 
class="nc">PrepareResponse</span> <span class="p">{</span>
+  <span class="n">StatementHandle</span> <span class="na">statement</span> 
<span class="o">=</span> <span class="mi">1</span><span class="p">;</span>
+  <span class="n">RpcMetadata</span> <span class="na">metadata</span> <span 
class="o">=</span> <span class="mi">2</span><span class="p">;</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">metadata</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-protobuf" 
data-lang="protobuf"><span class="kd">message</span> <span 
class="nc">ResultSetResponse</span> <span class="p">{</span>
+  <span class="kt">string</span> <span class="na">connection_id</span> <span 
class="o">=</span> <span class="mi">1</span><span class="p">;</span>
+  <span class="kt">uint32</span> <span class="na">statement_id</span> <span 
class="o">=</span> <span class="mi">2</span><span class="p">;</span>
+  <span class="kt">bool</span> <span class="na">own_statement</span> <span 
class="o">=</span> <span class="mi">3</span><span class="p">;</span>
+  <span class="n">Signature</span> <span class="na">signature</span> <span 
class="o">=</span> <span class="mi">4</span><span class="p">;</span>
+  <span class="n">Frame</span> <span class="na">first_frame</span> <span 
class="o">=</span> <span class="mi">5</span><span class="p">;</span>
+  <span class="kt">uint64</span> <span class="na">update_count</span> <span 
class="o">=</span> <span class="mi">6</span><span class="p">;</span>
+  <span class="n">RpcMetadata</span> <span class="na">metadata</span> <span 
class="o">=</span> <span class="mi">7</span><span class="p">;</span>
+<span class="p">}</span></code></pre></figure>
+
+<p><code class="highlighter-rouge">connection_id</code> The identifier for the 
connection used to generate this response.</p>
+
+<p><code class="highlighter-rouge">statement_id</code> The identifier for the 
statement used to generate this response.</p>
+
+<p><code class="highlighter-rouge">own_statement</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 nested object <a 
href="#signature">Signature</a>. This field will only be present for queries 
that return data.</p>
+
+<p><code class="highlighter-rouge">first_frame</code> A optional nested object 
<a href="#frame">Frame</a></p>
+
+<p><code class="highlighter-rouge">update_count</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">metadata</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-protobuf" 
data-lang="protobuf"><span class="kd">message</span> <span 
class="nc">RollbackResponse</span> <span class="p">{</span>
+
+<span class="p">}</span></code></pre></figure>
+
+<p>There are no 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-protobuf" 
data-lang="protobuf"><span class="kd">message</span> <span 
class="nc">SyncResultsResponse</span> <span class="p">{</span>
+  <span class="kt">bool</span> <span class="na">missing_statement</span> <span 
class="o">=</span> <span class="mi">1</span><span class="p">;</span>
+  <span class="kt">bool</span> <span class="na">more_results</span> <span 
class="o">=</span> <span class="mi">2</span><span class="p">;</span>
+  <span class="n">RpcMetadata</span> <span class="na">metadata</span> <span 
class="o">=</span> <span class="mi">3</span><span class="p">;</span>
+<span class="p">}</span></code></pre></figure>
+
+<p><code class="highlighter-rouge">more_results</code> A boolean which denotes 
if results exist for the ResultSet being “synced” per the request.</p>
+
+<p><code class="highlighter-rouge">missing_statement</code> A boolean which 
denotes if the statement for the ResultSet still exists.</p>
+
+<p><code class="highlighter-rouge">metadata</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-protobuf" 
data-lang="protobuf"><span class="kd">message</span> <span 
class="nc">AvaticaParameter</span> <span class="p">{</span>
+  <span class="kt">bool</span> <span class="na">signed</span> <span 
class="o">=</span> <span class="mi">1</span><span class="p">;</span>
+  <span class="kt">uint32</span> <span class="na">precision</span> <span 
class="o">=</span> <span class="mi">2</span><span class="p">;</span>
+  <span class="kt">uint32</span> <span class="na">scale</span> <span 
class="o">=</span> <span class="mi">3</span><span class="p">;</span>
+  <span class="kt">uint32</span> <span class="na">parameter_type</span> <span 
class="o">=</span> <span class="mi">4</span><span class="p">;</span>
+  <span class="kt">string</span> <span class="na">class_name</span> <span 
class="o">=</span> <span class="mi">5</span><span class="p">;</span>
+  <span class="kt">string</span> <span class="na">class_name</span> <span 
class="o">=</span> <span class="mi">6</span><span class="p">;</span>
+  <span class="kt">string</span> <span class="na">name</span> <span 
class="o">=</span> <span class="mi">7</span><span class="p">;</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">parameter_type</code> An integer 
corresponding to the JDBC Types class denoting the column’s type.</p>
+
+<p><code class="highlighter-rouge">type_name</code> The JDBC type name for 
this column.</p>
+
+<p><code class="highlighter-rouge">class_name</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>
+
+<figure class="highlight"><pre><code class="language-protobuf" 
data-lang="protobuf"><span class="kd">enum</span> <span 
class="n">Severity</span> <span class="p">{</span>
+  <span class="na">UNKNOWN_SEVERITY</span> <span class="o">=</span> <span 
class="mi">0</span><span class="p">;</span>
+  <span class="na">FATAL_SEVERITY</span> <span class="o">=</span> <span 
class="mi">1</span><span class="p">;</span>
+  <span class="na">ERROR_SEVERITY</span> <span class="o">=</span> <span 
class="mi">2</span><span class="p">;</span>
+  <span class="na">WARNING_SEVERITY</span> <span class="o">=</span> <span 
class="mi">3</span><span class="p">;</span>
+<span class="p">}</span></code></pre></figure>
+
+<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-protobuf" 
data-lang="protobuf"><span class="kd">message</span> <span 
class="nc">AvaticaType</span> <span class="p">{</span>
+  <span class="kt">uint32</span> <span class="na">id</span> <span 
class="o">=</span> <span class="mi">1</span><span class="p">;</span>
+  <span class="kt">string</span> <span class="na">name</span> <span 
class="o">=</span> <span class="mi">2</span><span class="p">;</span>
+  <span class="n">Rep</span> <span class="na">rep</span> <span 
class="o">=</span> <span class="mi">3</span><span class="p">;</span>
+  <span class="k">repeated</span> <span class="n">ColumnMetaData</span> <span 
class="na">columns</span> <span class="o">=</span> <span 
class="mi">4</span><span class="p">;</span>
+  <span class="n">AvaticaType</span> <span class="na">component</span> <span 
class="o">=</span> <span class="mi">5</span><span class="p">;</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-protobuf" 
data-lang="protobuf"><span class="kd">message</span> <span 
class="nc">ColumnMetaData</span> <span class="p">{</span>
+  <span class="kt">uint32</span> <span class="na">ordinal</span> <span 
class="o">=</span> <span class="mi">1</span><span class="p">;</span>
+  <span class="kt">bool</span> <span class="na">auto_increment</span> <span 
class="o">=</span> <span class="mi">2</span><span class="p">;</span>
+  <span class="kt">bool</span> <span class="na">case_sensitive</span> <span 
class="o">=</span> <span class="mi">3</span><span class="p">;</span>
+  <span class="kt">bool</span> <span class="na">searchable</span> <span 
class="o">=</span> <span class="mi">4</span><span class="p">;</span>
+  <span class="kt">bool</span> <span class="na">currency</span> <span 
class="o">=</span> <span class="mi">5</span><span class="p">;</span>
+  <span class="kt">uint32</span> <span class="na">nullable</span> <span 
class="o">=</span> <span class="mi">6</span><span class="p">;</span>
+  <span class="kt">bool</span> <span class="na">signed</span> <span 
class="o">=</span> <span class="mi">7</span><span class="p">;</span>
+  <span class="kt">uint32</span> <span class="na">display_size</span> <span 
class="o">=</span> <span class="mi">8</span><span class="p">;</span>
+  <span class="kt">string</span> <span class="na">label</span> <span 
class="o">=</span> <span class="mi">9</span><span class="p">;</span>
+  <span class="kt">string</span> <span class="na">column_name</span> <span 
class="o">=</span> <span class="mi">10</span><span class="p">;</span>
+  <span class="kt">string</span> <span class="na">schema_name</span> <span 
class="o">=</span> <span class="mi">11</span><span class="p">;</span>
+  <span class="kt">uint32</span> <span class="na">precision</span> <span 
class="o">=</span> <span class="mi">12</span><span class="p">;</span>
+  <span class="kt">uint32</span> <span class="na">scale</span> <span 
class="o">=</span> <span class="mi">13</span><span class="p">;</span>
+  <span class="kt">string</span> <span class="na">table_name</span> <span 
class="o">=</span> <span class="mi">14</span><span class="p">;</span>
+  <span class="kt">string</span> <span class="na">catalog_name</span> <span 
class="o">=</span> <span class="mi">15</span><span class="p">;</span>
+  <span class="kt">bool</span> <span class="na">read_only</span> <span 
class="o">=</span> <span class="mi">16</span><span class="p">;</span>
+  <span class="kt">bool</span> <span class="na">writable</span> <span 
class="o">=</span> <span class="mi">17</span><span class="p">;</span>
+  <span class="kt">bool</span> <span class="na">definitely_writable</span> 
<span class="o">=</span> <span class="mi">18</span><span class="p">;</span>
+  <span class="kt">string</span> <span class="na">column_class_name</span> 
<span class="o">=</span> <span class="mi">19</span><span class="p">;</span>
+  <span class="n">AvaticaType</span> <span class="na">type</span> <span 
class="o">=</span> <span class="mi">20</span><span class="p">;</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">auto_increment</code> A boolean denoting 
whether the column is automatically incremented.</p>
+
+<p><code class="highlighter-rouge">case_sensitive</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">display_size</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">column_name</code> The name of the 
column.</p>
+
+<p><code class="highlighter-rouge">schema_name</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">table_name</code> The name of the table to 
which this column belongs.</p>
+
+<p><code class="highlighter-rouge">catalog_name</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">read_only</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">definitely_writable</code> A boolean 
denoting whether the column definitely can be updated.</p>
+
+<p><code class="highlighter-rouge">column_class_name</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-protobuf" 
data-lang="protobuf"><span class="kd">message</span> <span 
class="nc">ConnectionProperties</span> <span class="p">{</span>
+  <span class="kt">bool</span> <span class="na">is_dirty</span> <span 
class="o">=</span> <span class="mi">1</span><span class="p">;</span>
+  <span class="kt">bool</span> <span class="na">auto_commit</span> <span 
class="o">=</span> <span class="mi">2</span><span class="p">;</span>
+  <span class="kt">bool</span> <span class="na">has_auto_commit</span> <span 
class="o">=</span> <span class="mi">7</span><span class="p">;</span>
+  <span class="kt">bool</span> <span class="na">read_only</span> <span 
class="o">=</span> <span class="mi">3</span><span class="p">;</span>
+  <span class="kt">bool</span> <span class="na">has_read_only</span> <span 
class="o">=</span> <span class="mi">8</span><span class="p">;</span>
+  <span class="kt">uint32</span> <span class="na">transaction_isolation</span> 
<span class="o">=</span> <span class="mi">4</span><span class="p">;</span>
+  <span class="kt">string</span> <span class="na">catalog</span> <span 
class="o">=</span> <span class="mi">5</span><span class="p">;</span>
+  <span class="kt">string</span> <span class="na">schema</span> <span 
class="o">=</span> <span class="mi">6</span><span class="p">;</span>
+<span class="p">}</span></code></pre></figure>
+
+<p><code class="highlighter-rouge">is_dirty</code> A boolean denoting if the 
properties have been altered.</p>
+
+<p><code class="highlighter-rouge">auto_commit</code> A boolean denoting if 
autoCommit is enabled for transactions.</p>
+
+<p><code class="highlighter-rouge">has_auto_commit</code> A boolean denoting 
if <code class="highlighter-rouge">auto_commit</code> was set.</p>
+
+<p><code class="highlighter-rouge">read_only</code> A boolean denoting if a 
JDBC connection is read-only.</p>
+
+<p><code class="highlighter-rouge">has_read_only</code> A boolean denoting if 
<code class="highlighter-rouge">read_only</code> was set.</p>
+
+<p><code class="highlighter-rouge">transaction_isolation</code> 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> The name of a catalog to use 
when fetching connection properties.</p>
+
+<p><code class="highlighter-rouge">schema</code> The name of the schema to use 
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-protobuf" 
data-lang="protobuf"><span class="kd">message</span> <span 
class="nc">CursorFactory</span> <span class="p">{</span>
+  <span class="kd">enum</span> <span class="n">Style</span> <span 
class="p">{</span>
+    <span class="na">OBJECT</span> <span class="o">=</span> <span 
class="mi">0</span><span class="p">;</span>
+    <span class="na">RECORD</span> <span class="o">=</span> <span 
class="mi">1</span><span class="p">;</span>
+    <span class="na">RECORD_PROJECTION</span> <span class="o">=</span> <span 
class="mi">2</span><span class="p">;</span>
+    <span class="na">ARRAY</span> <span class="o">=</span> <span 
class="mi">3</span><span class="p">;</span>
+    <span class="na">LIST</span> <span class="o">=</span> <span 
class="mi">4</span><span class="p">;</span>
+    <span class="na">MAP</span> <span class="o">=</span> <span 
class="mi">5</span><span class="p">;</span>
+  <span class="p">}</span>
+
+  <span class="n">Style</span> <span class="na">style</span> <span 
class="o">=</span> <span class="mi">1</span><span class="p">;</span>
+  <span class="kt">string</span> <span class="na">class_name</span> <span 
class="o">=</span> <span class="mi">2</span><span class="p">;</span>
+  <span class="k">repeated</span> <span class="kt">string</span> <span 
class="na">field_names</span> <span class="o">=</span> <span 
class="mi">3</span><span class="p">;</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>
+
+<p><code class="highlighter-rouge">class_name</code> The name of the for <code 
class="highlighter-rouge">RECORD</code> or <code 
class="highlighter-rouge">RECORD_PROJECTION</code>.</p>
+
+<h3 id="databaseproperty">DatabaseProperty</h3>
+
+<p>This object represents the exposed database properties for a Connection 
through the Avatica server.</p>
+
+<figure class="highlight"><pre><code class="language-protobuf" 
data-lang="protobuf"><span class="kd">message</span> <span 
class="nc">DatabaseProperty</span> <span class="p">{</span>
+  <span class="kt">string</span> <span class="na">name</span> <span 
class="o">=</span> <span class="mi">1</span><span class="p">;</span>
+  <span class="k">repeated</span> <span class="kt">string</span> <span 
class="na">functions</span> <span class="o">=</span> <span 
class="mi">2</span><span class="p">;</span>
+<span class="p">}</span></code></pre></figure>
+
+<p><code class="highlighter-rouge">name</code> The name of the database 
property.</p>
+
+<p><code class="highlighter-rouge">functions</code> A collection of values for 
the property.</p>
+
+<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-protobuf" 
data-lang="protobuf"><span class="kd">message</span> <span 
class="nc">Frame</span> <span class="p">{</span>
+  <span class="kt">uint64</span> <span class="na">offset</span> <span 
class="o">=</span> <span class="mi">1</span><span class="p">;</span>
+  <span class="kt">bool</span> <span class="na">done</span> <span 
class="o">=</span> <span class="mi">2</span><span class="p">;</span>
+  <span class="k">repeated</span> <span class="n">Row</span> <span 
class="na">rows</span> <span class="o">=</span> <span class="mi">3</span><span 
class="p">;</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> A collection of <a 
href="#row">Row</a>s.</p>
+
+<h3 id="row">Row</h3>
+
+<p>This object represents a row in a relational database table.</p>
+
+<figure class="highlight"><pre><code class="language-protobuf" 
data-lang="protobuf"><span class="kd">message</span> <span 
class="nc">Row</span> <span class="p">{</span>
+  <span class="k">repeated</span> <span class="n">ColumnValue</span> <span 
class="na">value</span> <span class="o">=</span> <span class="mi">1</span><span 
class="p">;</span>
+<span class="p">}</span></code></pre></figure>
+
+<p><code class="highlighter-rouge">value</code> A collection of <a 
href="#columnvalue">ColumnValue</a>s, the columns in the row.</p>
+
+<h3 id="columnvalue">ColumnValue</h3>
+
+<figure class="highlight"><pre><code class="language-protobuf" 
data-lang="protobuf"><span class="kd">message</span> <span 
class="nc">ColumnValue</span> <span class="p">{</span>
+  <span class="k">repeated</span> <span class="n">TypedValue</span> <span 
class="na">value</span> <span class="o">=</span> <span class="mi">1</span><span 
class="p">;</span> <span class="c1">// Deprecated!
+</span>  <span class="k">repeated</span> <span class="n">ColumnValue</span> 
<span class="na">array_value</span> <span class="o">=</span> <span 
class="mi">2</span><span class="p">;</span>
+  <span class="n">boolean</span> <span class="na">has_array_value</span> <span 
class="o">=</span> <span class="mi">3</span><span class="p">;</span>
+  <span class="n">TypedValue</span> <span class="na">scalar_value</span> <span 
class="o">=</span> <span class="mi">4</span><span class="p">;</span>
+<span class="p">}</span></code></pre></figure>
+
+<p><code class="highlighter-rouge">value</code> The pre Calcite-1.6 means of 
serializing <a href="#typedvalue">TypedValue</a>s. Not used anymore.</p>
+
+<p><code class="highlighter-rouge">array_value</code> The value of this column 
if it is an array (not a scalar).</p>
+
+<p><code class="highlighter-rouge">has_array_value</code> Should be set to 
true if <code class="highlighter-rouge">array_value</code> is set.</p>
+
+<p><code class="highlighter-rouge">scalar_value</code> The value of this 
column if it is a scalar (not an array).</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-protobuf" 
data-lang="protobuf"><span class="kd">message</span> <span 
class="nc">QueryState</span> <span class="p">{</span>
+  <span class="n">StateType</span> <span class="na">type</span> <span 
class="o">=</span> <span class="mi">1</span><span class="p">;</span>
+  <span class="kt">string</span> <span class="na">sql</span> <span 
class="o">=</span> <span class="mi">2</span><span class="p">;</span>
+  <span class="n">MetaDataOperation</span> <span class="na">op</span> <span 
class="o">=</span> <span class="mi">3</span><span class="p">;</span>
+  <span class="k">repeated</span> <span 
class="n">MetaDataOperationArgument</span> <span class="na">args</span> <span 
class="o">=</span> <span class="mi">4</span><span class="p">;</span>
+  <span class="kt">bool</span> <span class="na">has_args</span> <span 
class="o">=</span> <span class="mi">5</span><span class="p">;</span>
+  <span class="kt">bool</span> <span class="na">has_sql</span> <span 
class="o">=</span> <span class="mi">6</span><span class="p">;</span>
+  <span class="kt">bool</span> <span class="na">has_op</span> <span 
class="o">=</span> <span class="mi">7</span><span class="p">;</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">op</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">args</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>
+
+<p><code class="highlighter-rouge">has_args</code> A boolean which denotes if 
the field <code class="highlighter-rouge">args</code> is provided.</p>
+
+<p><code class="highlighter-rouge">has_sql</code> A boolean which denotes if 
the field <code class="highlighter-rouge">sql</code> is provided.</p>
+
+<p><code class="highlighter-rouge">has_op</code> A boolean which denotes if 
the field <code class="highlighter-rouge">op</code> is provided.</p>
+
+<h3 id="rep">Rep</h3>
+
+<p>This enumeration represents the concrete Java type for some value.</p>
+
+<figure class="highlight"><pre><code class="language-protobuf" 
data-lang="protobuf"><span class="kd">enum</span> <span class="n">Rep</span> 
<span class="p">{</span>
+  <span class="na">PRIMITIVE_BOOLEAN</span> <span class="o">=</span> <span 
class="mi">0</span><span class="p">;</span>
+  <span class="na">PRIMITIVE_BYTE</span> <span class="o">=</span> <span 
class="mi">1</span><span class="p">;</span>
+  <span class="na">PRIMITIVE_CHAR</span> <span class="o">=</span> <span 
class="mi">2</span><span class="p">;</span>
+  <span class="na">PRIMITIVE_SHORT</span> <span class="o">=</span> <span 
class="mi">3</span><span class="p">;</span>
+  <span class="na">PRIMITIVE_INT</span> <span class="o">=</span> <span 
class="mi">4</span><span class="p">;</span>
+  <span class="na">PRIMITIVE_LONG</span> <span class="o">=</span> <span 
class="mi">5</span><span class="p">;</span>
+  <span class="na">PRIMITIVE_FLOAT</span> <span class="o">=</span> <span 
class="mi">6</span><span class="p">;</span>
+  <span class="na">PRIMITIVE_DOUBLE</span> <span class="o">=</span> <span 
class="mi">7</span><span class="p">;</span>
+  <span class="na">BOOLEAN</span> <span class="o">=</span> <span 
class="mi">8</span><span class="p">;</span>
+  <span class="na">BYTE</span> <span class="o">=</span> <span 
class="mi">9</span><span class="p">;</span>
+  <span class="na">CHARACTER</span> <span class="o">=</span> <span 
class="mi">10</span><span class="p">;</span>
+  <span class="na">SHORT</span> <span class="o">=</span> <span 
class="mi">11</span><span class="p">;</span>
+  <span class="na">INTEGER</span> <span class="o">=</span> <span 
class="mi">12</span><span class="p">;</span>
+  <span class="na">LONG</span> <span class="o">=</span> <span 
class="mi">13</span><span class="p">;</span>
+  <span class="na">FLOAT</span> <span class="o">=</span> <span 
class="mi">14</span><span class="p">;</span>
+  <span class="na">DOUBLE</span> <span class="o">=</span> <span 
class="mi">15</span><span class="p">;</span>
+  <span class="na">BIG_INTEGER</span> <span class="o">=</span> <span 
class="mi">25</span><span class="p">;</span>
+  <span class="na">BIG_DECIMAL</span> <span class="o">=</span> <span 
class="mi">26</span><span class="p">;</span>
+  <span class="na">JAVA_SQL_TIME</span> <span class="o">=</span> <span 
class="mi">16</span><span class="p">;</span>
+  <span class="na">JAVA_SQL_TIMESTAMP</span> <span class="o">=</span> <span 
class="mi">17</span><span class="p">;</span>
+  <span class="na">JAVA_SQL_DATE</span> <span class="o">=</span> <span 
class="mi">18</span><span class="p">;</span>
+  <span class="na">JAVA_UTIL_DATE</span> <span class="o">=</span> <span 
class="mi">19</span><span class="p">;</span>
+  <span class="na">BYTE_STRING</span> <span class="o">=</span> <span 
class="mi">20</span><span class="p">;</span>
+  <span class="na">STRING</span> <span class="o">=</span> <span 
class="mi">21</span><span class="p">;</span>
+  <span class="na">NUMBER</span> <span class="o">=</span> <span 
class="mi">22</span><span class="p">;</span>
+  <span class="na">OBJECT</span> <span class="o">=</span> <span 
class="mi">23</span><span class="p">;</span>
+  <span class="na">NULL</span> <span class="o">=</span> <span 
class="mi">24</span><span class="p">;</span>
+  <span class="na">ARRAY</span> <span class="o">=</span> <span 
class="mi">27</span><span class="p">;</span>
+  <span class="na">STRUCT</span> <span class="o">=</span> <span 
class="mi">28</span><span class="p">;</span>
+  <span class="na">MULTISET</span> <span class="o">=</span> <span 
class="mi">29</span><span class="p">;</span>
+<span class="p">}</span></code></pre></figure>
+
+<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-protobuf" 
data-lang="protobuf"><span class="kd">message</span> <span 
class="nc">RpcMetadata</span> <span class="p">{</span>
+  <span class="kt">string</span> <span class="na">server_address</span> <span 
class="o">=</span> <span class="mi">1</span><span class="p">;</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-protobuf" 
data-lang="protobuf"><span class="kd">message</span> <span 
class="nc">Signature</span> <span class="p">{</span>
+  <span class="k">repeated</span> <span class="n">ColumnMetaData</span> <span 
class="na">columns</span> <span class="o">=</span> <span 
class="mi">1</span><span class="p">;</span>
+  <span class="kt">string</span> <span class="na">sql</span> <span 
class="o">=</span> <span class="mi">2</span><span class="p">;</span>
+  <span class="k">repeated</span> <span class="n">AvaticaParameter</span> 
<span class="na">parameters</span> <span class="o">=</span> <span 
class="mi">3</span><span class="p">;</span>
+  <span class="n">CursorFactory</span> <span class="na">cursor_factory</span> 
<span class="o">=</span> <span class="mi">4</span><span class="p">;</span>
+  <span class="n">StatementType</span> <span class="na">statementType</span> 
<span class="o">=</span> <span class="mi">5</span><span class="p">;</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">cursor_factory</code> An <a 
href="#cursorfactory">CursorFactory</a> object representing the Java 
representation of the frame.</p>
+
+<p><code class="highlighter-rouge">statementType</code> The type of the 
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>
+
+<figure class="highlight"><pre><code class="language-protobuf" 
data-lang="protobuf"><span class="kd">enum</span> <span 
class="n">StateType</span> <span class="p">{</span>
+  <span class="na">SQL</span> <span class="o">=</span> <span 
class="mi">0</span><span class="p">;</span>
+  <span class="na">METADATA</span> <span class="o">=</span> <span 
class="mi">1</span><span class="p">;</span>
+<span class="p">}</span></code></pre></figure>
+
+<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-protobuf" 
data-lang="protobuf"><span class="kd">message</span> <span 
class="nc">StatementHandle</span> <span class="p">{</span>
+  <span class="kt">string</span> <span class="na">connection_id</span> <span 
class="o">=</span> <span class="mi">1</span><span class="p">;</span>
+  <span class="kt">uint32</span> <span class="na">id</span> <span 
class="o">=</span> <span class="mi">2</span><span class="p">;</span>
+  <span class="n">Signature</span> <span class="na">signature</span> <span 
class="o">=</span> <span class="mi">3</span><span class="p">;</span>
+<span class="p">}</span></code></pre></figure>
+
+<p><code class="highlighter-rouge">connection_id</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 message represents what kind the Statement is.</p>
+
+<figure class="highlight"><pre><code class="language-protobuf" 
data-lang="protobuf"><span class="kd">enum</span> <span 
class="n">StatementType</span> <span class="p">{</span>
+  <span class="na">SELECT</span> <span class="o">=</span> <span 
class="mi">0</span><span class="p">;</span>
+  <span class="na">INSERT</span> <span class="o">=</span> <span 
class="mi">1</span><span class="p">;</span>
+  <span class="na">UPDATE</span> <span class="o">=</span> <span 
class="mi">2</span><span class="p">;</span>
+  <span class="na">DELETE</span> <span class="o">=</span> <span 
class="mi">3</span><span class="p">;</span>
+  <span class="na">UPSERT</span> <span class="o">=</span> <span 
class="mi">4</span><span class="p">;</span>
+  <span class="na">MERGE</span> <span class="o">=</span> <span 
class="mi">5</span><span class="p">;</span>
+  <span class="na">OTHER_DML</span> <span class="o">=</span> <span 
class="mi">6</span><span class="p">;</span>
+  <span class="na">CREATE</span> <span class="o">=</span> <span 
class="mi">7</span><span class="p">;</span>
+  <span class="na">DROP</span> <span class="o">=</span> <span 
class="mi">8</span><span class="p">;</span>
+  <span class="na">ALTER</span> <span class="o">=</span> <span 
class="mi">9</span><span class="p">;</span>
+  <span class="na">OTHER_DDL</span> <span class="o">=</span> <span 
class="mi">10</span><span class="p">;</span>
+  <span class="na">CALL</span> <span class="o">=</span> <span 
class="mi">11</span><span class="p">;</span>
+<span class="p">}</span></code></pre></figure>
+
+<h3 id="style">Style</h3>
+
+<p>This enumeration represents the generic “class” of type for a value. 
Defined within <a href="#cursorfactory">CursorFactory</a>.</p>
+
+<figure class="highlight"><pre><code class="language-protobuf" 
data-lang="protobuf"><span class="kd">enum</span> <span class="n">Style</span> 
<span class="p">{</span>
+  <span class="na">OBJECT</span> <span class="o">=</span> <span 
class="mi">0</span><span class="p">;</span>
+  <span class="na">RECORD</span> <span class="o">=</span> <span 
class="mi">1</span><span class="p">;</span>
+  <span class="na">RECORD_PROJECTION</span> <span class="o">=</span> <span 
class="mi">2</span><span class="p">;</span>
+  <span class="na">ARRAY</span> <span class="o">=</span> <span 
class="mi">3</span><span class="p">;</span>
+  <span class="na">LIST</span> <span class="o">=</span> <span 
class="mi">4</span><span class="p">;</span>
+  <span class="na">MAP</span> <span class="o">=</span> <span 
class="mi">5</span><span class="p">;</span>
+<span class="p">}</span></code></pre></figure>
+
+<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-protobuf" 
data-lang="protobuf"><span class="kd">message</span> <span 
class="nc">TypedValue</span> <span class="p">{</span>
+  <span class="n">Rep</span> <span class="na">type</span> <span 
class="o">=</span> <span class="mi">1</span><span class="p">;</span>
+  <span class="kt">bool</span> <span class="na">bool_value</span> <span 
class="o">=</span> <span class="mi">2</span><span class="p">;</span>
+  <span class="kt">string</span> <span class="na">string_value</span> <span 
class="o">=</span> <span class="mi">3</span><span class="p">;</span>
+  <span class="kt">sint64</span> <span class="na">number_value</span> <span 
class="o">=</span> <span class="mi">4</span><span class="p">;</span>
+  <span class="kt">bytes</span> <span class="na">bytes_value</span> <span 
class="o">=</span> <span class="mi">5</span><span class="p">;</span>
+  <span class="kt">double</span> <span class="na">double_value</span> <span 
class="o">=</span> <span class="mi">6</span><span class="p">;</span>
+  <span class="kt">bool</span> <span class="na">null</span> <span 
class="o">=</span> <span class="mi">7</span><span class="p">;</span>
+  <span class="k">repeated</span> <span class="n">TypedValue</span> <span 
class="na">array_value</span> <span class="o">=</span> <span 
class="mi">8</span><span class="p">;</span>

[... 521 lines stripped ...]

Reply via email to