| <!DOCTYPE HTML> |
| <html lang="en-US"> |
| <head> |
| <meta charset="UTF-8"> |
| <title>Client Reference</title> |
| <meta name="viewport" content="width=device-width,initial-scale=1"> |
| <meta name="generator" content="Jekyll v4.2.2"> |
| <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"> |
| </head> |
| |
| |
| <body class="wrap"> |
| <header role="banner"> |
| <nav class="mobile-nav show-on-mobiles"> |
| <ul> |
| <li class=""> |
| <a href="/avatica/">Home</a> |
| </li> |
| <li class=""> |
| <a href="/avatica/downloads/">Download</a> |
| </li> |
| <li class=""> |
| <a href="/avatica/community/">Community</a> |
| </li> |
| <li class=""> |
| <a href="/avatica/develop/">Develop</a> |
| </li> |
| <li class=""> |
| <a href="/avatica/news/">News</a> |
| </li> |
| <li class="current"> |
| <a href="/avatica/docs/">Docs</a> |
| </li> |
| </ul> |
| |
| </nav> |
| <div class="grid"> |
| <div class="unit one-third center-on-mobiles"> |
| <h1> |
| <a href="/avatica/"> |
| <span class="sr-only">Apache Calcite Avatica</span> |
| <img src="/avatica/img/logo.png" width="226" height="140" alt="Calcite Logo"> |
| </a> |
| </h1> |
| </div> |
| <nav class="main-nav unit two-thirds hide-on-mobiles"> |
| <ul> |
| <li class=""> |
| <a href="/avatica/">Home</a> |
| </li> |
| <li class=""> |
| <a href="/avatica/downloads/">Download</a> |
| </li> |
| <li class=""> |
| <a href="/avatica/community/">Community</a> |
| </li> |
| <li class=""> |
| <a href="/avatica/develop/">Develop</a> |
| </li> |
| <li class=""> |
| <a href="/avatica/news/">News</a> |
| </li> |
| <li class="current"> |
| <a href="/avatica/docs/">Docs</a> |
| </li> |
| </ul> |
| |
| </nav> |
| </div> |
| </header> |
| |
| |
| <section class="docs"> |
| <div class="grid"> |
| |
| <div class="docs-nav-mobile unit whole show-on-mobiles"> |
| <select onchange="if (this.value) window.location.href=this.value"> |
| <option value="">Navigate the docs…</option> |
| |
| <optgroup label="Overview"> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| </optgroup> |
| |
| <optgroup label="Avatica Reference"> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| </optgroup> |
| |
| <optgroup label="Avatica Go Client Reference"> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| </optgroup> |
| |
| <optgroup label="Avatica Meta"> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| </optgroup> |
| |
| <optgroup label="Avatica Go Client Meta"> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| </optgroup> |
| |
| </select> |
| </div> |
| |
| |
| <div class="unit four-fifths"> |
| <article> |
| <h1>Client Reference</h1> |
| <!-- |
| |
| --> |
| |
| <p>Avatica provides a reference-implementation client in the form of a Java |
| JDBC client that interacts with the Avatica server over HTTP. This client |
| can be used just as any other JDBC driver. There are a number of options |
| that are available for clients to specify via the JDBC connection URL.</p> |
| |
| <p>As a reminder, the JDBC connection URL for Avatica is:</p> |
| |
| <p><code class="language-plaintext highlighter-rouge">jdbc:avatica:remote:[option=value[;option=value]]</code></p> |
| |
| <p>The following are a list of supported options:</p> |
| |
| <dl> |
| <dt><strong><a name="url" href="#url">url</a></strong></dt> |
| <dd> |
| <p><em>Description</em>: This property is a URL which refers to the location of the |
| Avatica Server which the driver will communicate with.</p> |
| </dd> |
| <dd> |
| <p><em>Default</em>: This property’s default value is <code class="language-plaintext highlighter-rouge">null</code>. It is required that the |
| user provides a value for this property.</p> |
| </dd> |
| <dd> |
| <p><em>Required</em>: Yes.</p> |
| </dd> |
| <dt><strong><a name="serialization" href="#serialization">serialization</a></strong></dt> |
| <dd> |
| <p><em>Description</em>: Avatica supports multiple types of serialization mechanisms |
| to format data between the client and server. This property is used to ensure |
| that the client and server both use the same serialization mechanism. Valid |
| values presently include <code class="language-plaintext highlighter-rouge">json</code> and <code class="language-plaintext highlighter-rouge">protobuf</code>.</p> |
| </dd> |
| <dd> |
| <p><em>Default</em>: <code class="language-plaintext highlighter-rouge">json</code> is the default value.</p> |
| </dd> |
| <dd> |
| <p><em>Required</em>: No.</p> |
| </dd> |
| <dt><strong><a name="authentication" href="#authentication">authentication</a></strong></dt> |
| <dd> |
| <p><em>Description</em>: Avatica clients can specify the means in which it authenticates |
| with the Avatica server. Clients who want to use a specific form |
| of authentication should specify the appropriate value in this property. Valid |
| values for this property are presently: <code class="language-plaintext highlighter-rouge">NONE</code>, <code class="language-plaintext highlighter-rouge">BASIC</code>, <code class="language-plaintext highlighter-rouge">DIGEST</code>, and <code class="language-plaintext highlighter-rouge">SPNEGO</code>.</p> |
| </dd> |
| <dd> |
| <p><em>Default</em>: <code class="language-plaintext highlighter-rouge">null</code> (implying “no authentication”, equivalent to <code class="language-plaintext highlighter-rouge">NONE</code>).</p> |
| </dd> |
| <dd> |
| <p><em>Required</em>: No.</p> |
| </dd> |
| <dt><strong><a name="timeZone" href="#timeZone">timeZone</a></strong></dt> |
| <dd> |
| <p><em>Description</em>: The timezone that will be used for dates and times. Valid values for this |
| property are defined by <a href="https://www.ietf.org/rfc/rfc0822.txt">RFC 822</a>, for |
| example: <code class="language-plaintext highlighter-rouge">GMT</code>, <code class="language-plaintext highlighter-rouge">GMT-3</code>, <code class="language-plaintext highlighter-rouge">EST</code> or <code class="language-plaintext highlighter-rouge">PDT</code>.</p> |
| </dd> |
| <dd> |
| <p><em>Default</em>: This property’s default value is <code class="language-plaintext highlighter-rouge">null</code> which will cause the Avatica Driver to |
| use the default timezone as specified by the JVM, commonly overriden by the |
| <code class="language-plaintext highlighter-rouge">user.timezone</code> system property.</p> |
| </dd> |
| <dd> |
| <p><em>Required</em>: No.</p> |
| </dd> |
| <dt><strong><a name="httpclient-factory" href="#httpclient-factory">httpclient_factory</a></strong></dt> |
| <dd> |
| <p><em>Description</em>: The Avatica client is a “fancy” HTTP client. As such, there are |
| many libraries and APIs available for making HTTP calls. To determine which implementation |
| should be used, there is an interface <code class="language-plaintext highlighter-rouge">AvaticaHttpClientFactory</code> which can be provided |
| to control how the <code class="language-plaintext highlighter-rouge">AvaticaHttpClient</code> implementation is chosen.</p> |
| </dd> |
| <dd> |
| <p><em>Default</em>: <code class="language-plaintext highlighter-rouge">AvaticaHttpClientFactoryImpl</code>.</p> |
| </dd> |
| <dd> |
| <p><em>Required</em>: No.</p> |
| </dd> |
| <dt><strong><a name="httpclient-impl" href="#httpclient-impl">httpclient_impl</a></strong></dt> |
| <dd> |
| <p><em>Description</em>: When using the default <code class="language-plaintext highlighter-rouge">AvaticaHttpClientFactoryImpl</code> HTTP client factory |
| implementation, this factory should choose the correct client implementation for the |
| given client configuration. This property can be used to override the specific HTTP |
| client implementation. If it is not provided, the <code class="language-plaintext highlighter-rouge">AvaticaHttpClientFactoryImpl</code> will |
| automatically choose the HTTP client implementation.</p> |
| </dd> |
| <dd> |
| <p><em>Default</em>: <code class="language-plaintext highlighter-rouge">null</code>.</p> |
| </dd> |
| <dd> |
| <p><em>Required</em>: No.</p> |
| </dd> |
| <dt><strong><a name="avatica-user" href="#avatica-user">avatica_user</a></strong></dt> |
| <dd> |
| <p><em>Description</em>: This is the username used by an Avatica client to identify itself |
| to the Avatica server. It is unique to the traditional “user” JDBC property. It |
| is only necessary if Avatica is configured for HTTP Basic or Digest authentication.</p> |
| </dd> |
| <dd> |
| <p><em>Default</em>: <code class="language-plaintext highlighter-rouge">null</code>.</p> |
| </dd> |
| <dd> |
| <p><em>Required</em>: No.</p> |
| </dd> |
| <dt><strong><a name="avatica-password" href="#avatica-password">avatica_password</a></strong></dt> |
| <dd> |
| <p><em>Description</em>: This is the password used by an Avatica client to identify itself |
| to the Avatica server. It is unique to the traditional “password” JDBC property. It |
| is only necessary if Avatica is configured for HTTP Basic or Digest authentication.</p> |
| </dd> |
| <dd> |
| <p><em>Default</em>: <code class="language-plaintext highlighter-rouge">null</code>.</p> |
| </dd> |
| <dd> |
| <p><em>Required</em>: No.</p> |
| </dd> |
| <dt><strong><a name="principal" href="#principal">principal</a></strong></dt> |
| <dd> |
| <p><em>Description</em>: The Kerberos principal which can be used by the Avatica JDBC Driver |
| to automatically perform a Kerberos login before attempting to contact the Avatica |
| server. If this property is provided, it is also expected that <code class="language-plaintext highlighter-rouge">keytab</code> is provided |
| and that the Avatica server is configured for SPNEGO authentication. Users can perform |
| their own Kerberos login; this option is provided only as a convenience.</p> |
| </dd> |
| <dd> |
| <p><em>Default</em>: <code class="language-plaintext highlighter-rouge">null</code>.</p> |
| </dd> |
| <dd> |
| <p><em>Required</em>: No.</p> |
| </dd> |
| <dt><strong><a name="keytab" href="#keytab">keytab</a></strong></dt> |
| <dd> |
| <p><em>Description</em>: The Kerberos keytab which contains the secret material to perform |
| a Kerberos login with the <code class="language-plaintext highlighter-rouge">principal</code>. The value should be a path on the local |
| filesystem to a regular file.</p> |
| </dd> |
| <dd> |
| <p><em>Default</em>: <code class="language-plaintext highlighter-rouge">null</code>.</p> |
| </dd> |
| <dd> |
| <p><em>Required</em>: No.</p> |
| </dd> |
| <dt><strong><a name="truststore" href="#truststore">truststore</a></strong></dt> |
| <dd> |
| <p><em>Description</em>: A path to a Java KeyStore (JKS) file on the local filesystem |
| which contains the certificate authority to trust in a TLS handshake. Only |
| necessary when using HTTPS.</p> |
| </dd> |
| <dd> |
| <p><em>Default</em>: <code class="language-plaintext highlighter-rouge">null</code>.</p> |
| </dd> |
| <dd> |
| <p><em>Required</em>: No.</p> |
| </dd> |
| <dt><strong><a name="truststore_password" href="#truststore_password">truststore_password</a></strong></dt> |
| <dd> |
| <p><em>Description</em>: The password for the Java KeyStore file specified by <a href="#truststore">truststore</a>.</p> |
| </dd> |
| <dd> |
| <p><em>Default</em>: <code class="language-plaintext highlighter-rouge">null</code>.</p> |
| </dd> |
| <dd> |
| <p><em>Required</em>: Only if <code class="language-plaintext highlighter-rouge">truststore</code> was provided.</p> |
| </dd> |
| </dl> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <div class="section-nav"> |
| <div class="left align-right"> |
| |
| |
| |
| <a href="/avatica/docs/roadmap.html" class="prev">Previous</a> |
| |
| </div> |
| <div class="right align-left"> |
| |
| |
| |
| |
| |
| <a href="/avatica/docs/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=""><a href="/avatica/docs/roadmap.html">Roadmap</a></li> |
| |
| |
| </ul> |
| |
| |
| <h4>Avatica Reference</h4> |
| |
| |
| <ul> |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class="current"><a href="/avatica/docs/client_reference.html">Client Reference</a></li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <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> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class=""><a href="/avatica/docs/security.html">Security</a></li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class=""><a href="/avatica/docs/compatibility.html">Compatibility</a></li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class=""><a href="/avatica/docs/custom_client_artifacts.html">Custom Client Artifacts</a></li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class=""><a href="/avatica/docs/docker.html">Docker Images</a></li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class=""><a href="/avatica/docs/protocol_testing.html">Protocol Testing</a></li> |
| |
| |
| </ul> |
| |
| |
| <h4>Avatica Go Client Reference</h4> |
| |
| |
| <ul> |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class=""><a href="/avatica/docs/go_client_reference.html">Go Client Reference</a></li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class=""><a href="/avatica/docs/go_howto.html">HOWTO</a></li> |
| |
| |
| </ul> |
| |
| |
| <h4>Avatica Meta</h4> |
| |
| |
| <ul> |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class=""><a href="/avatica/docs/history.html">History</a></li> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class=""><a href="/avatica/docs/api/">API</a></li> |
| |
| |
| </ul> |
| |
| |
| <h4>Avatica Go Client Meta</h4> |
| |
| |
| <ul> |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class=""><a href="/avatica/docs/go_history.html">Go Client 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 © 2022 |
| <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> |
| <p> |
| <a href="https://privacy.apache.org/policies/privacy-policy-public.html">Privacy Policy</a> |
| </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> |