| <!DOCTYPE HTML> |
| <html lang="en-US"> |
| <head> |
| <meta charset="UTF-8"> |
| <title>Release 1.8.0</title> |
| <meta name="viewport" content="width=device-width,initial-scale=1"> |
| <meta name="generator" content="Jekyll v3.7.3"> |
| <link rel="stylesheet" href="//fonts.googleapis.com/css?family=Lato:300,300italic,400,400italic,700,700italic,900"> |
| <link rel="stylesheet" href="/avatica/css/screen.css"> |
| <link rel="icon" type="image/x-icon" href="/avatica/favicon.ico"> |
| <!--[if lt IE 9]> |
| <script src="/js/html5shiv.min.js"></script> |
| <script src="/js/respond.min.js"></script> |
| <![endif]--> |
| </head> |
| |
| |
| <body class="wrap"> |
| <header role="banner"> |
| <nav class="mobile-nav show-on-mobiles"> |
| <ul> |
| <li class=""> |
| <a href="/avatica/">Home</a> |
| </li> |
| <li class=""> |
| <a href="/avatica/downloads/">Download</a> |
| </li> |
| <li class=""> |
| <a href="/avatica/community/">Community</a> |
| </li> |
| <li class=""> |
| <a href="/avatica/develop/">Develop</a> |
| </li> |
| <li class="current"> |
| <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=""> |
| <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="current"> |
| <a href="/avatica/news/">News</a> |
| </li> |
| <li class=""> |
| <a href="/avatica/docs/">Docs</a> |
| </li> |
| </ul> |
| |
| </nav> |
| </div> |
| </header> |
| |
| |
| <section class="news"> |
| <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 blog…</option> |
| <option value="/avatica/news/">Home</option> |
| <optgroup label="v1.x"> |
| |
| <option value="/news/2020/06/22/release-1.17.0/">Release 1.17.0</option> |
| |
| <option value="/news/2019/12/19/release-1.16.0/">Release 1.16.0</option> |
| |
| <option value="/news/2019/05/16/release-avatica-go-4.0.0/">Release Avatica Go 4.0.0</option> |
| |
| <option value="/news/2019/05/13/release-1.15.0/">Release 1.15.0</option> |
| |
| <option value="/news/2019/04/29/release-1.14.0/">Release 1.14.0</option> |
| |
| <option value="/news/2018/12/04/release-1.13.0/">Release 1.13.0</option> |
| |
| <option value="/news/2018/09/18/release-avatica-go-3.2.0/">Release Avatica Go 3.2.0</option> |
| |
| <option value="/news/2018/09/10/release-avatica-go-3.1.0/">Release Avatica Go 3.1.0</option> |
| |
| <option value="/news/2018/06/24/release-1.12.0/">Release 1.12.0</option> |
| |
| <option value="/news/2018/04/27/release-avatica-go-3.0.0/">Release Avatica Go 3.0.0</option> |
| |
| <option value="/news/2018/03/09/release-1.11.0/">Release 1.11.0</option> |
| |
| <option value="/news/2017/05/30/release-1.10.0/">Release 1.10.0</option> |
| |
| <option value="/news/2017/03/31/new-avatica-repository/">New Avatica Repository</option> |
| |
| <option value="/news/2016/11/01/release-1.9.0/">Release 1.9.0</option> |
| |
| <option value="/news/2016/06/04/release-1.8.0/">Release 1.8.0</option> |
| |
| <option value="/news/2016/03/18/release-1.7.1/">Release 1.7.1</option> |
| |
| <option value="/news/2016/03/03/separate-project/">Splitting Avatica from Calcite</option> |
| |
| </optgroup> |
| </select> |
| </div> |
| |
| |
| <div class="unit four-fifths"> |
| <article> |
| <h2> |
| Release 1.8.0 |
| <a href="/news/2016/06/04/release-1.8.0/" class="permalink" title="Permalink">∞</a> |
| </h2> |
| <span class="post-category"> |
| <span class="label"> |
| release |
| </span> |
| </span> |
| <div class="post-meta"> |
| <span class="post-date"> |
| 04 Jun 2016 |
| </span> |
| |
| |
| |
| <a href="http://github.com/joshelser" class="post-author"> |
| <img src="http://github.com/joshelser.png" |
| class="avatar" alt="elserj avatar" |
| width="24" height="24"> |
| elserj |
| </a> |
| </div> |
| <div class="post-content"> |
| <!-- |
| |
| --> |
| |
| <p>Apache Calcite Avatica 1.8.0 continues the focus on compatibility with previous |
| versions while also adding support for authentication between Avatica client and server. |
| Performance, notably on the write-path, is also major area of improvement |
| in this release, increasing as much as two to three times over previous versions |
| with the addition of new API support. The documentation for both users and developers |
| continues to receive improvements.</p> |
| |
| <p>Authentication is a major theme of this release, providing multiple layers of |
| additional authentication mechanisms over previous versions. In these earlier |
| versions, the only authentication provided by Avatica was achieved via the JDBC URL’s |
| standard user and password options. These have always been passed directly into |
| the backend database’s authentication system, but not all databases provide username |
| and password based authentication systems. <a href="https://issues.apache.org/jira/browse/CALCITE-1173">CALCITE-1173</a> |
| adds Avatica-level authentication over <a href="https://en.wikipedia.org/wiki/Basic_access_authentication">HTTP Basic</a> |
| and <a href="https://en.wikipedia.org/wiki/Digest_access_authentication">HTTP Digest</a> |
| authentication mechanisms. These are provided specifically for the case when |
| Avatica is used with a database that <em>does not already</em> provide its own authentication |
| implementation.</p> |
| |
| <p>Some systems rely on <a href="http://web.mit.edu/kerberos/">Kerberos</a> for strong, centrally- |
| managed authentication. <a href="https://issues.apache.org/jira/browse/CALCITE-1159">CALCITE-1159</a> |
| introduces Kerberos-based authentication for clients via <a href="https://en.wikipedia.org/wiki/SPNEGO">SPNEGO</a>. |
| The Avatica server can be configured to only allow clients with a valid Kerberos ticket, |
| optionally, also passing this information to the backend database to implement |
| basic “impersonation” (where the Avatica server issues requests on behalf of the end user).</p> |
| |
| <p>Building on top of the work done in Avatica-1.7.0 in <a href="https://issues.apache.org/jira/browse/CALCITE-1091">CALCITE-1091</a>, |
| this release also contains <a href="https://issues.apache.org/jira/browse/CALCITE-1128">CALCITE-1128</a> which |
| implements the batch-oriented JDBC APIs on <code class="highlighter-rouge">Statement</code>. Through careful inspection, it |
| was observed that the overall performance of Avatica clients in 100% write workloads was |
| dominated by the cost of the HTTP calls. By leveraging the <code class="highlighter-rouge">Statement#addBatch()</code> |
| and <code class="highlighter-rouge">Statement#executeBatch()</code> API calls, clients can efficiently batch multiple updates |
| in a single HTTP call. In testing this over the previous single HTTP call per update with |
| <a href="https://phoenix.apache.org">Apache Phoenix</a>, it was observed that performance increased by |
| two to three times, bringing Avatica’s performance on par with the Phoenix “native” driver.</p> |
| |
| <p>Returning back to compatibility, a new component appears in this release which is designed to |
| test versions of Avatica against each other. <a href="https://issues.apache.org/jira/browse/CALCITE-1190">CALCITE-1190</a> |
| introduces a “Technology Compatibility Kit” (TCK) which automates the testing of one version |
| of Avatica against other versions. To further ease this testing, a runnable JAR to launch |
| an HSQLDB instance and an Avatica server also makes it debut with these changes. This TCK |
| makes it much easier to run tests of newer clients against older servers and vice versa. |
| Validating the backwards compatibility that is being built is extremely important to be |
| confident in the guarantees being provided to users.</p> |
| |
| <p>Finally, a number of bugs are also fixed in the Protocol Buffer wire API. Some of these |
| include <a href="https://issues.apache.org/jira/browse/CALCITE-1113">CALCITE-1113</a> and |
| <a href="https://issues.apache.org/jira/browse/CALCITE-1103">CALCITE-1103</a> which fix how certain |
| numbers are serialized, <a href="https://issues.apache.org/jira/browse/CALCITE-1243">CALITE-1243</a> |
| which corrects some fields in Protocol Buffer messages which were incorrectly marked |
| as unsigned integers instead of signed integers, and <a href="https://issues.apache.org/jira/browse/CALCITE-1209">CALCITE-1209</a> |
| which removes incorrect parsing of binary fields as Base64-encoded strings. All of |
| these issues are fixed in a backwards-compatible manner and should have no additional negative |
| impact on older clients (older clients will not break, but they may continue to return |
| incorrect data for certain numbers).</p> |
| |
| <p>For users of the Avatica driver, a new <a href="/avatica/docs/client_reference.html">client reference page</a> |
| is added which details the options that are available in the Avatica JDBC Driver’s URL. |
| The wire API documentation for Protocol Buffers continues to receive updates as the API continues to evolve.</p> |
| |
| |
| |
| <p>See the <a href="/avatica/docs/history.html#v1-8-0">release notes</a>; |
| <a href="/avatica/downloads/avatica.html#source-releases">download</a> the release.</p> |
| |
| |
| </div> |
| </article> |
| |
| </div> |
| |
| <div class="unit one-fifth hide-on-mobiles"> |
| <aside> |
| <ul> |
| <li class=""> |
| <a href="/avatica/news/">All News</a> |
| </li> |
| <li class=""> |
| <a href="/avatica/news/avatica-releases/">Avatica Releases</a> |
| </li> |
| <li class=""> |
| <a href="/avatica/news/avatica-go-releases/">Avatica Go Releases</a> |
| </li> |
| </ul> |
| <h4>Recent Releases</h4> |
| <ul> |
| |
| <li class=""> |
| <a href="/avatica/news/2020/06/22/release-1.17.0/">avatica 1.17.0</a> |
| </li> |
| |
| <li class=""> |
| <a href="/avatica/news/2019/12/19/release-1.16.0/">avatica 1.16.0</a> |
| </li> |
| |
| <li class=""> |
| <a href="/avatica/news/2019/05/16/release-avatica-go-4.0.0/">avatica-go 4.0.0</a> |
| </li> |
| |
| <li class=""> |
| <a href="/avatica/news/2019/05/13/release-1.15.0/">avatica 1.15.0</a> |
| </li> |
| |
| <li class=""> |
| <a href="/avatica/news/2019/04/29/release-1.14.0/">avatica 1.14.0</a> |
| </li> |
| |
| </ul> |
| <h4>Other News</h4> |
| <ul> |
| |
| <li class=""> |
| <a href="/avatica/news/2017/03/31/new-avatica-repository/">New Avatica Repository</a> |
| </li> |
| |
| <li class=""> |
| <a href="/avatica/news/2016/03/03/separate-project/">Splitting Avatica from Calcite</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 © 2020 |
| <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> |