Modified: calcite/site/docs/avatica_overview.html URL: http://svn.apache.org/viewvc/calcite/site/docs/avatica_overview.html?rev=1786977&r1=1786976&r2=1786977&view=diff ============================================================================== --- calcite/site/docs/avatica_overview.html (original) +++ calcite/site/docs/avatica_overview.html Wed Mar 15 03:19:56 2017 @@ -82,15 +82,15 @@ <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 label="Overview"> </optgroup> - <optgroup label="Advanced"> + <optgroup label="Advanced"> </optgroup> - <optgroup label="Avatica"> + <optgroup label="Avatica"> </optgroup> - <optgroup label="Reference"> + <optgroup label="Reference"> </optgroup> - <optgroup label="Meta"> + <optgroup label="Meta"> </optgroup> </select> @@ -100,129 +100,17 @@ <div class="unit four-fifths"> <article> <h1>Avatica Overview</h1> - <!-- + <p><!DOCTYPE html></p> +<meta charset="utf-8" /> ---> +<title>Redirectingâ¦</title> +<link rel="canonical" href="/avatica/docs/index.html" /> -<p>Avatica is a framework for building JDBC and ODBC drivers for databases, -and an RPC wire protocol.</p> +<meta http-equiv="refresh" content="0; url=/avatica/docs/index.html" /> -<p><img src="https://raw.githubusercontent.com/julianhyde/share/master/slides/avatica-architecture.png" alt="Avatica Architecture" /></p> - -<p>Avaticaâs Java binding has very few dependencies. -Even though it is part of Apache Calcite it does not depend on other parts of -Calcite. It depends only on JDK 1.7+ and Jackson.</p> - -<p>Avaticaâs wire protocol is JSON over HTTP. -The Java implementation uses Jackson to convert request/response command -objects to/from JSON.</p> - -<p>Avatica-Server is a Java implementation of Avatica RPC.</p> - -<p>Core concepts:</p> - -<ul> - <li>Meta is a local API sufficient to implement any Avatica provider</li> - <li>Factory creates implementations of the JDBC classes (Driver, Connection, -Statement, ResultSet) on top of a Meta</li> - <li>Service is an interface that implements the functions of Meta in terms -of request and response command objects</li> -</ul> - -<h2 id="jdbc">JDBC</h2> - -<p>Avatica implements JDBC by means of Factory. -Factory creates implementations of the JDBC classes (Driver, Connection, -Statement, PreparedStatement, ResultSet) on top of a Meta.</p> - -<h2 id="odbc">ODBC</h2> - -<p>Work has not started on Avatica ODBC.</p> - -<p>Avatica ODBC would use the same wire protocol and could use the same server -implementation in Java. The ODBC client would be written in C or C++.</p> - -<p>Since the Avatica protocol abstracts many of the differences between providers, -the same ODBC client could be used for different databases.</p> - -<h2 id="http-server">HTTP Server</h2> - -<p>Avatica-server embeds the Jetty HTTP server, providing a class -<a href="/apidocs/org/apache/calcite/avatica/server/HttpServer.html">HttpServer</a> -that implements the Avatica RPC protocol -and can be run as a standalone Java application.</p> - -<p>Connectors in HTTP server can be configured if needed by extending -<code class="highlighter-rouge">HttpServer</code> class and overriding its <code class="highlighter-rouge">configureConnector()</code> method. -For example, user can set <code class="highlighter-rouge">requestHeaderSize</code> to 64K bytes as follows:</p> - -<figure class="highlight"><pre><code class="language-java" data-lang="java"><span class="n">HttpServer</span> <span class="n">server</span> <span class="o">=</span> <span class="k">new</span> <span class="n">HttpServer</span><span class="o">(</span><span class="n">handler</span><span class="o">)</span> <span class="o">{</span> - <span class="nd">@Override</span> - <span class="kd">protected</span> <span class="n">ServerConnector</span> <span class="n">configureConnector</span><span class="o">(</span> - <span class="n">ServerConnector</span> <span class="n">connector</span><span class="o">,</span> <span class="kt">int</span> <span class="n">port</span><span class="o">)</span> <span class="o">{</span> - <span class="n">HttpConnectionFactory</span> <span class="n">factory</span> <span class="o">=</span> <span class="o">(</span><span class="n">HttpConnectionFactory</span><span class="o">)</span> - <span class="n">connector</span><span class="o">.</span><span class="na">getDefaultConnectionFactory</span><span class="o">();</span> - <span class="n">factory</span><span class="o">.</span><span class="na">getHttpConfiguration</span><span class="o">().</span><span class="na">setRequestHeaderSize</span><span class="o">(</span><span class="mi">64</span> <span class="o"><<</span> <span class="mi">10</span><span class="o">);</span> - <span class="k">return</span> <span class="kd">super</span><span class="o">.</span><span class="na">configureConnector</span><span class="o">(</span><span class="n">connector</span><span class="o">,</span> <span class="n">port</span><span class="o">);</span> - <span class="o">}</span> -<span class="o">};</span> -<span class="n">server</span><span class="o">.</span><span class="na">start</span><span class="o">();</span></code></pre></figure> - -<h2 id="project-structure">Project structure</h2> - -<p>We know that it is important that client libraries have minimal dependencies.</p> - -<p>Avatica is currently part of Apache Calcite. -It does not depend upon any other part of Calcite. -At some point Avatica could become a separate project.</p> - -<p>Packages:</p> - -<ul> - <li><a href="/apidocs/org/apache/calcite/avatica/package-summary.html">org.apache.calcite.avatica</a> Core framework</li> - <li><a href="/apidocs/org/apache/calcite/avatica/remote/package-summary.html">org.apache.calcite.avatica.remote</a> JDBC driver that uses remote procedure calls</li> - <li><a href="/apidocs/org/apache/calcite/avatica/server/package-summary.html">org.apache.calcite.avatica.server</a> HTTP server</li> - <li><a href="/apidocs/org/apache/calcite/avatica/util/package-summary.html">org.apache.calcite.avatica.util</a> Utilities</li> -</ul> - -<h2 id="status">Status</h2> - -<h3 id="implemented">Implemented</h3> - -<ul> - <li>Create connection, create statement, metadata, prepare, bind, execute, fetch</li> - <li>RPC using JSON over HTTP</li> - <li>Local implementation</li> - <li>Implementation over an existing JDBC driver</li> - <li>Composite RPCs (combining several requests into one round trip) - <ul> - <li>Execute-Fetch</li> - <li>Metadata-Fetch (metadata calls such as getTables return all rows)</li> - </ul> - </li> -</ul> - -<h3 id="not-implemented">Not implemented</h3> - -<ul> - <li>ODBC</li> - <li>RPCs - <ul> - <li>CloseStatement</li> - <li>CloseConnection</li> - </ul> - </li> - <li>Composite RPCs - <ul> - <li>CreateStatement-Prepare</li> - <li>CloseStatement-CloseConnection</li> - <li>Prepare-Execute-Fetch (Statement.executeQuery should fetch first N rows)</li> - </ul> - </li> - <li>Remove statements from statement table</li> - <li>DML (INSERT, UPDATE, DELETE)</li> - <li>Statement.execute applied to SELECT statement</li> -</ul> +<h1>Redirectingâ¦</h1> +<p><a href="/avatica/docs/index.html">Click here if you are not redirected.</a> +<script>location="/avatica/docs/index.html"</script></p>
Modified: calcite/site/docs/avatica_protobuf_reference.html URL: http://svn.apache.org/viewvc/calcite/site/docs/avatica_protobuf_reference.html?rev=1786977&r1=1786976&r2=1786977&view=diff ============================================================================== --- calcite/site/docs/avatica_protobuf_reference.html (original) +++ calcite/site/docs/avatica_protobuf_reference.html Wed Mar 15 03:19:56 2017 @@ -82,15 +82,15 @@ <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 label="Overview"> </optgroup> - <optgroup label="Advanced"> + <optgroup label="Advanced"> </optgroup> - <optgroup label="Avatica"> + <optgroup label="Avatica"> </optgroup> - <optgroup label="Reference"> + <optgroup label="Reference"> </optgroup> - <optgroup label="Meta"> + <optgroup label="Meta"> </optgroup> </select> @@ -100,1005 +100,17 @@ <div class="unit four-fifths"> <article> <h1>Avatica Protocol Buffers Reference</h1> - <!-- + <p><!DOCTYPE html></p> +<meta charset="utf-8" /> ---> +<title>Redirectingâ¦</title> +<link rel="canonical" href="/avatica/docs/protobuf_reference.html" /> -<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> +<meta http-equiv="refresh" content="0; url=/avatica/docs/protobuf_reference.html" /> -<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="#executerequest">ExecuteRequest</a></li><li><a href="#fetchrequest">FetchRequest</a></li><li><a href="#openconnectionrequest">OpenConnectionRequest</a></li><li><a href="#prepareandexecuterequest">PrepareAndExecuteRequest</a></li><li><a href="#preparerequest">PrepareRequest</a></li><li><a href="#rollbackrequest">RollbackRequest</a></li><li><a href="#schemasrequest">SchemasRequest</a></li><li><a href="#syncresultsrequest">SyncResultsRequest</a></li><li><a href="#tabletypesreque st">TableTypesRequest</a></li><li><a href="#tablesrequest">TablesRequest</a></li><li><a href="#typeinforequest">TypeInfoRequest</a></li> -</ul> - -<h3 id="responses">Responses</h3> -<ul> - <li><a href="#closeconnectionresponse">CloseConnectionResponse</a></li><li><a href="#closestatementresponse">CloseStatementResponse</a></li><li><a href="#commitresponse">CommitResponse</a></li><li><a href="#connectionsyncresponse">ConnectionSyncResponse</a></li><li><a href="#createstatementresponse">CreateStatementResponse</a></li><li><a href="#databasepropertyresponse">DatabasePropertyResponse</a></li><li><a href="#errorresponse">ErrorResponse</a></li><li><a href="#executeresponse">ExecuteResponse</a></li><li><a href="#fetchresponse">FetchResponse</a></li><li><a href="#openconnectionresponse">OpenConnectionResponse</a></li><li><a href="#prepareresponse">PrepareResponse</a></li><li><a href="#resultsetresponse">ResultSetResponse</a></li><li><a href="#rollbackresponse">RollbackResponse</a></li><li><a href="#syncresultsresponse">SyncResultsResponse</a></li> -</ul> - -<h3 id="miscellaneous">Miscellaneous</h3> -<ul> - <li><a href="#avaticaparameter">AvaticaParameter</a></li><li><a href="#avaticaseverity">AvaticaSeverity</a></li><li><a href="#avaticatype">AvaticaType</a></li><li><a href="#columnmetadata">ColumnMetaData</a></li><li><a href="#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="#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">message CatalogsRequest { - string connection_id = 1; -}</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">message CloseConnectionRequest { - string connection_id = 1; -}</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">message CloseStatementRequest { - string connection_id = 1; - uint32 statement_id = 2; -}</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">message ColumnsRequest { - string catalog = 1; - string schema_pattern = 2; - string table_name_pattern = 3; - string column_name_pattern = 4; - string connection_id = 5; -}</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">message CommitRequest { - string connection_id = 1; -}</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">message ConnectionSyncRequest { - string connection_id = 1; - ConnectionProperties conn_props = 2; -}</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">message CreateStatementRequest { - string connection_id = 1; -}</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">message DatabasePropertyRequest { - string connection_id = 1; -}</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="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">message ExecuteRequest { - StatementHandle statementHandle = 1; - repeated TypedValue parameter_values = 2; - uint64 max_row_count = 3; - bool has_parameter_values = 4; -}</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">max_row_count</code> 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> - -<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">message FetchRequest { - string connection_id = 1; - uint32 statement_id = 2; - uint64 offset = 3; - uint32 fetch_max_row_count = 4; // Maximum number of rows to be returned in the frame. Negative means no limit. -}</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.</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">message OpenConnectionRequest { - string connection_id = 1; - map<string, string> info = 2; -}</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="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">message PrepareAndExecuteRequest { - string connection_id = 1; - uint32 statement_id = 4; - string sql = 2; - uint64 max_row_count = 3; -}</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.</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">message PrepareRequest { - string connection_id = 1; - string sql = 2; - uint64 max_row_count = 3; -}</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.</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">message SyncResultsRequest { - string connection_id = 1; - uint32 statement_id = 2; - QueryState state = 3; - uint64 offset = 4; -}</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">message RollbackRequest { - string connection_id = 1; -}</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">message SchemasRequest { - string catalog = 1; - string schema_pattern = 2; - string connection_id = 3; -}</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">message TableTypesRequest { - string connection_id = 1; -}</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">message TablesRequest { - string catalog = 1; - string schema_pattern = 2; - string table_name_pattern = 3; - repeated string type_list = 4; - bool has_type_list = 6; - string connection_id = 7; -}</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">message TypeInfoRequest { - string connection_id = 1; -}</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">message CloseConnectionResponse { - RpcMetadata metadata = 1; -}</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">message CloseStatementResponse { - RpcMetadata metadata = 1; -}</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">message CommitResponse { - -}</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">message ConnectionSyncResponse { - ConnectionProperties conn_props = 1; - RpcMetadata metadata = 2; -}</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">message CreateStatementResponse { - string connection_id = 1; - uint32 statement_id = 2; - RpcMetadata metadata = 3; -}</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">message DatabasePropertyResponse { - repeated DatabasePropertyElement props = 1; - RpcMetadata metadata = 2; -}</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">message ErrorResponse { - repeated string exceptions = 1; - bool has_exceptions = 7; - string error_message = 2; - Severity severity = 3; - uint32 error_code = 4; - string sql_state = 5; - RpcMetadata metadata = 6; -}</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="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">message ExecuteResponse { - repeated ResultSetResponse results = 1; - bool missing_statement = 2; - RpcMetadata metadata = 3; -}</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">message FetchResponse { - Frame frame = 1; - bool missing_statement = 2; - bool missing_results = 3; - RpcMetadata metadata = 4; -}</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">message OpenConnectionResponse { - RpcMetadata metadata = 1; -}</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">message PrepareResponse { - StatementHandle statement = 1; - RpcMetadata metadata = 2; -}</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">message ResultSetResponse { - string connection_id = 1; - uint32 statement_id = 2; - bool own_statement = 3; - Signature signature = 4; - Frame first_frame = 5; - uint64 update_count = 6; - RpcMetadata metadata = 7; -}</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 non-optional nested object <a href="#signature">Signature</a></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">message RollbackResponse { - -}</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">message SyncResultsResponse { - bool missing_statement = 1; - bool more_results = 2; - RpcMetadata metadata = 3; -}</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">message AvaticaParameter { - bool signed = 1; - uint32 precision = 2; - uint32 scale = 3; - uint32 parameter_type = 4; - string class_name = 5; - string class_name = 6; - string name = 7; -}</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">enum Severity { - UNKNOWN_SEVERITY = 0; - FATAL_SEVERITY = 1; - ERROR_SEVERITY = 2; - WARNING_SEVERITY = 3; -}</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">message AvaticaType { - uint32 id = 1; - string name = 2; - Rep rep = 3; - repeated ColumnMetaData columns = 4; - AvaticaType component = 5; -}</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">message ColumnMetaData { - uint32 ordinal = 1; - bool auto_increment = 2; - bool case_sensitive = 3; - bool searchable = 4; - bool currency = 5; - uint32 nullable = 6; - bool signed = 7; - uint32 display_size = 8; - string label = 9; - string column_name = 10; - string schema_name = 11; - uint32 precision = 12; - uint32 scale = 13; - string table_name = 14; - string catalog_name = 15; - bool read_only = 16; - bool writable = 17; - bool definitely_writable = 18; - string column_class_name = 19; - AvaticaType type = 20; -}</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">message ConnectionProperties { - bool is_dirty = 1; - bool auto_commit = 2; - bool has_auto_commit = 7; - bool read_only = 3; - bool has_read_only = 8; - uint32 transaction_isolation = 4; - string catalog = 5; - string schema = 6; -}</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">message CursorFactory { - enum Style { - OBJECT = 0; - RECORD = 1; - RECORD_PROJECTION = 2; - ARRAY = 3; - LIST = 4; - MAP = 5; - } - - Style style = 1; - string class_name = 2; - repeated string field_names = 3; -}</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">message DatabaseProperty { - string name = 1; - repeated string functions = 2; -}</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">message Frame { - uint64 offset = 1; - bool done = 2; - repeated Row rows = 3; -}</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">message Row { - repeated ColumnValue value = 1; -}</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">message ColumnValue { - repeated TypedValue value = 1; // Deprecated! - repeated ColumnValue array_value = 2; - boolean has_array_value = 3; - TypedValue scalar_value = 4; -}</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">message QueryState { - StateType type = 1; - string sql = 2; - MetaDataOperation op = 3; - repeated MetaDataOperationArgument args = 4; - bool has_args = 5; - bool has_sql = 6; - bool has_op = 7; -}</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">enum Rep { - PRIMITIVE_BOOLEAN = 0; - PRIMITIVE_BYTE = 1; - PRIMITIVE_CHAR = 2; - PRIMITIVE_SHORT = 3; - PRIMITIVE_INT = 4; - PRIMITIVE_LONG = 5; - PRIMITIVE_FLOAT = 6; - PRIMITIVE_DOUBLE = 7; - BOOLEAN = 8; - BYTE = 9; - CHARACTER = 10; - SHORT = 11; - INTEGER = 12; - LONG = 13; - FLOAT = 14; - DOUBLE = 15; - BIG_INTEGER = 25; - BIG_DECIMAL = 26; - JAVA_SQL_TIME = 16; - JAVA_SQL_TIMESTAMP = 17; - JAVA_SQL_DATE = 18; - JAVA_UTIL_DATE = 19; - BYTE_STRING = 20; - STRING = 21; - NUMBER = 22; - OBJECT = 23; - NULL = 24; - ARRAY = 27; - STRUCT = 28; - MULTISET = 29; -}</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">message RpcMetadata { - string server_address = 1; -}</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">message Signature { - repeated ColumnMetaData columns = 1; - string sql = 2; - repeated AvaticaParameter parameters = 3; - CursorFactory cursor_factory = 4; - StatementType statementType = 5; -}</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">enum StateType { - SQL = 0; - METADATA = 1; -}</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">message StatementHandle { - string connection_id = 1; - uint32 id = 2; - Signature signature = 3; -}</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">enum StatementType { - SELECT = 0; - INSERT = 1; - UPDATE = 2; - DELETE = 3; - UPSERT = 4; - MERGE = 5; - OTHER_DML = 6; - CREATE = 7; - DROP = 8; - ALTER = 9; - OTHER_DDL = 10; - CALL = 11; -}</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">enum Style { - OBJECT = 0; - RECORD = 1; - RECORD_PROJECTION = 2; - ARRAY = 3; - LIST = 4; - MAP = 5; -}</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">message TypedValue { - Rep type = 1; - bool bool_value = 2; - string string_value = 3; - sint64 number_value = 4; - bytes bytes_values = 5; - double double_value = 6; - bool null = 7; -}</code></pre></figure> - -<p><code class="highlighter-rouge">type</code> A name referring to which attribute is populated with the columnâs value.</p> - -<p><code class="highlighter-rouge">bool_value</code> A boolean value.</p> - -<p><code class="highlighter-rouge">string_value</code> A character/string value.</p> - -<p><code class="highlighter-rouge">number_value</code> A numeric value (non-<code class="highlighter-rouge">double</code>).</p> - -<p><code class="highlighter-rouge">bytes_value</code> A byte-array value.</p> - -<p><code class="highlighter-rouge">double_value</code> A <code class="highlighter-rouge">double</code> value.</p> - -<p><code class="highlighter-rouge">null</code> A boolean which denotes if the value was null.</p> - -<h3 id="wiremessage">WireMessage</h3> - -<p>This message wraps all <code class="highlighter-rouge">Request</code>s and <code class="highlighter-rouge">Response</code>s.</p> - -<figure class="highlight"><pre><code class="language-protobuf" data-lang="protobuf">message WireMessage { - string name = 1; - bytes wrapped_message = 2; -}</code></pre></figure> - -<p><code class="highlighter-rouge">name</code> The Java class name of the wrapped message.</p> - -<p><code class="highlighter-rouge">wrapped_message</code> A serialized representation of the wrapped message of the same type specified by <code class="highlighter-rouge">name</code>.</p> +<h1>Redirectingâ¦</h1> +<p><a href="/avatica/docs/protobuf_reference.html">Click here if you are not redirected.</a> +<script>location="/avatica/docs/protobuf_reference.html"</script></p> Modified: calcite/site/docs/avatica_roadmap.html URL: http://svn.apache.org/viewvc/calcite/site/docs/avatica_roadmap.html?rev=1786977&r1=1786976&r2=1786977&view=diff ============================================================================== --- calcite/site/docs/avatica_roadmap.html (original) +++ calcite/site/docs/avatica_roadmap.html Wed Mar 15 03:19:56 2017 @@ -82,15 +82,15 @@ <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 label="Overview"> </optgroup> - <optgroup label="Advanced"> + <optgroup label="Advanced"> </optgroup> - <optgroup label="Avatica"> + <optgroup label="Avatica"> </optgroup> - <optgroup label="Reference"> + <optgroup label="Reference"> </optgroup> - <optgroup label="Meta"> + <optgroup label="Meta"> </optgroup> </select> @@ -100,48 +100,17 @@ <div class="unit four-fifths"> <article> <h1>Avatica Roadmap</h1> - <!-- + <p><!DOCTYPE html></p> +<meta charset="utf-8" /> ---> +<title>Redirectingâ¦</title> +<link rel="canonical" href="/avatica/docs/roadmap.html" /> -<h2 id="status">Status</h2> +<meta http-equiv="refresh" content="0; url=/avatica/docs/roadmap.html" /> -<h3 id="implemented">Implemented</h3> - -<ul> - <li>Create connection, create statement, metadata, prepare, bind, execute, fetch</li> - <li>RPC using JSON over HTTP</li> - <li>Local implementation</li> - <li>Implementation over an existing JDBC driver</li> - <li>Composite RPCs (combining several requests into one round trip) - <ul> - <li>Execute-Fetch</li> - <li>Metadata-Fetch (metadata calls such as getTables return all rows)</li> - </ul> - </li> -</ul> - -<h3 id="not-implemented">Not implemented</h3> - -<ul> - <li>ODBC</li> - <li>RPCs - <ul> - <li>CloseStatement</li> - <li>CloseConnection</li> - </ul> - </li> - <li>Composite RPCs - <ul> - <li>CreateStatement-Prepare</li> - <li>CloseStatement-CloseConnection</li> - <li>Prepare-Execute-Fetch (Statement.executeQuery should fetch first N rows)</li> - </ul> - </li> - <li>Remove statements from statement table</li> - <li>DML (INSERT, UPDATE, DELETE)</li> - <li>Statement.execute applied to SELECT statement</li> -</ul> +<h1>Redirectingâ¦</h1> +<p><a href="/avatica/docs/roadmap.html">Click here if you are not redirected.</a> +<script>location="/avatica/docs/roadmap.html"</script></p>
