---
layout: news_item
date: "2017-12-11 09:00:00 +0000"
author: jhyde
version: 1.15.0
categories: [release]
tag: v1-15-0
sha: a2aa00e
---
<!--
{% comment %}
Licensed to the Apache Software Foundation (ASF) under one or more
contributor license agreements.  See the NOTICE file distributed with
this work for additional information regarding copyright ownership.
The ASF licenses this file to you under the Apache License, Version 2.0
(the "License"); you may not use this file except in compliance with
the License.  You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
{% endcomment %}
-->

The [Apache Calcite PMC]({{ site.baseurl }})
is pleased to announce
[Apache Calcite release 1.15.0]({{ site.baseurl }}/docs/history.html#v1-15-0).
In this release, three months after 1.14.0, 50 issues are fixed by 22
contributors. Among more modest improvements and bug-fixes, here are
some features of note:

* [<a href="https://issues.apache.org/jira/browse/CALCITE-707">CALCITE-707</a>]
  adds *DDL commands* to Calcite for the first time, including *CREATE and DROP
  commands for schemas, tables, foreign tables, views, and materialized views*.
  We know that DDL syntax is a matter of taste, so we added the extensions to a
  *new "server" module*, leaving the "core" parser unchanged;
* [<a href="https://issues.apache.org/jira/browse/CALCITE-2061">CALCITE-2061</a>]
  allows *dynamic parameters* in the `LIMIT` and `OFFSET` and clauses;
* [<a href="https://issues.apache.org/jira/browse/CALCITE-1913">CALCITE-1913</a>]
  refactors the JDBC adapter to make it easier to *plug in a new SQL dialect*;
* [<a href="https://issues.apache.org/jira/browse/CALCITE-1616">CALCITE-1616</a>]
  adds a *data profiler*, an algorithm that efficiently analyzes large data sets
  with many columns, estimating the number of distinct values in columns and
  groups of columns, and finding functional dependencies. The improved
  statistics are used by the algorithm that designs summary tables for a
  lattice.

Calcite now supports JDK 10 and Guava 23.0. (It continues to run on
JDK 7, 8 and 9, and on versions of Guava as early as 14.0.1. The default
version of Guava remains 19.0, the latest version compatible with JDK 7
and the Cassandra adapter's dependencies.)

This is the <a href="https://issues.apache.org/jira/browse/CALCITE-2027">last
release that will support JDK 7</a>.
