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"><</span><span class="kt">string</span><span class="p">,</span> <span class="kt">string</span><span class="err">></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 ...]