Skip to content
Permalink
Browse files
Website deployed from calcite-avatica@909e92e24db51ec7c7ebdd1c581dc5c…
…db331d7bd
  • Loading branch information
F21 committed Apr 20, 2022
1 parent 4733fc0 commit dbc31084a976d954c8bae5a8b386aef2568c76f4
Showing 50 changed files with 2,563 additions and 2,178 deletions.

Large diffs are not rendered by default.

@@ -3,9 +3,9 @@
<meta charset="utf-8">
<title>Redirecting&hellip;</title>
<link rel="canonical" href="https://calcite.apache.org/community">
<script>location="https://calcite.apache.org/community"</script>
<meta http-equiv="refresh" content="0; url=https://calcite.apache.org/community">
<meta name="robots" content="noindex">
<h1>Redirecting&hellip;</h1>
<a href="https://calcite.apache.org/community">Click here if you are not redirected.</a>
<script>location="https://calcite.apache.org/community"</script>
</html>
@@ -4,7 +4,7 @@
<meta charset="UTF-8">
<title>Developing the Avatica Go Client</title>
<meta name="viewport" content="width=device-width,initial-scale=1">
<meta name="generator" content="Jekyll v3.7.3">
<meta name="generator" content="Jekyll v3.9.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">
@@ -98,18 +98,18 @@ <h1>Developing the Avatica Go Client</h1>

<h2 id="issues">Issues</h2>

<p>To file issues, please use the <a href="https://issues.apache.org/jira/projects/CALCITE/issues">Calcite JIRA</a> and select <code class="highlighter-rouge">avatica-go</code>
<p>To file issues, please use the <a href="https://issues.apache.org/jira/projects/CALCITE/issues">Calcite JIRA</a> and select <code class="language-plaintext highlighter-rouge">avatica-go</code>
as the component.</p>

<h2 id="updating-protobuf-definitions">Updating protobuf definitions</h2>
<ol>
<li>Install <a href="https://docs.docker.com/install/">docker</a> and <a href="https://docs.docker.com/compose/install/">docker compose</a>.</li>
<li>From the root of the repository, run <code class="highlighter-rouge">docker compose run compile-protobuf</code></li>
<li>From the root of the repository, run <code class="language-plaintext highlighter-rouge">docker compose run compile-protobuf</code></li>
</ol>

<h2 id="live-reload-during-development">Live reload during development</h2>
<p>It is possible to reload the code in real-time during development. This executes the test suite every time a <code class="highlighter-rouge">.go</code> or
<code class="highlighter-rouge">.mod</code> file is updated. The test suite takes a while to run, so the tests will not complete instantly, but live-reloading
<p>It is possible to reload the code in real-time during development. This executes the test suite every time a <code class="language-plaintext highlighter-rouge">.go</code> or
<code class="language-plaintext highlighter-rouge">.mod</code> file is updated. The test suite takes a while to run, so the tests will not complete instantly, but live-reloading
during development allows us to not have to manually execute the test suite on save.</p>

<h3 id="set-up">Set up</h3>
@@ -118,10 +118,10 @@ <h3 id="set-up">Set up</h3>
<p>Install <a href="https://docs.docker.com/install/">docker</a> and <a href="https://docs.docker.com/compose/install/">docker compose</a>.</p>
</li>
<li>
<p>From the root of the repository, run <code class="highlighter-rouge">docker compose run dev</code>.</p>
<p>From the root of the repository, run <code class="language-plaintext highlighter-rouge">docker compose run dev</code>.</p>
</li>
<li>
<p>After terminating the container, stop all the containers and remove them using: <code class="highlighter-rouge">docker compose down</code></p>
<p>After terminating the container, stop all the containers and remove them using: <code class="language-plaintext highlighter-rouge">docker compose down</code></p>
</li>
</ol>

@@ -134,10 +134,10 @@ <h3 id="easy-way">Easy way</h3>
<p>Install <a href="https://docs.docker.com/install/">docker</a> and <a href="https://docs.docker.com/compose/install/">docker compose</a>.</p>
</li>
<li>
<p>From the root of the repository, run <code class="highlighter-rouge">docker compose run test</code>.</p>
<p>From the root of the repository, run <code class="language-plaintext highlighter-rouge">docker compose run test</code>.</p>
</li>
<li>
<p>After the tests complete, stop all the containers and remove them using: <code class="highlighter-rouge">docker compose down</code></p>
<p>After the tests complete, stop all the containers and remove them using: <code class="language-plaintext highlighter-rouge">docker compose down</code></p>
</li>
</ol>

@@ -152,17 +152,17 @@ <h3 id="manual-set-up">Manual set up</h3>
</li>
</ol>

<p>You should then set the <code class="highlighter-rouge">HSQLDB_HOST</code> and <code class="highlighter-rouge">PHOENIX_HOST</code> environment variables. For example:</p>
<p>You should then set the <code class="language-plaintext highlighter-rouge">HSQLDB_HOST</code> and <code class="language-plaintext highlighter-rouge">PHOENIX_HOST</code> environment variables. For example:</p>

<figure class="highlight"><pre><code class="language-shell" data-lang="shell">HSQLDB_HOST: http://hsqldb:8765
PHOENIX_HOST: http://phoenix:8765</code></pre></figure>

<ol>
<li>
<p>To select the test suite, export <code class="highlighter-rouge">AVATICA_FLAVOR=HSQLDB</code> for Avatica HSQLDB or <code class="highlighter-rouge">AVATICA_FLAVOR=PHOENIX</code> for Phoenix.</p>
<p>To select the test suite, export <code class="language-plaintext highlighter-rouge">AVATICA_FLAVOR=HSQLDB</code> for Avatica HSQLDB or <code class="language-plaintext highlighter-rouge">AVATICA_FLAVOR=PHOENIX</code> for Phoenix.</p>
</li>
<li>
<p>Then run <code class="highlighter-rouge">go test -v ./...</code> from the root of the repository to execute the test suite.</p>
<p>Then run <code class="language-plaintext highlighter-rouge">go test -v ./...</code> from the root of the repository to execute the test suite.</p>
</li>
</ol>

@@ -4,7 +4,7 @@
<meta charset="UTF-8">
<title>Developing Avatica</title>
<meta name="viewport" content="width=device-width,initial-scale=1">
<meta name="generator" content="Jekyll v3.7.3">
<meta name="generator" content="Jekyll v3.9.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">
@@ -106,10 +106,9 @@ <h2 id="source-code">Source code</h2>

<h2 id="download-source-build-and-run-tests">Download source, build, and run tests</h2>

<p>Prerequisites are git, maven (3.2.1 or later) and Java (JDK 1.8 or
later, 1.9 preferred) on your path.</p>
<p>Prerequisites are Git, and Java (JDK 8 or later) on your path.</p>

<p>Create a local copy of the git repository, <code class="highlighter-rouge">cd</code> to its root directory,
<p>Create a local copy of the git repository, <code class="language-plaintext highlighter-rouge">cd</code> to its root directory,
then build using maven:</p>

<figure class="highlight"><pre><code class="language-bash" data-lang="bash"><span class="nv">$ </span>git clone git://github.com/apache/calcite-avatica.git avatica
@@ -133,14 +132,14 @@ <h2 id="contributing">Contributing</h2>
<p>Fork the github repository, and create a branch for your feature.</p>

<p>Develop your feature and test cases, and make sure that
<code class="highlighter-rouge">./gradlew build</code> succeeds. (Run extra tests if your change warrants it.)</p>
<code class="language-plaintext highlighter-rouge">./gradlew build</code> succeeds. (Run extra tests if your change warrants it.)</p>

<p>Commit your change to your branch, and use a comment that starts with
the JIRA case number, like this:</p>

<figure class="highlight"><pre><code class="language-text" data-lang="text">[CALCITE-345] AssertionError in RexToLixTranslator comparing to date literal</code></pre></figure>

<p>If your change had multiple commits, use <code class="highlighter-rouge">git rebase -i master</code> to
<p>If your change had multiple commits, use <code class="language-plaintext highlighter-rouge">git rebase -i master</code> to
squash them into a single commit, and to bring your code up to date
with the latest on the main line.</p>

@@ -4,7 +4,7 @@
<meta charset="UTF-8">
<title>Developing Avatica Components</title>
<meta name="viewport" content="width=device-width,initial-scale=1">
<meta name="generator" content="Jekyll v3.7.3">
<meta name="generator" content="Jekyll v3.9.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">
@@ -4,7 +4,7 @@
<meta charset="UTF-8">
<title>Client Reference</title>
<meta name="viewport" content="width=device-width,initial-scale=1">
<meta name="generator" content="Jekyll v3.7.3">
<meta name="generator" content="Jekyll v3.9.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">
@@ -708,7 +708,7 @@ <h1>Client Reference</h1>

<p>As a reminder, the JDBC connection URL for Avatica is:</p>

<p><code class="highlighter-rouge">jdbc:avatica:remote:[option=value[;option=value]]</code></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>

@@ -719,7 +719,7 @@ <h1>Client Reference</h1>
Avatica Server which the driver will communicate with.</p>
</dd>
<dd>
<p><em>Default</em>: This property’s default value is <code class="highlighter-rouge">null</code>. It is required that the
<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>
@@ -730,10 +730,10 @@ <h1>Client Reference</h1>
<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="highlighter-rouge">json</code> and <code class="highlighter-rouge">protobuf</code>.</p>
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="highlighter-rouge">json</code> is the default value.</p>
<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>
@@ -743,10 +743,10 @@ <h1>Client Reference</h1>
<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="highlighter-rouge">NONE</code>, <code class="highlighter-rouge">BASIC</code>, <code class="highlighter-rouge">DIGEST</code>, and <code class="highlighter-rouge">SPNEGO</code>.</p>
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="highlighter-rouge">null</code> (implying “no authentication”, equivalent to <code class="highlighter-rouge">NONE</code>).</p>
<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>
@@ -755,12 +755,12 @@ <h1>Client Reference</h1>
<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="highlighter-rouge">GMT</code>, <code class="highlighter-rouge">GMT-3</code>, <code class="highlighter-rouge">EST</code> or <code class="highlighter-rouge">PDT</code>.</p>
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="highlighter-rouge">null</code> which will cause the Avatica Driver to
<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="highlighter-rouge">user.timezone</code> system property.</p>
<code class="language-plaintext highlighter-rouge">user.timezone</code> system property.</p>
</dd>
<dd>
<p><em>Required</em>: No.</p>
@@ -769,25 +769,25 @@ <h1>Client Reference</h1>
<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="highlighter-rouge">AvaticaHttpClientFactory</code> which can be provided
to control how the <code class="highlighter-rouge">AvaticaHttpClient</code> implementation is chosen.</p>
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="highlighter-rouge">AvaticaHttpClientFactoryImpl</code>.</p>
<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="highlighter-rouge">AvaticaHttpClientFactoryImpl</code> HTTP client factory
<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="highlighter-rouge">AvaticaHttpClientFactoryImpl</code> will
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="highlighter-rouge">null</code>.</p>
<p><em>Default</em>: <code class="language-plaintext highlighter-rouge">null</code>.</p>
</dd>
<dd>
<p><em>Required</em>: No.</p>
@@ -799,7 +799,7 @@ <h1>Client Reference</h1>
is only necessary if Avatica is configured for HTTP Basic or Digest authentication.</p>
</dd>
<dd>
<p><em>Default</em>: <code class="highlighter-rouge">null</code>.</p>
<p><em>Default</em>: <code class="language-plaintext highlighter-rouge">null</code>.</p>
</dd>
<dd>
<p><em>Required</em>: No.</p>
@@ -811,7 +811,7 @@ <h1>Client Reference</h1>
is only necessary if Avatica is configured for HTTP Basic or Digest authentication.</p>
</dd>
<dd>
<p><em>Default</em>: <code class="highlighter-rouge">null</code>.</p>
<p><em>Default</em>: <code class="language-plaintext highlighter-rouge">null</code>.</p>
</dd>
<dd>
<p><em>Required</em>: No.</p>
@@ -820,24 +820,24 @@ <h1>Client Reference</h1>
<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="highlighter-rouge">keytab</code> is provided
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="highlighter-rouge">null</code>.</p>
<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="highlighter-rouge">principal</code>. The value should be a path on the local
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="highlighter-rouge">null</code>.</p>
<p><em>Default</em>: <code class="language-plaintext highlighter-rouge">null</code>.</p>
</dd>
<dd>
<p><em>Required</em>: No.</p>
@@ -849,7 +849,7 @@ <h1>Client Reference</h1>
necessary when using HTTPS.</p>
</dd>
<dd>
<p><em>Default</em>: <code class="highlighter-rouge">null</code>.</p>
<p><em>Default</em>: <code class="language-plaintext highlighter-rouge">null</code>.</p>
</dd>
<dd>
<p><em>Required</em>: No.</p>
@@ -859,10 +859,10 @@ <h1>Client Reference</h1>
<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="highlighter-rouge">null</code>.</p>
<p><em>Default</em>: <code class="language-plaintext highlighter-rouge">null</code>.</p>
</dd>
<dd>
<p><em>Required</em>: Only if <code class="highlighter-rouge">truststore</code> was provided.</p>
<p><em>Required</em>: Only if <code class="language-plaintext highlighter-rouge">truststore</code> was provided.</p>
</dd>
</dl>

0 comments on commit dbc3108

Please sign in to comment.