blob: 1705a0dd3c2decb988e4527b10eb046fe520d205 [file] [log] [blame]
<!DOCTYPE HTML>
<html lang="en-US">
<head>
<meta charset="UTF-8">
<title>Release 1.7.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="/css/screen.css">
<link rel="icon" type="image/x-icon" href="/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">
<div class="grid">
<div class="unit center-on-mobiles">
<h1>
<a href="/">
<span class="sr-only">Apache Calcite</span>
<img src="/img/logo.svg" alt="Calcite Logo">
</a>
</h1>
</div>
<nav class="main-nav">
<ul>
<li class="">
<a href="/">Home</a>
</li>
<li class="">
<a href="/downloads/">Download</a>
</li>
<li class="">
<a href="/community/">Community</a>
</li>
<li class="">
<a href="/develop/">Develop</a>
</li>
<li class="current">
<a href="/news/">News</a>
</li>
<li class="">
<a href="/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="/news/">Home</option>
<optgroup label="v1.x">
<option value="/news/2019/06/24/release-1.20.0/">Release 1.20.0</option>
<option value="/news/2019/03/25/release-1.19.0/">Release 1.19.0</option>
<option value="/news/2018/12/21/release-1.18.0/">Release 1.18.0</option>
<option value="/news/2018/07/20/release-1.17.0/">Release 1.17.0</option>
<option value="/news/2018/03/19/release-1.16.0/">Release 1.16.0</option>
<option value="/news/2017/12/11/release-1.15.0/">Release 1.15.0</option>
<option value="/news/2017/10/02/release-1.14.0/">Release 1.14.0</option>
<option value="/news/2017/06/26/release-1.13.0/">Release 1.13.0</option>
<option value="/news/2017/03/31/new-avatica-repository/">New Avatica Repository</option>
<option value="/news/2017/03/24/release-1.12.0/">Release 1.12.0</option>
<option value="/news/2017/01/09/release-1.11.0/">Release 1.11.0</option>
<option value="/news/2016/10/12/release-1.10.0/">Release 1.10.0</option>
<option value="/news/2016/09/22/release-1.9.0/">Release 1.9.0</option>
<option value="/news/2016/06/13/release-1.8.0/">Release 1.8.0</option>
<option value="/news/2016/03/22/cassandra-adapter/">Cassandra Adapter</option>
<option value="/news/2016/03/22/release-1.7.0/">Release 1.7.0</option>
<option value="/news/2016/02/17/streaming-sql-talk/">Streaming SQL in Samza</option>
<option value="/news/2016/02/17/elser-pmc/">Calcite appoints Josh Elser to PMC</option>
<option value="/news/2016/01/22/release-1.6.0/">Release 1.6.0</option>
<option value="/news/2015/11/10/release-1.5.0/">Release 1.5.0</option>
<option value="/news/2015/11/08/new-committers/">Calcite adds 2 committers</option>
<option value="/news/2015/10/22/calcite-graduates/">Calcite Graduates</option>
<option value="/news/2015/09/02/release-1.4.0-incubating/">Release 1.4.0 Incubating</option>
<option value="/news/2015/07/31/xldb-best-lightning-talk/">XLDB 2015 best lightning talk</option>
<option value="/news/2015/06/05/algebra-builder/">Algebra builder</option>
<option value="/news/2015/05/30/release-1.3.0-incubating/">Release 1.3.0 Incubating</option>
<option value="/news/2015/04/24/new-committers/">Calcite adds 5 committers</option>
<option value="/news/2015/04/07/release-1.2.0-incubating/">Release 1.2.0 Incubating</option>
<option value="/news/2015/03/13/release-1.1.0-incubating/">Release 1.1.0 Incubating</option>
<option value="/news/2015/01/31/release-1.0.0-incubating/">Release 1.0.0 Incubating</option>
<option value="/news/2014/11/05/release-0.9.2-incubating/">Release 0.9.2 Incubating</option>
<option value="/news/2014/10/02/release-0.9.1-incubating/">Release 0.9.1 Incubating</option>
<option value="/news/2014/08/19/release-0.9.0-incubating/">Release 0.9.0 Incubating</option>
<option value="/news/2014/06/27/release-0.8.0-incubating/">Release 0.8.0 Incubating</option>
</optgroup>
</select>
</div>
<div class="unit four-fifths">
<article>
<h2>
Release 1.7.0
<a href="/news/2016/03/22/release-1.7.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">
22 Mar 2016
</span>
<a href="http://people.apache.org/~jhyde" class="post-author">
<img src="http://github.com/julianhyde.png"
class="avatar" alt="jhyde avatar"
width="24" height="24">
jhyde
</a>
</div>
<div class="post-content">
<!--
-->
<p>Apache Calcite 1.7.0 is the first release since
<a href="/avatica/news/2016/03/03/separate-project/">Avatica became an independent project</a>.
Calcite now depends on <a href="/avatica/">Avatica</a> in the
same way as it does other libraries, via a Maven dependency. To see
Avatica-related changes, see the
<a href="/avatica/docs/history.html#v1-7-1">release notes for Avatica 1.7.1</a>.</p>
<p>We have <a href="https://issues.apache.org/jira/browse/CALCITE-1080">added</a>
an <a href="/docs/cassandra.html">adapter</a> for
<a href="http://cassandra.apache.org/">Apache Cassandra</a>.
You can map a Cassandra keyspace into Calcite as a schema, Cassandra
CQL tables as tables, and execute SQL queries on them, which Calcite
converts into <a href="https://cassandra.apache.org/doc/cql/CQL.html">CQL</a>.
Cassandra can define and maintain materialized views but the adapter
goes further: it can transparently rewrite a query to use a
materialized view even if the view is not mentioned in the query.</p>
<p>This release adds an
<a href="https://issues.apache.org/jira/browse/CALCITE-1066">Oracle-compatibility mode</a>.
If you add <code class="highlighter-rouge">fun=oracle</code> to your JDBC connect string, you get all of
the standard operators and functions plus Oracle-specific functions
<code class="highlighter-rouge">DECODE</code>, <code class="highlighter-rouge">NVL</code>, <code class="highlighter-rouge">LTRIM</code>, <code class="highlighter-rouge">RTRIM</code>, <code class="highlighter-rouge">GREATEST</code> and <code class="highlighter-rouge">LEAST</code>. We look
forward to adding more functions, and compatibility modes for other
databases, in future releases.</p>
<p>We’ve replaced our use of JUL (<code class="highlighter-rouge">java.util.logging</code>)
with <a href="http://slf4j.org/">SLF4J</a>. SLF4J provides an API which Calcite can use
independent of the logging implementation. This ultimately provides additional
flexibility to users, allowing them to configure Calcite’s logging within their
own chosen logging framework. This work was done in
[<a href="https://issues.apache.org/jira/browse/CALCITE-669">CALCITE-669</a>].</p>
<p>For users experienced with configuring JUL in Calcite previously, there are some
differences as some the JUL logging levels do not exist in SLF4J: <code class="highlighter-rouge">FINE</code>,
<code class="highlighter-rouge">FINER</code>, and <code class="highlighter-rouge">FINEST</code>, specifically. To deal with this, <code class="highlighter-rouge">FINE</code> was mapped
to SLF4J’s <code class="highlighter-rouge">DEBUG</code> level, while <code class="highlighter-rouge">FINER</code> and <code class="highlighter-rouge">FINEST</code> were mapped to SLF4J’s <code class="highlighter-rouge">TRACE</code>.</p>
<p>See the <a href="/docs/history.html#v1-7-0">release notes</a>;
<a href="/downloads#source-releases">download</a> the release.</p>
</div>
</article>
</div>
<div class="unit one-fifth hide-on-mobiles">
<aside>
<ul>
<li class="">
<a href="/news/">All News</a>
</li>
<li class="">
<a href="/news/releases/">Calcite Releases</a>
</li>
</ul>
<h4>Recent Releases</h4>
<ul>
<li class="">
<a href="/news/2019/06/24/release-1.20.0/">1.20.0</a>
</li>
<li class="">
<a href="/news/2019/03/25/release-1.19.0/">1.19.0</a>
</li>
<li class="">
<a href="/news/2018/12/21/release-1.18.0/">1.18.0</a>
</li>
<li class="">
<a href="/news/2018/07/20/release-1.17.0/">1.17.0</a>
</li>
<li class="">
<a href="/news/2018/03/19/release-1.16.0/">1.16.0</a>
</li>
</ul>
<h4>Other News</h4>
<ul>
<li class="">
<a href="/news/2017/03/31/new-avatica-repository/">New Avatica Repository</a>
</li>
<li class="">
<a href="/news/2016/03/22/cassandra-adapter/">Cassandra Adapter</a>
</li>
<li class="">
<a href="/news/2016/02/17/streaming-sql-talk/">Streaming SQL in Samza</a>
</li>
<li class="">
<a href="/news/2016/02/17/elser-pmc/">Calcite appoints Josh Elser to PMC</a>
</li>
<li class="">
<a href="/news/2015/11/08/new-committers/">Calcite adds 2 committers</a>
</li>
<li class="">
<a href="/news/2015/10/22/calcite-graduates/">Calcite Graduates</a>
</li>
<li class="">
<a href="/news/2015/07/31/xldb-best-lightning-talk/">XLDB 2015 best lightning talk</a>
</li>
<li class="">
<a href="/news/2015/06/05/algebra-builder/">Algebra builder</a>
</li>
<li class="">
<a href="/news/2015/04/24/new-committers/">Calcite adds 5 committers</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="/img/feather.png" width="190" height="77" alt="Apache Logo"></a>
</div>
<div id="copyright">
<p>The contents of this website are Copyright &copy;&nbsp;2019
<a href="https://www.apache.org/">Apache Software Foundation</a>
under the terms of
the <a href="https://www.apache.org/licenses/">
Apache&nbsp;License&nbsp;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>