Added: calcite/site/avatica/docs/protobuf_reference.html URL: http://svn.apache.org/viewvc/calcite/site/avatica/docs/protobuf_reference.html?rev=1733977&view=auto ============================================================================== --- calcite/site/avatica/docs/protobuf_reference.html (added) +++ calcite/site/avatica/docs/protobuf_reference.html Mon Mar 7 20:23:21 2016 @@ -0,0 +1,1652 @@ +<!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.0.3"> + <link rel="stylesheet" href="//fonts.googleapis.com/css?family=Lato:300,300italic,400,400italic,700,700italic,900"> + <link rel="stylesheet" href="/avatica/css/screen.css"> + <link rel="icon" type="image/x-icon" href="/avatica/favicon.ico"> + <!--[if lt IE 9]> + <script src="/js/html5shiv.min.js"></script> + <script src="/js/respond.min.js"></script> + <![endif]--> +</head> + + +<body class="wrap"> + <header role="banner"> + <nav class="mobile-nav show-on-mobiles"> + <ul> + <li class=""> + <a href="/avatica/">Home</a> + </li> + <li class=""> + <a href="/avatica/downloads/">Download</a> + </li> + <li class=""> + <a href="/avatica/community/">Community</a> + </li> + <li class=""> + <a href="/avatica/develop/">Develop</a> + </li> + <li class=""> + <a href="/avatica/news/">News</a> + </li> + <li class="current"> + <a href="/avatica/docs/">Docs</a> + </li> +</ul> + + </nav> + <div class="grid"> + <div class="unit one-third center-on-mobiles"> + <h1> + <a href="/avatica/.."> + <span class="sr-only">Apache Calcite Avatica</span> + <img src="/avatica/img/logo.png" width="226" height="140" alt="Calcite Logo"> + </a> + </h1> + </div> + <nav class="main-nav unit two-thirds hide-on-mobiles"> + <ul> + <li class=""> + <a href="/avatica/">Home</a> + </li> + <li class=""> + <a href="/avatica/downloads/">Download</a> + </li> + <li class=""> + <a href="/avatica/community/">Community</a> + </li> + <li class=""> + <a href="/avatica/develop/">Develop</a> + </li> + <li class=""> + <a href="/avatica/news/">News</a> + </li> + <li class="current"> + <a href="/avatica/docs/">Docs</a> + </li> +</ul> + + </nav> + </div> +</header> + + + <section class="docs"> + <div class="grid"> + + <div class="docs-nav-mobile unit whole show-on-mobiles"> + <select onchange="if (this.value) window.location.href=this.value"> + <option value="">Navigate the docsâ¦</option> + + <optgroup label="Overview"> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + </optgroup> + + <optgroup label="Reference"> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + </optgroup> + + <optgroup label="Meta"> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + </optgroup> + + </select> +</div> + + + <div class="unit four-fifths"> + <article> + <h1>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="#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> + + + + + + + + + + + + + + + + + + + <div class="section-nav"> + <div class="left align-right"> + + + + <a href="/avatica/docs/json_reference.html" class="prev">Previous</a> + + </div> + <div class="right align-left"> + + + + <a href="/avatica/docs/howto.html" class="next">Next</a> + + </div> + </div> + <div class="clear"></div> + + + </article> + </div> + + <div class="unit one-fifth hide-on-mobiles"> + <aside> + + <h4>Overview</h4> + + +<ul> + + + + + + + + + + + + + + + + + + + + + + + + <li class=""><a href="/avatica/docs/index.html">Background</a></li> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <li class=""><a href="/avatica/docs/roadmap.html">Roadmap</a></li> + + + +</ul> + + + <h4>Reference</h4> + + +<ul> + + + + + + + + + + + + + + + + + + + + + + + + + + + + <li class=""><a href="/avatica/docs/json_reference.html">JSON Reference</a></li> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <li class="current"><a href="/avatica/docs/protobuf_reference.html">Protobuf Reference</a></li> + + + + + + + + + + + + + + + + + + + + + + <li class=""><a href="/avatica/docs/howto.html">HOWTO</a></li> + + + +</ul> + + + <h4>Meta</h4> + + +<ul> + + + + + + + + + + + + + + + + <li class=""><a href="/avatica/docs/history.html">History</a></li> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +</ul> + + + </aside> +</div> + + + <div class="clear"></div> + + </div> + </section> + + + <footer role="contentinfo"> + <div id="poweredby"> + <a href="http://www.apache.org/"> + <span class="sr-only">Apache</span> + <img src="/avatica/img/feather.png" width="190" height="77" alt="Apache Logo"></a> + </div> + <div id="copyright"> + <p>The contents of this website are © 2016 + <a href="https://www.apache.org/">Apache Software Foundation</a> + under the terms of + the <a href="https://www.apache.org/licenses/LICENSE-2.0.html"> + Apache License v2</a>. Apache Calcite and its logo are + trademarks of the Apache Software Foundation.</p> + </div> +</footer> + + <script> + var anchorForId = function (id) { + var anchor = document.createElement("a"); + anchor.className = "header-link"; + anchor.href = "#" + id; + anchor.innerHTML = "<span class=\"sr-only\">Permalink</span><i class=\"fa fa-link\"></i>"; + anchor.title = "Permalink"; + return anchor; + }; + + var linkifyAnchors = function (level, containingElement) { + var headers = containingElement.getElementsByTagName("h" + level); + for (var h = 0; h < headers.length; h++) { + var header = headers[h]; + + if (typeof header.id !== "undefined" && header.id !== "") { + header.appendChild(anchorForId(header.id)); + } + } + }; + + document.onreadystatechange = function () { + if (this.readyState === "complete") { + var contentBlock = document.getElementsByClassName("docs")[0] || document.getElementsByClassName("news")[0]; + if (!contentBlock) { + return; + } + for (var level = 1; level <= 6; level++) { + linkifyAnchors(level, contentBlock); + } + } + }; +</script> + + +</body> +</html>
Added: calcite/site/avatica/docs/roadmap.html URL: http://svn.apache.org/viewvc/calcite/site/avatica/docs/roadmap.html?rev=1733977&view=auto ============================================================================== --- calcite/site/avatica/docs/roadmap.html (added) +++ calcite/site/avatica/docs/roadmap.html Mon Mar 7 20:23:21 2016 @@ -0,0 +1,689 @@ +<!DOCTYPE HTML> +<html lang="en-US"> +<head> + <meta charset="UTF-8"> + <title>Roadmap</title> + <meta name="viewport" content="width=device-width,initial-scale=1"> + <meta name="generator" content="Jekyll v3.0.3"> + <link rel="stylesheet" href="//fonts.googleapis.com/css?family=Lato:300,300italic,400,400italic,700,700italic,900"> + <link rel="stylesheet" href="/avatica/css/screen.css"> + <link rel="icon" type="image/x-icon" href="/avatica/favicon.ico"> + <!--[if lt IE 9]> + <script src="/js/html5shiv.min.js"></script> + <script src="/js/respond.min.js"></script> + <![endif]--> +</head> + + +<body class="wrap"> + <header role="banner"> + <nav class="mobile-nav show-on-mobiles"> + <ul> + <li class=""> + <a href="/avatica/">Home</a> + </li> + <li class=""> + <a href="/avatica/downloads/">Download</a> + </li> + <li class=""> + <a href="/avatica/community/">Community</a> + </li> + <li class=""> + <a href="/avatica/develop/">Develop</a> + </li> + <li class=""> + <a href="/avatica/news/">News</a> + </li> + <li class="current"> + <a href="/avatica/docs/">Docs</a> + </li> +</ul> + + </nav> + <div class="grid"> + <div class="unit one-third center-on-mobiles"> + <h1> + <a href="/avatica/.."> + <span class="sr-only">Apache Calcite Avatica</span> + <img src="/avatica/img/logo.png" width="226" height="140" alt="Calcite Logo"> + </a> + </h1> + </div> + <nav class="main-nav unit two-thirds hide-on-mobiles"> + <ul> + <li class=""> + <a href="/avatica/">Home</a> + </li> + <li class=""> + <a href="/avatica/downloads/">Download</a> + </li> + <li class=""> + <a href="/avatica/community/">Community</a> + </li> + <li class=""> + <a href="/avatica/develop/">Develop</a> + </li> + <li class=""> + <a href="/avatica/news/">News</a> + </li> + <li class="current"> + <a href="/avatica/docs/">Docs</a> + </li> +</ul> + + </nav> + </div> +</header> + + + <section class="docs"> + <div class="grid"> + + <div class="docs-nav-mobile unit whole show-on-mobiles"> + <select onchange="if (this.value) window.location.href=this.value"> + <option value="">Navigate the docsâ¦</option> + + <optgroup label="Overview"> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + </optgroup> + + <optgroup label="Reference"> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + </optgroup> + + <optgroup label="Meta"> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + </optgroup> + + </select> +</div> + + + <div class="unit four-fifths"> + <article> + <h1>Roadmap</h1> + <!-- + +--> + +<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> + + + + + + + + + + + + + <div class="section-nav"> + <div class="left align-right"> + + + + <a href="/avatica/docs/index.html" class="prev">Previous</a> + + </div> + <div class="right align-left"> + + + + <a href="/avatica/docs/json_reference.html" class="next">Next</a> + + </div> + </div> + <div class="clear"></div> + + + </article> + </div> + + <div class="unit one-fifth hide-on-mobiles"> + <aside> + + <h4>Overview</h4> + + +<ul> + + + + + + + + + + + + + + + + + + + + + + + + <li class=""><a href="/avatica/docs/index.html">Background</a></li> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <li class="current"><a href="/avatica/docs/roadmap.html">Roadmap</a></li> + + + +</ul> + + + <h4>Reference</h4> + + +<ul> + + + + + + + + + + + + + + + + + + + + + + + + + + + + <li class=""><a href="/avatica/docs/json_reference.html">JSON Reference</a></li> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <li class=""><a href="/avatica/docs/protobuf_reference.html">Protobuf Reference</a></li> + + + + + + + + + + + + + + + + + + + + + + <li class=""><a href="/avatica/docs/howto.html">HOWTO</a></li> + + + +</ul> + + + <h4>Meta</h4> + + +<ul> + + + + + + + + + + + + + + + + <li class=""><a href="/avatica/docs/history.html">History</a></li> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +</ul> + + + </aside> +</div> + + + <div class="clear"></div> + + </div> + </section> + + + <footer role="contentinfo"> + <div id="poweredby"> + <a href="http://www.apache.org/"> + <span class="sr-only">Apache</span> + <img src="/avatica/img/feather.png" width="190" height="77" alt="Apache Logo"></a> + </div> + <div id="copyright"> + <p>The contents of this website are © 2016 + <a href="https://www.apache.org/">Apache Software Foundation</a> + under the terms of + the <a href="https://www.apache.org/licenses/LICENSE-2.0.html"> + Apache License v2</a>. Apache Calcite and its logo are + trademarks of the Apache Software Foundation.</p> + </div> +</footer> + + <script> + var anchorForId = function (id) { + var anchor = document.createElement("a"); + anchor.className = "header-link"; + anchor.href = "#" + id; + anchor.innerHTML = "<span class=\"sr-only\">Permalink</span><i class=\"fa fa-link\"></i>"; + anchor.title = "Permalink"; + return anchor; + }; + + var linkifyAnchors = function (level, containingElement) { + var headers = containingElement.getElementsByTagName("h" + level); + for (var h = 0; h < headers.length; h++) { + var header = headers[h]; + + if (typeof header.id !== "undefined" && header.id !== "") { + header.appendChild(anchorForId(header.id)); + } + } + }; + + document.onreadystatechange = function () { + if (this.readyState === "complete") { + var contentBlock = document.getElementsByClassName("docs")[0] || document.getElementsByClassName("news")[0]; + if (!contentBlock) { + return; + } + for (var level = 1; level <= 6; level++) { + linkifyAnchors(level, contentBlock); + } + } + }; +</script> + + +</body> +</html> Added: calcite/site/avatica/docs/testapi/index.html URL: http://svn.apache.org/viewvc/calcite/site/avatica/docs/testapi/index.html?rev=1733977&view=auto ============================================================================== --- calcite/site/avatica/docs/testapi/index.html (added) +++ calcite/site/avatica/docs/testapi/index.html Mon Mar 7 20:23:21 2016 @@ -0,0 +1,9 @@ +<!DOCTYPE html> +<html> + <head> + <title>Test API</title> + + <meta http-equiv="refresh" content="0;url=/testapidocs"> + </head> + <body><!-- Google Analytics JavaScript --></body> +</html> Added: calcite/site/avatica/downloads/index.html URL: http://svn.apache.org/viewvc/calcite/site/avatica/downloads/index.html?rev=1733977&view=auto ============================================================================== --- calcite/site/avatica/downloads/index.html (added) +++ calcite/site/avatica/downloads/index.html Mon Mar 7 20:23:21 2016 @@ -0,0 +1,203 @@ +<!DOCTYPE HTML> +<html lang="en-US"> +<head> + <meta charset="UTF-8"> + <title>Downloads</title> + <meta name="viewport" content="width=device-width,initial-scale=1"> + <meta name="generator" content="Jekyll v3.0.3"> + <link rel="stylesheet" href="//fonts.googleapis.com/css?family=Lato:300,300italic,400,400italic,700,700italic,900"> + <link rel="stylesheet" href="/avatica/css/screen.css"> + <link rel="icon" type="image/x-icon" href="/avatica/favicon.ico"> + <!--[if lt IE 9]> + <script src="/js/html5shiv.min.js"></script> + <script src="/js/respond.min.js"></script> + <![endif]--> +</head> + + +<body class="wrap"> + <header role="banner"> + <nav class="mobile-nav show-on-mobiles"> + <ul> + <li class=""> + <a href="/avatica/">Home</a> + </li> + <li class="current"> + <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=""> + <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="current"> + <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=""> + <a href="/avatica/docs/">Docs</a> + </li> +</ul> + + </nav> + </div> +</header> + + + <section class="standalone"> + <div class="grid"> + + <div class="unit whole"> + <article> + <h1>Downloads</h1> + <!-- + +--> + +<p>Calcite is released as a source artifact, and also through Maven.</p> + +<h1 id="source-releases">Source releases</h1> + +<table> + <thead> + <tr> + <th style="text-align: left">Release</th> + <th style="text-align: left">Date</th> + <th style="text-align: left">Commit</th> + <th style="text-align: left">Download</th> + </tr> + </thead> + <tbody> + <tr> + <td style="text-align: left"><a href="/avatica/docs/history.html#v9-9-9">9.9.9</a></td> + <td style="text-align: left">03 Mar 2016</td> + <td style="text-align: left"><a href="https://github.com/apache/calcite/commit/abcdef">abcdef</a></td> + <td style="text-align: left"><a href="http://www.apache.org/dyn/closer.lua?filename=calcite/apache-calcite-9.9.9/apache-calcite-9.9.9-src.tar.gz&action=download">tar</a> (<a href="https://www.apache.org/dist/calcite/apache-calcite-9.9.9/apache-calcite-9.9.9-src.tar.gz.md5">md5</a> <a href="https://www.apache.org/dist/calcite/apache-calcite-9.9.9/apache-calcite-9.9.9-src.tar.gz.asc">pgp</a>) <br /> <a href="http://www.apache.org/dyn/closer.lua?filename=calcite/apache-calcite-9.9.9/apache-calcite-9.9.9-src.zip&action=download">zip</a> (<a href="https://www.apache.org/dist/calcite/apache-calcite-9.9.9/apache-calcite-9.9.9-src.zip.md5">md5</a> <a href="https://www.apache.org/dist/calcite/apache-calcite-9.9.9/apache-calcite-9.9.9-src.zip.asc">pgp</a>)</td> + </tr> + </tbody> +</table> + +<p>Choose a source distribution in either <em>tar</em> or <em>zip</em> format, +and <a href="http://www.apache.org/dyn/closer.cgi#verify">verify</a> +using the corresponding <em>pgp</em> signature (using the committer file in +<a href="http://www.apache.org/dist/calcite/KEYS">KEYS</a>). +If you cannot do that, the <em>md5</em> hash file may be used to check that the +download has completed OK.</p> + +<p>For fast downloads, current source distributions are hosted on mirror servers; +older source distributions are in the +<a href="http://archive.apache.org/dist/calcite/">archive</a> +or <a href="http://archive.apache.org/dist/incubator/calcite/">incubator archive</a>. +If a download from a mirror fails, retry, and the second download will likely +succeed.</p> + +<p>For security, hash and signature files are always hosted at +<a href="https://www.apache.org/dist">Apache</a>.</p> + +<h1 id="maven-artifacts">Maven artifacts</h1> + +<p>Add the following to the dependencies section of your <code class="highlighter-rouge">pom.xml</code> file:</p> + +<figure class="highlight"><pre><code class="language-xml" data-lang="xml"><span class="nt"><dependencies></span> + <span class="nt"><dependency></span> + <span class="nt"><groupId></span>org.apache.calcite.avatica<span class="nt"></groupId></span> + <span class="nt"><artifactId></span>calcite-avatica<span class="nt"></artifactId></span> + <span class="nt"><version></span>9.9.9<span class="nt"></version></span> + <span class="nt"></dependency></span> +<span class="nt"></dependencies></span></code></pre></figure> + + + </article> + </div> + + <div class="clear"></div> + + </div> +</section> + + + <footer role="contentinfo"> + <div id="poweredby"> + <a href="http://www.apache.org/"> + <span class="sr-only">Apache</span> + <img src="/avatica/img/feather.png" width="190" height="77" alt="Apache Logo"></a> + </div> + <div id="copyright"> + <p>The contents of this website are © 2016 + <a href="https://www.apache.org/">Apache Software Foundation</a> + under the terms of + the <a href="https://www.apache.org/licenses/LICENSE-2.0.html"> + Apache License v2</a>. Apache Calcite and its logo are + trademarks of the Apache Software Foundation.</p> + </div> +</footer> + + <script> + var anchorForId = function (id) { + var anchor = document.createElement("a"); + anchor.className = "header-link"; + anchor.href = "#" + id; + anchor.innerHTML = "<span class=\"sr-only\">Permalink</span><i class=\"fa fa-link\"></i>"; + anchor.title = "Permalink"; + return anchor; + }; + + var linkifyAnchors = function (level, containingElement) { + var headers = containingElement.getElementsByTagName("h" + level); + for (var h = 0; h < headers.length; h++) { + var header = headers[h]; + + if (typeof header.id !== "undefined" && header.id !== "") { + header.appendChild(anchorForId(header.id)); + } + } + }; + + document.onreadystatechange = function () { + if (this.readyState === "complete") { + var contentBlock = document.getElementsByClassName("docs")[0] || document.getElementsByClassName("news")[0]; + if (!contentBlock) { + return; + } + for (var level = 1; level <= 6; level++) { + linkifyAnchors(level, contentBlock); + } + } + }; +</script> + + +</body> +</html> Added: calcite/site/avatica/fonts/fontawesome-webfont.eot URL: http://svn.apache.org/viewvc/calcite/site/avatica/fonts/fontawesome-webfont.eot?rev=1733977&view=auto ============================================================================== Binary file - no diff available. Propchange: calcite/site/avatica/fonts/fontawesome-webfont.eot ------------------------------------------------------------------------------ svn:executable = * Propchange: calcite/site/avatica/fonts/fontawesome-webfont.eot ------------------------------------------------------------------------------ svn:mime-type = application/octet-stream
