You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@calcite.apache.org by el...@apache.org on 2016/04/17 23:26:05 UTC
svn commit: r1739659 [11/18] - in /calcite/site: ./ avatica/
avatica/community/ avatica/develop/ avatica/docs/ avatica/downloads/
avatica/news/ avatica/news/2016/03/03/separate-project/
avatica/news/2016/03/18/release-1.7.1/ avatica/news/releases/ comm...
Modified: calcite/site/docs/history.html
URL: http://svn.apache.org/viewvc/calcite/site/docs/history.html?rev=1739659&r1=1739658&r2=1739659&view=diff
==============================================================================
--- calcite/site/docs/history.html (original)
+++ calcite/site/docs/history.html Sun Apr 17 21:26:04 2016
@@ -4,7 +4,7 @@
<meta charset="UTF-8">
<title>History</title>
<meta name="viewport" content="width=device-width,initial-scale=1">
- <meta name="generator" content="Jekyll v2.4.0">
+ <meta name="generator" content="Jekyll v3.0.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">
@@ -835,13 +835,13 @@ materialized view even if the view is no
<p>This release adds an
<a href="https://issues.apache.org/jira/browse/CALCITE-1066">Oracle-compatibility mode</a>.
-If you add <code>fun=oracle</code> to your JDBC connect string, you get all of
+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>DECODE</code>, <code>NVL</code>, <code>LTRIM</code>, <code>RTRIM</code>, <code>GREATEST</code> and <code>LEAST</code>. We look
+<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>java.util.logging</code>)
+<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
@@ -849,24 +849,24 @@ own chosen logging framework. This work
[<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>FINE</code>,
-<code>FINER</code>, and <code>FINEST</code>, specifically. To deal with this, <code>FINE</code> was mapped
-to SLF4Jâs <code>DEBUG</code> level, while <code>FINER</code> and <code>FINEST</code> were mapped to SLF4Jâs <code>TRACE</code>.</p>
+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>Compatibility: This release is tested
on Linux, Mac OS X, Microsoft Windows;
using Oracle JDK 1.7, 1.8;
Guava versions 12.0.1 to 19.0;
-other software versions as specified in <code>pom.xml</code>.</p>
+other software versions as specified in <code class="highlighter-rouge">pom.xml</code>.</p>
<p>New features</p>
<ul>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-1124">CALCITE-1124</a>]
-Add <code>TIMESTAMPADD</code>, <code>TIMESTAMPDIFF</code> functions (Arina Ielchiieva)</li>
+Add <code class="highlighter-rouge">TIMESTAMPADD</code>, <code class="highlighter-rouge">TIMESTAMPDIFF</code> functions (Arina Ielchiieva)</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-1066">CALCITE-1066</a>]
-Add Oracle function table, and functions <code>DECODE</code>, <code>NVL</code>, <code>LTRIM</code>, <code>RTRIM</code>,
-<code>GREATEST</code>, <code>LEAST</code></li>
+Add Oracle function table, and 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>, <code class="highlighter-rouge">LEAST</code></li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-1080">CALCITE-1080</a>]
Cassandra adapter (Michael Mior)</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-1062">CALCITE-1062</a>]
@@ -880,27 +880,27 @@ Sub-query inside aggregate function</li>
<ul>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-1158">CALCITE-1158</a>]
-Make <code>AggregateRemoveRule</code> extensible</li>
+Make <code class="highlighter-rouge">AggregateRemoveRule</code> extensible</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-1116">CALCITE-1116</a>]
-Extend <code>simplify</code> for reducing expressions</li>
+Extend <code class="highlighter-rouge">simplify</code> for reducing expressions</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-1104">CALCITE-1104</a>]
Materialized views in Cassandra (Michael Mior)</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-1130">CALCITE-1130</a>]
-Add support for operators <code>IS NULL</code> and <code>IS NOT NULL</code> in
-<code>RexImplicationChecker</code> (Amogh Margoor)</li>
+Add support for operators <code class="highlighter-rouge">IS NULL</code> and <code class="highlighter-rouge">IS NOT NULL</code> in
+<code class="highlighter-rouge">RexImplicationChecker</code> (Amogh Margoor)</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-1129">CALCITE-1129</a>]
-Extend <code>JoinUnionTransposeRule</code> to match <code>Union</code> instead of <code>LogicalUnion</code>
+Extend <code class="highlighter-rouge">JoinUnionTransposeRule</code> to match <code class="highlighter-rouge">Union</code> instead of <code class="highlighter-rouge">LogicalUnion</code>
(Vasia Kalavri)</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-1109">CALCITE-1109</a>]
-Fix up condition when pushing <code>Filter</code> through <code>Aggregate</code> (Amogh Margoor)</li>
+Fix up condition when pushing <code class="highlighter-rouge">Filter</code> through <code class="highlighter-rouge">Aggregate</code> (Amogh Margoor)</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-1100">CALCITE-1100</a>]
-If constant reduction no-ops, donât create a new <code>RelNode</code> (Hsuan-Yi Chu)</li>
+If constant reduction no-ops, donât create a new <code class="highlighter-rouge">RelNode</code> (Hsuan-Yi Chu)</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-1076">CALCITE-1076</a>]
-Update <code>RelMdDistribution</code> to match other metadata APIs (Ted Xu)</li>
+Update <code class="highlighter-rouge">RelMdDistribution</code> to match other metadata APIs (Ted Xu)</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-1056">CALCITE-1056</a>]
-In <code>RelBuilder</code>, simplify predicates, and optimize away <code>WHERE FALSE</code></li>
+In <code class="highlighter-rouge">RelBuilder</code>, simplify predicates, and optimize away <code class="highlighter-rouge">WHERE FALSE</code></li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-1059">CALCITE-1059</a>]
-Not valid to convert <code>Aggregate</code> on empty to empty if its <code>GROUP BY</code> key is empty</li>
+Not valid to convert <code class="highlighter-rouge">Aggregate</code> on empty to empty if its <code class="highlighter-rouge">GROUP BY</code> key is empty</li>
</ul>
<p>Bug fixes, API changes and minor enhancements</p>
@@ -915,16 +915,16 @@ Wrong path in CSV example model (wanglan
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-1156">CALCITE-1156</a>]
Increase Jetty version to 9.2.15.v20160210</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-1064">CALCITE-1064</a>]
-Address problematic <code>maven-remote-resources-plugin</code></li>
- <li>In <code>TimeUnit</code> add <code>WEEK</code>, <code>QUARTER</code>, <code>MICROSECOND</code> values, and change type of
-<code>multiplier</code></li>
- <li>Deprecate <code>SqlLiteral.SqlSymbol</code>; <code>SqlSymbol</code> can now wrap any enum</li>
+Address problematic <code class="highlighter-rouge">maven-remote-resources-plugin</code></li>
+ <li>In <code class="highlighter-rouge">TimeUnit</code> add <code class="highlighter-rouge">WEEK</code>, <code class="highlighter-rouge">QUARTER</code>, <code class="highlighter-rouge">MICROSECOND</code> values, and change type of
+<code class="highlighter-rouge">multiplier</code></li>
+ <li>Deprecate <code class="highlighter-rouge">SqlLiteral.SqlSymbol</code>; <code class="highlighter-rouge">SqlSymbol</code> can now wrap any enum</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-1078">CALCITE-1078</a>]
Detach avatica from the core calcite Maven project
<ul>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-1077">CALCITE-1077</a>]
Switch Calcite to the released Avatica 1.7.1</li>
- <li>Update <code>groupId</code> when Calcite POMs reference Avatica modules</li>
+ <li>Update <code class="highlighter-rouge">groupId</code> when Calcite POMs reference Avatica modules</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-1137">CALCITE-1137</a>]
Exclude Avatica from Calcite source release</li>
</ul>
@@ -932,7 +932,7 @@ Exclude Avatica from Calcite source rele
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-1111">CALCITE-1111</a>]
Upgrade Guava, and test on a range of Guava versions</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-1054">CALCITE-1054</a>]
-Wrong code generation for <code>TIMESTAMP</code> values that may be <code>NULL</code></li>
+Wrong code generation for <code class="highlighter-rouge">TIMESTAMP</code> values that may be <code class="highlighter-rouge">NULL</code></li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-604">CALCITE-604</a>]
Tune metadata by generating a dispatcher at runtime</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-1063">CALCITE-1063</a>]
@@ -944,21 +944,21 @@ Exception when executing query with too
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-553">CALCITE-553</a>]
In maven, enable compiler profiles by default</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-1031">CALCITE-1031</a>]
-In prepared statement, <code>CsvScannableTable.scan</code> is called twice</li>
+In prepared statement, <code class="highlighter-rouge">CsvScannableTable.scan</code> is called twice</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-1046">CALCITE-1046</a>]
Matchers for testing SQL query results</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-1083">CALCITE-1083</a>]
-<code>SqlNode.equalsDeep</code> has O(n ^ 2) performance</li>
+<code class="highlighter-rouge">SqlNode.equalsDeep</code> has O(n ^ 2) performance</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-998">CALCITE-998</a>]
-Exception when calling <code>STDDEV_SAMP</code>, <code>STDDEV_POP</code> (Matthew Shaer)</li>
+Exception when calling <code class="highlighter-rouge">STDDEV_SAMP</code>, <code class="highlighter-rouge">STDDEV_POP</code> (Matthew Shaer)</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-1071">CALCITE-1071</a>]
Improve hash functions</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-1072">CALCITE-1072</a>]
-CSV adapter incorrectly parses <code>TIMESTAMP</code> values after noon (Chris Albright)</li>
+CSV adapter incorrectly parses <code class="highlighter-rouge">TIMESTAMP</code> values after noon (Chris Albright)</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-669">CALCITE-669</a>]
Mass removal of Java Logging for SLF4J</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-1068">CALCITE-1068</a>]
-Deprecate <code>Stacks</code></li>
+Deprecate <code class="highlighter-rouge">Stacks</code></li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-1067">CALCITE-1067</a>]
Test failures due to clashing temporary table names</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-864">CALCITE-864</a>]
@@ -996,8 +996,8 @@ planning rules and Avatica, and lots of
couple of features make it easier to handle complex queries.</p>
<p>[<a href="https://issues.apache.org/jira/browse/CALCITE-816">CALCITE-816</a>]
-allows you to represent sub-queries (<code>EXISTS</code>, <code>IN</code> and scalar) as
-<code>RexSubQuery</code>, a kind of expression in the relational algebra. Until
+allows you to represent sub-queries (<code class="highlighter-rouge">EXISTS</code>, <code class="highlighter-rouge">IN</code> and scalar) as
+<code class="highlighter-rouge">RexSubQuery</code>, a kind of expression in the relational algebra. Until
now, the sql-to-rel converter was burdened with expanding sub-queries,
and people creating relational algebra directly (or via RelBuilder)
could only create âflatâ relational expressions. Now we have planner
@@ -1010,10 +1010,10 @@ keys, unique and what predicates are kno
expressionâs output rows. From the predicates we can deduce which
columns are constant, and following
[<a href="https://issues.apache.org/jira/browse/CALCITE-1023">CALCITE-1023</a>]
-we can now remove constant columns from <code>GROUP BY</code> keys.</p>
+we can now remove constant columns from <code class="highlighter-rouge">GROUP BY</code> keys.</p>
<p>Metadata is often computed recursively, and it is hard to safely and
-efficiently calculate metadata on a graph of <code>RelNode</code>s that is large,
+efficiently calculate metadata on a graph of <code class="highlighter-rouge">RelNode</code>s that is large,
frequently cyclic, and constantly changing.
[<a href="https://issues.apache.org/jira/browse/CALCITE-794">CALCITE-794</a>]
introduces a context to each metadata call. That context can detect
@@ -1024,41 +1024,41 @@ further tune the metadata layer.</p>
<p>Compatibility: This release is tested
on Linux, Mac OS X, Microsoft Windows;
using Oracle JDK 1.7, 1.8;
-other software versions as specified in <code>pom.xml</code>.</p>
+other software versions as specified in <code class="highlighter-rouge">pom.xml</code>.</p>
<p>New features</p>
<ul>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-816">CALCITE-816</a>]
-Represent sub-query as a <code>RexNode</code></li>
+Represent sub-query as a <code class="highlighter-rouge">RexNode</code></li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-854">CALCITE-854</a>]
-Implement <code>UNNEST ... WITH ORDINALITY</code></li>
+Implement <code class="highlighter-rouge">UNNEST ... WITH ORDINALITY</code></li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-1003">CALCITE-1003</a>]
-Utility to convert <code>RelNode</code> to SQL (Amogh Margoor)
+Utility to convert <code class="highlighter-rouge">RelNode</code> to SQL (Amogh Margoor)
<ul>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-1010">CALCITE-1010</a>]
-<code>FETCH/LIMIT</code> and <code>OFFSET</code> in RelToSqlConverter (Amogh Margoor)</li>
- <li>Move code from <code>JdbcImplementor</code> and <code>JdbcRules</code> to new class
-<code>SqlImplementor</code></li>
- <li>Deduce dialectâs null collation from <code>DatabaseMetaData</code></li>
- <li>Fix <code>RelToSqlConverterTest</code> on Windows</li>
+<code class="highlighter-rouge">FETCH/LIMIT</code> and <code class="highlighter-rouge">OFFSET</code> in RelToSqlConverter (Amogh Margoor)</li>
+ <li>Move code from <code class="highlighter-rouge">JdbcImplementor</code> and <code class="highlighter-rouge">JdbcRules</code> to new class
+<code class="highlighter-rouge">SqlImplementor</code></li>
+ <li>Deduce dialectâs null collation from <code class="highlighter-rouge">DatabaseMetaData</code></li>
+ <li>Fix <code class="highlighter-rouge">RelToSqlConverterTest</code> on Windows</li>
</ul>
</li>
<li>Following
[<a href="https://issues.apache.org/jira/browse/CALCITE-897">CALCITE-897</a>],
-empty string for <code>boolean</code> properties means true</li>
+empty string for <code class="highlighter-rouge">boolean</code> properties means true</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-992">CALCITE-992</a>]
-Validate and resolve sequence reference as a <code>Table</code> object</li>
+Validate and resolve sequence reference as a <code class="highlighter-rouge">Table</code> object</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-968">CALCITE-968</a>]
Stream-to-relation and stream-to-stream joins (Milinda Pathirage)</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-1041">CALCITE-1041</a>]
-User-defined function that returns <code>DATE</code> or <code>TIMESTAMP</code> value</li>
+User-defined function that returns <code class="highlighter-rouge">DATE</code> or <code class="highlighter-rouge">TIMESTAMP</code> value</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-986">CALCITE-986</a>]
-User-defined function with <code>DATE</code> or <code>TIMESTAMP</code> parameters</li>
+User-defined function with <code class="highlighter-rouge">DATE</code> or <code class="highlighter-rouge">TIMESTAMP</code> parameters</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-958">CALCITE-958</a>]
Overloaded Table Functions with named arguments (Julien Le Dem)</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-970">CALCITE-970</a>]
-If <code>NULLS FIRST</code>/<code>NULLS LAST</code> not specified, sort <code>NULL</code> values high</li>
+If <code class="highlighter-rouge">NULLS FIRST</code>/<code class="highlighter-rouge">NULLS LAST</code> not specified, sort <code class="highlighter-rouge">NULL</code> values high</li>
</ul>
<p>Avatica features and bug fixes</p>
@@ -1067,114 +1067,114 @@ If <code>NULLS FIRST</code>/<code>NULLS
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-1040">CALCITE-1040</a>]
Differentiate better between arrays and scalars in protobuf</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-934">CALCITE-934</a>]
-Use an OS-assigned ephemeral port for <code>CalciteRemoteDriverTest</code></li>
+Use an OS-assigned ephemeral port for <code class="highlighter-rouge">CalciteRemoteDriverTest</code></li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-767">CALCITE-767</a>]
Create Avatica RPC endpoints for commit and rollback commands</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-983">CALCITE-983</a>]
-Handle nulls in <code>ErrorResponse</code>âs protobuf representation better</li>
+Handle nulls in <code class="highlighter-rouge">ErrorResponse</code>âs protobuf representation better</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-989">CALCITE-989</a>]
Add serverâs address in each response</li>
<li>Fix some bugs found by static analysis</li>
- <li>Make all <code>equals</code> and <code>hashCode</code> methods uniform</li>
+ <li>Make all <code class="highlighter-rouge">equals</code> and <code class="highlighter-rouge">hashCode</code> methods uniform</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-962">CALCITE-962</a>]
-Propagate the cause, not just the causeâs message, from <code>JdbcMeta</code></li>
+Propagate the cause, not just the causeâs message, from <code class="highlighter-rouge">JdbcMeta</code></li>
</ul>
<p>Planner rules</p>
<ul>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-1057">CALCITE-1057</a>]
-Add <code>RelMetadataProvider</code> parameter to standard planner <code>Program</code>s</li>
+Add <code class="highlighter-rouge">RelMetadataProvider</code> parameter to standard planner <code class="highlighter-rouge">Program</code>s</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-1055">CALCITE-1055</a>]
-<code>SubQueryRemoveRule</code> should create <code>Correlate</code>, not <code>Join</code>, for correlated
+<code class="highlighter-rouge">SubQueryRemoveRule</code> should create <code class="highlighter-rouge">Correlate</code>, not <code class="highlighter-rouge">Join</code>, for correlated
sub-queries</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-978">CALCITE-978</a>]
-Enable customizing constant folding rule behavior when a <code>Filter</code> simplifies
+Enable customizing constant folding rule behavior when a <code class="highlighter-rouge">Filter</code> simplifies
to false (Jason Altekruse)</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-977">CALCITE-977</a>]
-Make the constant expression <code>Executor</code> configurable in <code>FrameworkConfig</code>
+Make the constant expression <code class="highlighter-rouge">Executor</code> configurable in <code class="highlighter-rouge">FrameworkConfig</code>
(Jason Altekruse)</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-1058">CALCITE-1058</a>]
-Add method <code>RelBuilder.empty</code>, and rewrite LIMIT 0 and WHERE FALSE to it</li>
+Add method <code class="highlighter-rouge">RelBuilder.empty</code>, and rewrite LIMIT 0 and WHERE FALSE to it</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-996">CALCITE-996</a>]
-Simplify predicate when we create a <code>Filter</code> operator</li>
- <li>Simplify <code>RexProgram</code>, in particular <code>(NOT CASE ... END) IS TRUE</code>, which
-occurs in when <code>NOT IN</code> is expanded</li>
+Simplify predicate when we create a <code class="highlighter-rouge">Filter</code> operator</li>
+ <li>Simplify <code class="highlighter-rouge">RexProgram</code>, in particular <code class="highlighter-rouge">(NOT CASE ... END) IS TRUE</code>, which
+occurs in when <code class="highlighter-rouge">NOT IN</code> is expanded</li>
<li>Fix variant of
[<a href="https://issues.apache.org/jira/browse/CALCITE-923">CALCITE-923</a>]
-that occurs in <code>RelOptRulesTest.testPushFilterPastProject</code></li>
+that occurs in <code class="highlighter-rouge">RelOptRulesTest.testPushFilterPastProject</code></li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-1023">CALCITE-1023</a>]
and
[<a href="https://issues.apache.org/jira/browse/CALCITE-1038">CALCITE-1038</a>]
-Planner rule that removes <code>Aggregate</code> keys that are constant</li>
+Planner rule that removes <code class="highlighter-rouge">Aggregate</code> keys that are constant</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-1018">CALCITE-1018</a>]
-<code>SortJoinTransposeRule</code> not firing due to <code>getMaxRowCount(RelSubset)</code> returning
+<code class="highlighter-rouge">SortJoinTransposeRule</code> not firing due to <code class="highlighter-rouge">getMaxRowCount(RelSubset)</code> returning
null</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-1019">CALCITE-1019</a>]
-<code>RelMdUtil.checkInputForCollationAndLimit()</code> was wrong with <code>alreadySorted</code>
+<code class="highlighter-rouge">RelMdUtil.checkInputForCollationAndLimit()</code> was wrong with <code class="highlighter-rouge">alreadySorted</code>
check</li>
<li>Not safe to use â=â for predicates on constant expressions that might be null</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-993">CALCITE-993</a>]
Pull up all constant expressions, not just literals, as predicates</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-1005">CALCITE-1005</a>]
-Handle null in <code>getMaxRowCount</code> for <code>Aggregate</code> (Mike Hinchey)</li>
+Handle null in <code class="highlighter-rouge">getMaxRowCount</code> for <code class="highlighter-rouge">Aggregate</code> (Mike Hinchey)</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-995">CALCITE-995</a>]
Sort transpose rules might fall in an infinite loop</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-987">CALCITE-987</a>]
-Pushing <code>LIMIT 0</code> results in an infinite loop (Pengcheng Xiong)</li>
+Pushing <code class="highlighter-rouge">LIMIT 0</code> results in an infinite loop (Pengcheng Xiong)</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-988">CALCITE-988</a>]
-<code>FilterToProjectUnifyRule.invert(MutableRel, MutableRel, MutableProject)</code>
+<code class="highlighter-rouge">FilterToProjectUnifyRule.invert(MutableRel, MutableRel, MutableProject)</code>
works incorrectly</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-969">CALCITE-969</a>]
-Composite <code>EnumerableSort</code> with <code>DESC</code> wrongly sorts <code>NULL</code> values low</li>
+Composite <code class="highlighter-rouge">EnumerableSort</code> with <code class="highlighter-rouge">DESC</code> wrongly sorts <code class="highlighter-rouge">NULL</code> values low</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-959">CALCITE-959</a>]
-Add description to <code>SortProjectTransposeRule</code>âs constructor</li>
+Add description to <code class="highlighter-rouge">SortProjectTransposeRule</code>âs constructor</li>
</ul>
<p>Bug fixes, API changes and minor enhancements</p>
<ul>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-1060">CALCITE-1060</a>]
-Fix test deadlock by initializing <code>DriverManager</code> before registering <code>AlternatingDriver</code></li>
+Fix test deadlock by initializing <code class="highlighter-rouge">DriverManager</code> before registering <code class="highlighter-rouge">AlternatingDriver</code></li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-1047">CALCITE-1047</a>]
-<code>ChunkList.clear</code> throws <code>AssertionError</code></li>
+<code class="highlighter-rouge">ChunkList.clear</code> throws <code class="highlighter-rouge">AssertionError</code></li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-1053">CALCITE-1053</a>]
-CPU spin, <code>ReflectiveRelMetadataProvider.apply</code> waiting for <code>HashMap.get</code></li>
+CPU spin, <code class="highlighter-rouge">ReflectiveRelMetadataProvider.apply</code> waiting for <code class="highlighter-rouge">HashMap.get</code></li>
<li>Upgrade toolbox, to fix line length issue on Windows</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-1051">CALCITE-1051</a>]
Underflow exception due to scaling IN clause literals (Frankie Bollaert)</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-975">CALCITE-975</a>]
Allow Planner to return validated row type together with SqlNode</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-1020">CALCITE-1020</a>]
-Add <code>MILLISECOND</code> in <code>TimeUnit</code> (Pengcheng Xiong)</li>
+Add <code class="highlighter-rouge">MILLISECOND</code> in <code class="highlighter-rouge">TimeUnit</code> (Pengcheng Xiong)</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-794">CALCITE-794</a>]
Detect cycles when computing statistics
(<strong>This is a breaking change</strong>.)</li>
- <li>Tune algorithm that deduces the return type of <code>AND</code> expression</li>
+ <li>Tune algorithm that deduces the return type of <code class="highlighter-rouge">AND</code> expression</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-842">CALCITE-842</a>]
Decorrelator gets field offsets confused if fields have been trimmed</li>
- <li>Fix <code>NullPointerException</code> in <code>SqlJoin.toString()</code></li>
- <li>Add <code>ImmutableBitSet.rebuild()</code></li>
+ <li>Fix <code class="highlighter-rouge">NullPointerException</code> in <code class="highlighter-rouge">SqlJoin.toString()</code></li>
+ <li>Add <code class="highlighter-rouge">ImmutableBitSet.rebuild()</code></li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-915">CALCITE-915</a>]
-Tests now unset <code>ThreadLocal</code> values on exit</li>
+Tests now unset <code class="highlighter-rouge">ThreadLocal</code> values on exit</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-1036">CALCITE-1036</a>]
-<code>DiffRepository</code> should not insert new resources at the end of the repository</li>
+<code class="highlighter-rouge">DiffRepository</code> should not insert new resources at the end of the repository</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-955">CALCITE-955</a>]
-<code>Litmus</code> (continuation-passing style for methods that check invariants)</li>
- <li><code>RelBuilder.project</code> now does nothing if asked to project the identity with
+<code class="highlighter-rouge">Litmus</code> (continuation-passing style for methods that check invariants)</li>
+ <li><code class="highlighter-rouge">RelBuilder.project</code> now does nothing if asked to project the identity with
the same field names</li>
- <li>Deprecate some <code>Util</code> methods, and upgrade last Maven modules to JDK 1.7</li>
- <li>Document <code>RelOptPredicateList</code></li>
- <li>Add <code>ImmutableNullableList.copyOf(Iterable)</code></li>
- <li>Fix âendPosTable already setâ error from <code>javac</code></li>
- <li>Add benchmark of <code>Parser.create(sql).parseQuery()</code></li>
+ <li>Deprecate some <code class="highlighter-rouge">Util</code> methods, and upgrade last Maven modules to JDK 1.7</li>
+ <li>Document <code class="highlighter-rouge">RelOptPredicateList</code></li>
+ <li>Add <code class="highlighter-rouge">ImmutableNullableList.copyOf(Iterable)</code></li>
+ <li>Fix âendPosTable already setâ error from <code class="highlighter-rouge">javac</code></li>
+ <li>Add benchmark of <code class="highlighter-rouge">Parser.create(sql).parseQuery()</code></li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-1042">CALCITE-1042</a>]
-Ensure that <code>FILTER</code> is <code>BOOLEAN NOT NULL</code></li>
+Ensure that <code class="highlighter-rouge">FILTER</code> is <code class="highlighter-rouge">BOOLEAN NOT NULL</code></li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-1039">CALCITE-1039</a>]
-Assign a <code>SqlKind</code> value for each built-in aggregate function</li>
+Assign a <code class="highlighter-rouge">SqlKind</code> value for each built-in aggregate function</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-1030">CALCITE-1030</a>]
-JSON <code>ModelHandler</code> calling <code>SchemaPlus.setCacheEnabled()</code> causes
-<code>UnsupportedOperationException</code> when using <code>SimpleCalciteSchema</code></li>
+JSON <code class="highlighter-rouge">ModelHandler</code> calling <code class="highlighter-rouge">SchemaPlus.setCacheEnabled()</code> causes
+<code class="highlighter-rouge">UnsupportedOperationException</code> when using <code class="highlighter-rouge">SimpleCalciteSchema</code></li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-1028">CALCITE-1028</a>]
Move populate materializations after sql-to-rel conversion</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-1034">CALCITE-1034</a>]
@@ -1182,35 +1182,35 @@ Use a custom checker for code style rule
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-1032">CALCITE-1032</a>]
Verify javadoc of private methods</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-1015">CALCITE-1015</a>]
-<code>OFFSET 0</code> causes <code>AssertionError</code> (Zhen Wang)</li>
+<code class="highlighter-rouge">OFFSET 0</code> causes <code class="highlighter-rouge">AssertionError</code> (Zhen Wang)</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-1024">CALCITE-1024</a>]
In a planner test, if a rule should have no effect, state that explicitly</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-1016">CALCITE-1016</a>]
-<code>GROUP BY *constant*</code> on empty relation should return 0 rows</li>
+<code class="highlighter-rouge">GROUP BY *constant*</code> on empty relation should return 0 rows</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-1022">CALCITE-1022</a>]
-Rename <code>.oq</code> Quidem files to <code>.iq</code></li>
+Rename <code class="highlighter-rouge">.oq</code> Quidem files to <code class="highlighter-rouge">.iq</code></li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-980">CALCITE-980</a>]
-Fix <code>AND</code> and <code>OR</code> implementation in <code>Enumerable</code> convention</li>
+Fix <code class="highlighter-rouge">AND</code> and <code class="highlighter-rouge">OR</code> implementation in <code class="highlighter-rouge">Enumerable</code> convention</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-459">CALCITE-459</a>]
When parsing SQL, allow single line comment on last line (Zhen Wang)</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-1009">CALCITE-1009</a>]
-<code>SelfPopulatingList</code> is not thread-safe</li>
+<code class="highlighter-rouge">SelfPopulatingList</code> is not thread-safe</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-1008">CALCITE-1008</a>]
-Replace <code>Closeable</code> with <code>AutoCloseable</code></li>
+Replace <code class="highlighter-rouge">Closeable</code> with <code class="highlighter-rouge">AutoCloseable</code></li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-1001">CALCITE-1001</a>]
Upgrade to quidem-0.7</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-990">CALCITE-990</a>]
-In <code>VolcanoPlanner</code>, populate <code>RelOptRuleCall.nodeInputs</code> for operands of type
+In <code class="highlighter-rouge">VolcanoPlanner</code>, populate <code class="highlighter-rouge">RelOptRuleCall.nodeInputs</code> for operands of type
âanyâ</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-966">CALCITE-966</a>]
-<code>VolcanoPlanner</code> now clears <code>ruleNames</code> in order to avoid rule name
+<code class="highlighter-rouge">VolcanoPlanner</code> now clears <code class="highlighter-rouge">ruleNames</code> in order to avoid rule name
conflicting error</li>
- <li>Factor user-defined function tests from <code>JdbcTest</code> to <code>UdfTest</code>, and classes
-into <code>Smalls</code></li>
+ <li>Factor user-defined function tests from <code class="highlighter-rouge">JdbcTest</code> to <code class="highlighter-rouge">UdfTest</code>, and classes
+into <code class="highlighter-rouge">Smalls</code></li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-974">CALCITE-974</a>]
-Exception while validating <code>DELETE</code> (Yuri Au Yong)</li>
+Exception while validating <code class="highlighter-rouge">DELETE</code> (Yuri Au Yong)</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-964">CALCITE-964</a>]
-Rename <code>timezone</code> connection property to <code>timeZone</code></li>
+Rename <code class="highlighter-rouge">timezone</code> connection property to <code class="highlighter-rouge">timeZone</code></li>
</ul>
<p>Web site and documentation</p>
@@ -1227,7 +1227,7 @@ Massive cleanup of Avatica JSON docs</li
</ul>
</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-861">CALCITE-861</a>]
-Be explicit that <code>mvn test</code> needs to be invoked</li>
+Be explicit that <code class="highlighter-rouge">mvn test</code> needs to be invoked</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-997">CALCITE-997</a>]
Document keywords</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-979">CALCITE-979</a>]
@@ -1235,7 +1235,7 @@ Broken links in web site</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-961">CALCITE-961</a>]
Web site: Add downloads and Apache navigation links</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-960">CALCITE-960</a>]
-Download links for pgp, md5, <code>KEYS</code> files, and direct from mirrors</li>
+Download links for pgp, md5, <code class="highlighter-rouge">KEYS</code> files, and direct from mirrors</li>
<li>Remove embedded date-stamps from javadoc; add javadoc for test classes</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-965">CALCITE-965</a>]
Link to downloads page from each release news item</li>
@@ -1256,12 +1256,12 @@ that replaces relational expressions wit
<p>We continue to find more uses for
<a href="/docs/algebra.html">RelBuilder</a>.
-We now recommend that you use <code>RelBuilder</code> whenever you create
+We now recommend that you use <code class="highlighter-rouge">RelBuilder</code> whenever you create
relational expressions within a planner rule; the rule can then be
re-used to create different sub-classes of relational expression, and
the builder will perform simple optimizations automatically.</p>
-<p>Using <code>RelBuilder</code> we built Piglet,
+<p>Using <code class="highlighter-rouge">RelBuilder</code> we built Piglet,
a subset of the classic Hadoop language
<a href="https://pig.apache.org/">Pig</a>.
Pig is particularly interesting because it makes heavy use of nested
@@ -1273,37 +1273,37 @@ optimizer rules. Itâs all just alge
<ul>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-911">CALCITE-911</a>]
-Add a variant of <code>CalciteSchema</code> that does not cache sub-objects</li>
+Add a variant of <code class="highlighter-rouge">CalciteSchema</code> that does not cache sub-objects</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-845">CALCITE-845</a>]
-Derive <code>SUM</code>âs return type by a customizable policy (Maryann Xue)</li>
+Derive <code class="highlighter-rouge">SUM</code>âs return type by a customizable policy (Maryann Xue)</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-916">CALCITE-916</a>]
-Support table function that implements <code>ScannableTable</code>
+Support table function that implements <code class="highlighter-rouge">ScannableTable</code>
<ul>
<li>Example table function that generates mazes and their solutions</li>
</ul>
</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-941">CALCITE-941</a>]
-Named, optional and <code>DEFAULT</code> arguments to function calls;
+Named, optional and <code class="highlighter-rouge">DEFAULT</code> arguments to function calls;
support named arguments when calling table functions and table macros</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-910">CALCITE-910</a>]
-Improve handling of <code>ARRAY</code>, <code>MULTISET</code>, <code>STRUCT</code> types</li>
+Improve handling of <code class="highlighter-rouge">ARRAY</code>, <code class="highlighter-rouge">MULTISET</code>, <code class="highlighter-rouge">STRUCT</code> types</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-879">CALCITE-879</a>]
-<code>COLLECT</code> aggregate function</li>
+<code class="highlighter-rouge">COLLECT</code> aggregate function</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-546">CALCITE-546</a>]
Allow table, column and field called â*â</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-893">CALCITE-893</a>]
Theta join in JDBC adapter</li>
- <li>Linq4j: Implement <code>EnumerableDefaults</code> methods (MiNG)</li>
+ <li>Linq4j: Implement <code class="highlighter-rouge">EnumerableDefaults</code> methods (MiNG)</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-823">CALCITE-823</a>]
-Add <code>ALTER ... RESET</code> statement (Sudheesh Katkam)</li>
+Add <code class="highlighter-rouge">ALTER ... RESET</code> statement (Sudheesh Katkam)</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-881">CALCITE-881</a>]
-Allow schema.table.column references in <code>GROUP BY</code></li>
+Allow schema.table.column references in <code class="highlighter-rouge">GROUP BY</code></li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-852">CALCITE-852</a>]
DDL statements</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-851">CALCITE-851</a>]
Add original SQL string as a field in the parser</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-819">CALCITE-819</a>]
-Add <code>RelRoot</code>, a contract for the result of a relational expression</li>
+Add <code class="highlighter-rouge">RelRoot</code>, a contract for the result of a relational expression</li>
</ul>
<p>Avatica features and bug fixes</p>
@@ -1316,33 +1316,33 @@ Make HttpServer configurable (Navis Ryu)
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-903">CALCITE-903</a>]
Enable Avatica client to recover from missing server-side state (Josh Elser)</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-921">CALCITE-921</a>]
-Fix incorrectness when calling <code>getString()</code> on binary data (Josh Elser)</li>
+Fix incorrectness when calling <code class="highlighter-rouge">getString()</code> on binary data (Josh Elser)</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-913">CALCITE-913</a>]
-Construct proper <code>ColumnMetaData</code> for arrays (Josh Elser)</li>
+Construct proper <code class="highlighter-rouge">ColumnMetaData</code> for arrays (Josh Elser)</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-871">CALCITE-871</a>]
-In <code>JdbcMeta</code>, register each statement using an id from a generator (Bruno
+In <code class="highlighter-rouge">JdbcMeta</code>, register each statement using an id from a generator (Bruno
Dumon)</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-645">CALCITE-645</a>]
-Implement <code>AvaticaSqlException</code> to pass server-side exception information to
+Implement <code class="highlighter-rouge">AvaticaSqlException</code> to pass server-side exception information to
clients (Josh Elser)</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-912">CALCITE-912</a>]
-Add Avatica <code>OpenConnectionRequest</code> (Bruno Dumon)</li>
+Add Avatica <code class="highlighter-rouge">OpenConnectionRequest</code> (Bruno Dumon)</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-919">CALCITE-919</a>]
-Avoid <code>setScale</code> on <code>BigDecimal</code> when scale is 0 (Josh Elser)</li>
+Avoid <code class="highlighter-rouge">setScale</code> on <code class="highlighter-rouge">BigDecimal</code> when scale is 0 (Josh Elser)</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-927">CALCITE-927</a>]
Call finagle for all calls that return ResultSetResponses (Josh Elser)</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-705">CALCITE-705</a>]
-DML in Avatica, and split <code>Execute</code> out from <code>Fetch</code> request (Yeong Wei)</li>
+DML in Avatica, and split <code class="highlighter-rouge">Execute</code> out from <code class="highlighter-rouge">Fetch</code> request (Yeong Wei)</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-914">CALCITE-914</a>]
-Add <code>JsonSubType</code> for <code>ExecuteResponse</code>, and fix JSON docs (Josh Elser)</li>
+Add <code class="highlighter-rouge">JsonSubType</code> for <code class="highlighter-rouge">ExecuteResponse</code>, and fix JSON docs (Josh Elser)</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-905">CALCITE-905</a>]
-<code>getTables</code> returns empty result in <code>JdbcMeta</code> (Jan Van Besien)</li>
+<code class="highlighter-rouge">getTables</code> returns empty result in <code class="highlighter-rouge">JdbcMeta</code> (Jan Van Besien)</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-906">CALCITE-906</a>]
-Avatica <code>JdbcMeta</code> statement IDs are not unique</li>
+Avatica <code class="highlighter-rouge">JdbcMeta</code> statement IDs are not unique</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-866">CALCITE-866</a>]
Break out Avatica documentation and add JSON reference (Josh Elser)</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-843">CALCITE-843</a>]
-<code>AvaticaConnection.getAutoCommit</code> throws <code>NullPointerException</code></li>
+<code class="highlighter-rouge">AvaticaConnection.getAutoCommit</code> throws <code class="highlighter-rouge">NullPointerException</code></li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-840">CALCITE-840</a>]
Protocol buffer serialization over HTTP for Avatica Server (Josh Elser)</li>
</ul>
@@ -1356,7 +1356,7 @@ Xue)</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-890">CALCITE-890</a>]
Register all combinations of materialization substitutions (Maryann Xue)</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-891">CALCITE-891</a>]
-When substituting materializations, match <code>TableScan</code> without <code>Project</code>
+When substituting materializations, match <code class="highlighter-rouge">TableScan</code> without <code class="highlighter-rouge">Project</code>
(Maryann Xue)</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-890">CALCITE-890</a>]
Register all combinations of materialization substitutions (Maryann Xue)</li>
@@ -1367,68 +1367,68 @@ Margoor)</li>
Planner requires unnecessary collation when using materialized view (Maryann
Xue)</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-825">CALCITE-825</a>]
-Allow user to specify sort order of an <code>ArrayTable</code></li>
+Allow user to specify sort order of an <code class="highlighter-rouge">ArrayTable</code></li>
</ul>
<p>Planner rules</p>
<ul>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-953">CALCITE-953</a>]
-Improve <code>RelMdPredicates</code> to deal with <code>RexLiteral</code> (Pengcheng Xiong)</li>
+Improve <code class="highlighter-rouge">RelMdPredicates</code> to deal with <code class="highlighter-rouge">RexLiteral</code> (Pengcheng Xiong)</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-939">CALCITE-939</a>]
-Variant of <code>SortUnionTransposeRule</code> for order-preserving <code>Union</code>
+Variant of <code class="highlighter-rouge">SortUnionTransposeRule</code> for order-preserving <code class="highlighter-rouge">Union</code>
(Maryann Xue)</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-931">CALCITE-931</a>]
-Wrong collation trait in <code>SortJoinTransposeRule</code> for right joins
+Wrong collation trait in <code class="highlighter-rouge">SortJoinTransposeRule</code> for right joins
(Maryann Xue)</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-938">CALCITE-938</a>]
-More accurate rowCount for <code>Aggregate</code> applied to already unique keys
+More accurate rowCount for <code class="highlighter-rouge">Aggregate</code> applied to already unique keys
(Maryann Xue)</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-935">CALCITE-935</a>]
-Improve how <code>ReduceExpressionsRule</code> handles duplicate constraints (Pengcheng
+Improve how <code class="highlighter-rouge">ReduceExpressionsRule</code> handles duplicate constraints (Pengcheng
Xiong)</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-922">CALCITE-922</a>]
-Extract value of an <code>INTERVAL</code> literal (Hsuan-Yi Chu)</li>
+Extract value of an <code class="highlighter-rouge">INTERVAL</code> literal (Hsuan-Yi Chu)</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-889">CALCITE-889</a>]
-Implement <code>SortUnionTransposeRule</code> (Pengcheng Xiong)</li>
+Implement <code class="highlighter-rouge">SortUnionTransposeRule</code> (Pengcheng Xiong)</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-909">CALCITE-909</a>]
-Make <code>ReduceExpressionsRule</code> extensible</li>
+Make <code class="highlighter-rouge">ReduceExpressionsRule</code> extensible</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-856">CALCITE-856</a>]
Make more rules extensible</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-902">CALCITE-902</a>]
-Match nullability when reducing expressions in a <code>Project</code></li>
+Match nullability when reducing expressions in a <code class="highlighter-rouge">Project</code></li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-895">CALCITE-895</a>]
-Simplify â(<code>CASE</code> ⦠<code>END</code>) = constantâ inside <code>AND</code> or <code>OR</code> (Hsuan-Yi Chu)</li>
+Simplify â(<code class="highlighter-rouge">CASE</code> ⦠<code class="highlighter-rouge">END</code>) = constantâ inside <code class="highlighter-rouge">AND</code> or <code class="highlighter-rouge">OR</code> (Hsuan-Yi Chu)</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-828">CALCITE-828</a>]
Use RelBuilder in rules rather than type-specific RelNode factories</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-892">CALCITE-892</a>]
-Implement <code>SortJoinTransposeRule</code></li>
+Implement <code class="highlighter-rouge">SortJoinTransposeRule</code></li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-876">CALCITE-876</a>]
-After pushing <code>LogicalProject</code> past <code>LogicalWindow</code>, adjust references to
+After pushing <code class="highlighter-rouge">LogicalProject</code> past <code class="highlighter-rouge">LogicalWindow</code>, adjust references to
constants properly (Hsuan-Yi Chu)</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-844">CALCITE-844</a>]
-Push <code>Project</code> through <code>Window</code> (Hsuan-Yi Chu)</li>
+Push <code class="highlighter-rouge">Project</code> through <code class="highlighter-rouge">Window</code> (Hsuan-Yi Chu)</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-841">CALCITE-841</a>]
Redundant windows when window function arguments are expressions (Hsuan-Yi
Chu)</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-846">CALCITE-846</a>]
-Push <code>Aggregate</code> with <code>Filter</code> through <code>Union(all)</code></li>
+Push <code class="highlighter-rouge">Aggregate</code> with <code class="highlighter-rouge">Filter</code> through <code class="highlighter-rouge">Union(all)</code></li>
</ul>
<p>RelBuilder and Piglet</p>
<ul>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-933">CALCITE-933</a>]
-<code>RelBuilder.scan()</code> now gives a nice exception if the table does not exist
+<code class="highlighter-rouge">RelBuilder.scan()</code> now gives a nice exception if the table does not exist
(Andy Grove)</li>
- <li>Fix Piglet <code>DUMP</code> applied to multisets and structs</li>
- <li>Multisets and <code>COLLECT</code> in Piglet</li>
+ <li>Fix Piglet <code class="highlighter-rouge">DUMP</code> applied to multisets and structs</li>
+ <li>Multisets and <code class="highlighter-rouge">COLLECT</code> in Piglet</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-785">CALCITE-785</a>]
Add âPigletâ, a subset of Pig Latin on top of Calcite algebra</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-869">CALCITE-869</a>]
-Add <code>VALUES</code> command to Piglet</li>
+Add <code class="highlighter-rouge">VALUES</code> command to Piglet</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-868">CALCITE-868</a>]
-Add API to execute queries expressed as <code>RelNode</code></li>
+Add API to execute queries expressed as <code class="highlighter-rouge">RelNode</code></li>
<li>In RelBuilder, build expressions by table alias</li>
</ul>
@@ -1436,7 +1436,7 @@ Add API to execute queries expressed as
<ul>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-948">CALCITE-948</a>]
-Indicator columns not preserved by <code>RelFieldTrimmer</code></li>
+Indicator columns not preserved by <code class="highlighter-rouge">RelFieldTrimmer</code></li>
<li>Fix Windows issues (line endings and checkstyle suppressions)</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-937">CALCITE-937</a>]
User-defined function within view</li>
@@ -1446,33 +1446,33 @@ Rules fail to match because of missing l
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-908">CALCITE-908</a>]
Bump protobuf to 3.0.0-beta-1, fix deprecations and update docs (Josh Elser)</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-932">CALCITE-932</a>]
-Fix muddled columns when <code>RelFieldTrimmer</code> is applied to <code>Aggregate</code></li>
+Fix muddled columns when <code class="highlighter-rouge">RelFieldTrimmer</code> is applied to <code class="highlighter-rouge">Aggregate</code></li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-930">CALCITE-930</a>]
Now Calcite is a top-level project, remove references to âincubatingâ</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-929">CALCITE-929</a>]
-Calls to <code>AbstractRelNode</code> may result in NPE</li>
+Calls to <code class="highlighter-rouge">AbstractRelNode</code> may result in NPE</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-923">CALCITE-923</a>]
-Type mismatch when converting <code>LEFT JOIN</code> to <code>INNER</code></li>
+Type mismatch when converting <code class="highlighter-rouge">LEFT JOIN</code> to <code class="highlighter-rouge">INNER</code></li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-666">CALCITE-666</a>]
Anti-semi-joins against JDBC adapter give wrong results (Yeong Wei)</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-918">CALCITE-918</a>]
-<code>createProject</code> in <code>RelOptUtil</code> should uniquify field names</li>
+<code class="highlighter-rouge">createProject</code> in <code class="highlighter-rouge">RelOptUtil</code> should uniquify field names</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-792">CALCITE-792</a>]
-Obsolete <code>RelNode.isKey</code> and <code>isDistinct</code> methods</li>
+Obsolete <code class="highlighter-rouge">RelNode.isKey</code> and <code class="highlighter-rouge">isDistinct</code> methods</li>
<li>Allow FlatLists of different length to be compared</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-898">CALCITE-898</a>]
Type of âJava<long> * `INTEGER`' should be `BIGINT`</long></li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-894">CALCITE-894</a>]
Do not generate redundant column alias for the left relation when
-translating <code>IN</code> subquery (Maryann Xue)</li>
+translating <code class="highlighter-rouge">IN</code> subquery (Maryann Xue)</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-897">CALCITE-897</a>]
Enable debugging using â-Dcalcite.debugâ</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-885">CALCITE-885</a>]
Add Oracle test environment</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-888">CALCITE-888</a>]
-Overlay window loses <code>PARTITION BY</code> list (Hsuan-Yi Chu)</li>
+Overlay window loses <code class="highlighter-rouge">PARTITION BY</code> list (Hsuan-Yi Chu)</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-886">CALCITE-886</a>]
-System functions in <code>GROUP BY</code> clause</li>
+System functions in <code class="highlighter-rouge">GROUP BY</code> clause</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-860">CALCITE-860</a>]
Correct LICENSE file for generated web site</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-882">CALCITE-882</a>]
@@ -1483,34 +1483,34 @@ Allow web site to be deployed not as the
Synchronize HSQLDB at a coarse level using a Lock (Josh Elser)</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-870">CALCITE-870</a>]
Remove copyright content from archers.json</li>
- <li>Replace <code>Stack</code> with <code>ArrayDeque</code></li>
+ <li>Replace <code class="highlighter-rouge">Stack</code> with <code class="highlighter-rouge">ArrayDeque</code></li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-874">CALCITE-874</a>]
-<code>ReflectiveRelMetadataProvider</code> is not thread-safe</li>
- <li>Add <code>LogicalWindow.create()</code></li>
- <li>Add <code>ImmutableBitSet.get(int, int)</code></li>
+<code class="highlighter-rouge">ReflectiveRelMetadataProvider</code> is not thread-safe</li>
+ <li>Add <code class="highlighter-rouge">LogicalWindow.create()</code></li>
+ <li>Add <code class="highlighter-rouge">ImmutableBitSet.get(int, int)</code></li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-865">CALCITE-865</a>]
-Unknown table type causes <code>NullPointerException</code> in <code>JdbcSchema</code>
+Unknown table type causes <code class="highlighter-rouge">NullPointerException</code> in <code class="highlighter-rouge">JdbcSchema</code>
<ul>
<li>Add table types used by Oracle and DB2</li>
</ul>
</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-862">CALCITE-862</a>]
-<code>JdbcSchema</code> gives <code>NullPointerException</code> on non-standard column type (Marc
+<code class="highlighter-rouge">JdbcSchema</code> gives <code class="highlighter-rouge">NullPointerException</code> on non-standard column type (Marc
Prudâhommeaux)</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-847">CALCITE-847</a>]
-<code>AVG</code> window function in <code>GROUP BY</code> gives <code>AssertionError</code> (Hsuan-Yi Chu)</li>
+<code class="highlighter-rouge">AVG</code> window function in <code class="highlighter-rouge">GROUP BY</code> gives <code class="highlighter-rouge">AssertionError</code> (Hsuan-Yi Chu)</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-827">CALCITE-827</a>]
-Calcite incorrectly permutes columns of <code>OVER</code> query (Hsuan-Yi Chu)</li>
+Calcite incorrectly permutes columns of <code class="highlighter-rouge">OVER</code> query (Hsuan-Yi Chu)</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-809">CALCITE-809</a>]
-<code>TableScan</code> does not support large/infinite scans (Jesse Yates)</li>
+<code class="highlighter-rouge">TableScan</code> does not support large/infinite scans (Jesse Yates)</li>
<li>Lazily create exception only when it needs to be thrown (Marc Prudâhommeaux)</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-812">CALCITE-812</a>]
Make JSON reader and writer use properly quoted key names (Marc
Prudâhommeaux)</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-820">CALCITE-820</a>]
-Validate that window functions have <code>OVER</code> clause (Hsuan-Yi Chu)</li>
+Validate that window functions have <code class="highlighter-rouge">OVER</code> clause (Hsuan-Yi Chu)</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-824">CALCITE-824</a>]
-Type inference when converting <code>IN</code> clause to semijoin (Josh Wills)</li>
+Type inference when converting <code class="highlighter-rouge">IN</code> clause to semijoin (Josh Wills)</li>
</ul>
<h2 id="v1-4-0"><a href="https://github.com/apache/calcite/releases/tag/calcite-1.4.0-incubating">1.4.0-incubating</a> / 2015-09-02</h2>
@@ -1524,7 +1524,7 @@ algebra expressions.</p>
<ul>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-748">CALCITE-748</a>]
- Add <code>RelBuilder</code>, builder for expressions in relational algebra</li>
+ Add <code class="highlighter-rouge">RelBuilder</code>, builder for expressions in relational algebra</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-758">CALCITE-758</a>]
Use more than one lattice in the same query (Rajat Venkatesh)</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-761">CALCITE-761</a>]
@@ -1533,8 +1533,8 @@ algebra expressions.</p>
Detect if materialized view can be used to rewrite a query in
non-trivial cases (Amogh Margoor)</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-732">CALCITE-732</a>]
- Implement multiple distinct-<code>COUNT</code> using <code>GROUPING SETS</code></li>
- <li>Add various <code>BitSet</code> and <code>ImmutableBitSet</code> utilities</li>
+ Implement multiple distinct-<code class="highlighter-rouge">COUNT</code> using <code class="highlighter-rouge">GROUPING SETS</code></li>
+ <li>Add various <code class="highlighter-rouge">BitSet</code> and <code class="highlighter-rouge">ImmutableBitSet</code> utilities</li>
</ul>
<p>Website updates</p>
@@ -1560,58 +1560,58 @@ exclusions otherwise</li>
<ul>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-741">CALCITE-741</a>]
- Ensure that the source releaseâs <code>DEPENDENCIES</code> file includes all module
+ Ensure that the source releaseâs <code class="highlighter-rouge">DEPENDENCIES</code> file includes all module
dependencies</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-743">CALCITE-743</a>]
Ensure only a single source assembly is executed</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-850">CALCITE-850</a>]
- Remove push down expressions from <code>FilterJoinRule</code> and create a new rule
+ Remove push down expressions from <code class="highlighter-rouge">FilterJoinRule</code> and create a new rule
for it</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-834">CALCITE-834</a>]
- <code>StackOverflowError</code> getting predicates from the metadata provider</li>
+ <code class="highlighter-rouge">StackOverflowError</code> getting predicates from the metadata provider</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-833">CALCITE-833</a>]
- <code>RelOptUtil.splitJoinCondition</code> incorrectly splits a join condition
+ <code class="highlighter-rouge">RelOptUtil.splitJoinCondition</code> incorrectly splits a join condition
(Hsuan-Yi Chu)</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-822">CALCITE-822</a>]
- Add a unit test case to test collation of <code>LogicalAggregate</code></li>
+ Add a unit test case to test collation of <code class="highlighter-rouge">LogicalAggregate</code></li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-822">CALCITE-822</a>]
- Revert incorrect <code>LogicalAggregate</code> collation inferring logic made in
+ Revert incorrect <code class="highlighter-rouge">LogicalAggregate</code> collation inferring logic made in
[<a href="https://issues.apache.org/jira/browse/CALCITE-783">CALCITE-783</a>]
(Milinda Pathirage)</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-826">CALCITE-826</a>]
- Use <code>ProjectFactory</code> in <code>AggregateJoinTranposeRule</code> and <code>FilterJoinRule</code></li>
+ Use <code class="highlighter-rouge">ProjectFactory</code> in <code class="highlighter-rouge">AggregateJoinTranposeRule</code> and <code class="highlighter-rouge">FilterJoinRule</code></li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-821">CALCITE-821</a>]
- <code>Frameworks</code> gives NPE when <code>FrameworkConfig</code> has no default schema</li>
+ <code class="highlighter-rouge">Frameworks</code> gives NPE when <code class="highlighter-rouge">FrameworkConfig</code> has no default schema</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-811">CALCITE-811</a>]
- Extend <code>JoinProjectTransposeRule</code> with option to support outer joins</li>
+ Extend <code class="highlighter-rouge">JoinProjectTransposeRule</code> with option to support outer joins</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-805">CALCITE-805</a>]
Add support for using an alternative grammar specification for left and
right curly braces. Additionally, add support for including addition token
manager declarations</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-803">CALCITE-803</a>]
- Add <code>MYSQL_ANSI</code> Lexing policy</li>
+ Add <code class="highlighter-rouge">MYSQL_ANSI</code> Lexing policy</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-717">CALCITE-717</a>]
Compare BINARY and VARBINARY on unsigned byte values (Low Chin Wei)</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-814">CALCITE-814</a>]
- <code>RexBuilder</code> reverses precision and scale of <code>DECIMAL</code> literal</li>
+ <code class="highlighter-rouge">RexBuilder</code> reverses precision and scale of <code class="highlighter-rouge">DECIMAL</code> literal</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-813">CALCITE-813</a>]
- Upgrade <code>updateCount</code>, <code>maxRows</code> from int to long</li>
+ Upgrade <code class="highlighter-rouge">updateCount</code>, <code class="highlighter-rouge">maxRows</code> from int to long</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-714">CALCITE-714</a>]
When de-correlating, push join condition into subquery</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-751">CALCITE-751</a>]
Push aggregate with aggregate functions through join</li>
- <li>Add <code>RelBuilder.avg</code></li>
+ <li>Add <code class="highlighter-rouge">RelBuilder.avg</code></li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-806">CALCITE-806</a>]
- <code>ROW_NUMBER</code> should emit distinct values</li>
+ <code class="highlighter-rouge">ROW_NUMBER</code> should emit distinct values</li>
<li>Document JSON model, making javadoc consistent with the model reference</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-808">CALCITE-808</a>]
- Optimize <code>ProjectMergeRule</code></li>
+ Optimize <code class="highlighter-rouge">ProjectMergeRule</code></li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-791">CALCITE-791</a>]
- Optimize <code>RelOptUtil.pushFilterPastProject</code></li>
+ Optimize <code class="highlighter-rouge">RelOptUtil.pushFilterPastProject</code></li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-783">CALCITE-783</a>]
- Infer collation of <code>Project</code> using monotonicity (Milinda Pathirage)</li>
- <li>Change the argument types of <code>SqlOperator.getMonotonicity</code> to allow it to be
-used for <code>RexNode</code> as well as <code>SqlNode</code></li>
+ Infer collation of <code class="highlighter-rouge">Project</code> using monotonicity (Milinda Pathirage)</li>
+ <li>Change the argument types of <code class="highlighter-rouge">SqlOperator.getMonotonicity</code> to allow it to be
+used for <code class="highlighter-rouge">RexNode</code> as well as <code class="highlighter-rouge">SqlNode</code></li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-800">CALCITE-800</a>]
Window function defined within another window function should be invalid
(Hsuan-Yi Chu)</li>
@@ -1622,80 +1622,80 @@ used for <code>RexNode</code> as well as
Loss of precision when sending a decimal number via the remote JSON
service (Lukáš Lalinský)</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-774">CALCITE-774</a>]
- When <code>GROUP BY</code> is present, ensure that window function operands only
+ When <code class="highlighter-rouge">GROUP BY</code> is present, ensure that window function operands only
refer to grouping keys (Hsuan-Yi Chu)</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-799">CALCITE-799</a>]
- Incorrect result for <code>HAVING count(*) > 1</code></li>
+ Incorrect result for <code class="highlighter-rouge">HAVING count(*) > 1</code></li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-801">CALCITE-801</a>]
- <code>NullPointerException</code> using <code>USING</code> on table alias with column aliases</li>
+ <code class="highlighter-rouge">NullPointerException</code> using <code class="highlighter-rouge">USING</code> on table alias with column aliases</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-390">CALCITE-390</a>]
Infer predicates for semi-join</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-789">CALCITE-789</a>]
- <code>MetaImpl.MetaCatalog</code> should expose <code>TABLE_CAT</code> instead of
- <code>TABLE_CATALOG</code></li>
+ <code class="highlighter-rouge">MetaImpl.MetaCatalog</code> should expose <code class="highlighter-rouge">TABLE_CAT</code> instead of
+ <code class="highlighter-rouge">TABLE_CATALOG</code></li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-752">CALCITE-752</a>]
Add back sqlline as a dependency to csv example</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-780">CALCITE-780</a>]
HTTP error 413 when sending a long string to the Avatica server</li>
- <li>In <code>RelBuilder</code>, calling <code>sort</code> then <code>limit</code> has same effect as calling
-<code>sortLimit</code></li>
- <li>Add <code>Ord.reverse</code></li>
+ <li>In <code class="highlighter-rouge">RelBuilder</code>, calling <code class="highlighter-rouge">sort</code> then <code class="highlighter-rouge">limit</code> has same effect as calling
+<code class="highlighter-rouge">sortLimit</code></li>
+ <li>Add <code class="highlighter-rouge">Ord.reverse</code></li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-788">CALCITE-788</a>]
- Allow <code>EnumerableJoin</code> to be sub-classed (Li Yang)</li>
+ Allow <code class="highlighter-rouge">EnumerableJoin</code> to be sub-classed (Li Yang)</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-280">CALCITE-280</a>]
- <code>BigDecimal</code> underflow (Li Yang)</li>
+ <code class="highlighter-rouge">BigDecimal</code> underflow (Li Yang)</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-763">CALCITE-763</a>]
- Missing translation from <code>Sort</code> to <code>MutableSort</code> (Maryann Xue)</li>
+ Missing translation from <code class="highlighter-rouge">Sort</code> to <code class="highlighter-rouge">MutableSort</code> (Maryann Xue)</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-770">CALCITE-770</a>]
Ignore window aggregates and ranking functions when finding aggregate
functions</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-765">CALCITE-765</a>]
- Set <code>Content-Type</code> from the RPC server to <code>application/json</code> (Lukáš Lalinský)</li>
- <li>Fix Windows line-endings in <code>RelBuilderTest</code></li>
+ Set <code class="highlighter-rouge">Content-Type</code> from the RPC server to <code class="highlighter-rouge">application/json</code> (Lukáš Lalinský)</li>
+ <li>Fix Windows line-endings in <code class="highlighter-rouge">RelBuilderTest</code></li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-727">CALCITE-727</a>]
- Constant folding involving <code>CASE</code> and <code>NULL</code></li>
+ Constant folding involving <code class="highlighter-rouge">CASE</code> and <code class="highlighter-rouge">NULL</code></li>
<li>Related to
[<a href="https://issues.apache.org/jira/browse/CALCITE-758">CALCITE-758</a>],
speed up matching by not considering tiles separately from other
materialized views</li>
<li>Test case and workaround for
[<a href="https://issues.apache.org/jira/browse/CALCITE-760">CALCITE-760</a>]
- <code>Aggregate</code> recommender blows up if row count estimate is too high</li>
+ <code class="highlighter-rouge">Aggregate</code> recommender blows up if row count estimate is too high</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-753">CALCITE-753</a>]
- <code>Aggregate</code> operators may derive row types with duplicate column names</li>
+ <code class="highlighter-rouge">Aggregate</code> operators may derive row types with duplicate column names</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-457">CALCITE-457</a>]
Push condition of non-ansi join into join operator</li>
<li>Change jsonRequest encoding to UTF-8 (Guitao Ding)</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-757">CALCITE-757</a>]
Fix expansion of view of another view (Venki Korukanti)</li>
<li>Fix coverity warnings</li>
- <li>Remove deprecated <code>SqlTypeName</code> methods</li>
+ <li>Remove deprecated <code class="highlighter-rouge">SqlTypeName</code> methods</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-754">CALCITE-754</a>]
- Validator error when resolving <code>OVER</code> clause of <code>JOIN</code> query</li>
+ Validator error when resolving <code class="highlighter-rouge">OVER</code> clause of <code class="highlighter-rouge">JOIN</code> query</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-429">CALCITE-429</a>]
Cardinality provider for use by lattice algorithm</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-740">CALCITE-740</a>]
- Redundant <code>WHERE</code> clause causes wrong result in MongoDB adapter</li>
+ Redundant <code class="highlighter-rouge">WHERE</code> clause causes wrong result in MongoDB adapter</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-665">CALCITE-665</a>]
- <code>ClassCastException</code> in MongoDB adapter</li>
- <li>Separate <code>TableFactory</code> from suggested table name, so one <code>TableFactory</code> can be
+ <code class="highlighter-rouge">ClassCastException</code> in MongoDB adapter</li>
+ <li>Separate <code class="highlighter-rouge">TableFactory</code> from suggested table name, so one <code class="highlighter-rouge">TableFactory</code> can be
used for several tables</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-749">CALCITE-749</a>]
- Add <code>MaterializationService.TableFactory</code> (Rajat Venkatesh)</li>
+ Add <code class="highlighter-rouge">MaterializationService.TableFactory</code> (Rajat Venkatesh)</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-718">CALCITE-718</a>]
- Enable fetch to work for <code>Statement.execute()</code> for Avatica (Xavier Leong)</li>
+ Enable fetch to work for <code class="highlighter-rouge">Statement.execute()</code> for Avatica (Xavier Leong)</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-712">CALCITE-712</a>]
- Obey <code>setMaxRows</code> for statement execute (Xavier Leong)</li>
- <li>Add <code>LoggingLocalJsonService</code>, to make it easier to test that JDBC requests
+ Obey <code class="highlighter-rouge">setMaxRows</code> for statement execute (Xavier Leong)</li>
+ <li>Add <code class="highlighter-rouge">LoggingLocalJsonService</code>, to make it easier to test that JDBC requests
cause the right RPCs</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-708">CALCITE-708</a>]
- Implement <code>DatabaseMetaData.getTypeInfo</code> (Xavier Leong)</li>
+ Implement <code class="highlighter-rouge">DatabaseMetaData.getTypeInfo</code> (Xavier Leong)</li>
<li>Enable Travis CI on new-master branch and bug-fix branches named
âNNN-descriptionâ</li>
<li>Clean up</li>
<li>Upgrade tpcds</li>
- <li>Make <code>JdbcTest.testVersion</code> more permissive, so that <code>version.major</code> and
-<code>version.minor</code> can be set just before a release, rather than just after as at
+ <li>Make <code class="highlighter-rouge">JdbcTest.testVersion</code> more permissive, so that <code class="highlighter-rouge">version.major</code> and
+<code class="highlighter-rouge">version.minor</code> can be set just before a release, rather than just after as at
present</li>
</ul>
@@ -1713,7 +1713,7 @@ and various improvements to Avatica.</p>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-505">CALCITE-505</a>]
Support modifiable view</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-704">CALCITE-704</a>]
-<code>FILTER</code> clause for aggregate functions</li>
+<code class="highlighter-rouge">FILTER</code> clause for aggregate functions</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-522">CALCITE-522</a>]
In remote JDBC driver, transmit static database properties as a map</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-661">CALCITE-661</a>]
@@ -1727,39 +1727,39 @@ Remote fetch in Calcite JDBC driver</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-722">CALCITE-722</a>]
Rename markdown files to lower-case</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-697">CALCITE-697</a>]
-Obsolete class <code>RelOptQuery</code></li>
+Obsolete class <code class="highlighter-rouge">RelOptQuery</code></li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-693">CALCITE-693</a>]
-Allow clients to control creation of <code>RelOptCluster</code></li>
+Allow clients to control creation of <code class="highlighter-rouge">RelOptCluster</code></li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-691">CALCITE-691</a>]
Allow projects to supply alternate SQL parser</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-675">CALCITE-675</a>]
-Enable <code>AggregateProjectMergeRule</code> in standard rule set</li>
+Enable <code class="highlighter-rouge">AggregateProjectMergeRule</code> in standard rule set</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-679">CALCITE-679</a>]
-Factory method for <code>SemiJoin</code></li>
+Factory method for <code class="highlighter-rouge">SemiJoin</code></li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-674">CALCITE-674</a>]
-Add a <code>SWAP_OUTER</code> static instance to <code>JoinCommuteRule</code> (Maryann Xue)</li>
+Add a <code class="highlighter-rouge">SWAP_OUTER</code> static instance to <code class="highlighter-rouge">JoinCommuteRule</code> (Maryann Xue)</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-735">CALCITE-735</a>]
-<code>Primitive.DOUBLE.min</code> should be large and negative</li>
+<code class="highlighter-rouge">Primitive.DOUBLE.min</code> should be large and negative</li>
</ul>
<p>Bug-fixes and internal changes</p>
<ul>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-688">CALCITE-688</a>]
-<code>splitCondition</code> does not behave correctly when one side of the condition
+<code class="highlighter-rouge">splitCondition</code> does not behave correctly when one side of the condition
references columns from different inputs</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-259">CALCITE-259</a>]
-Using sub-queries in <code>CASE</code> statement against JDBC tables generates invalid
+Using sub-queries in <code class="highlighter-rouge">CASE</code> statement against JDBC tables generates invalid
Oracle SQL (Yeong Wei)</li>
<li>In sample code in README.md, rename optiq to calcite (Ethan)</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-720">CALCITE-720</a>]
-<code>VolcanoPlanner.ambitious</code> comment doc is inconsistent (Santiago M. Mola)</li>
+<code class="highlighter-rouge">VolcanoPlanner.ambitious</code> comment doc is inconsistent (Santiago M. Mola)</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-729">CALCITE-729</a>]
-<code>IndexOutOfBoundsException</code> in <code>ROLLUP</code> query on JDBC data source</li>
+<code class="highlighter-rouge">IndexOutOfBoundsException</code> in <code class="highlighter-rouge">ROLLUP</code> query on JDBC data source</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-733">CALCITE-733</a>]
-Multiple distinct-<code>COUNT</code> query gives wrong results</li>
+Multiple distinct-<code class="highlighter-rouge">COUNT</code> query gives wrong results</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-730">CALCITE-730</a>]
-<code>ClassCastException</code> in table from <code>CloneSchema</code></li>
+<code class="highlighter-rouge">ClassCastException</code> in table from <code class="highlighter-rouge">CloneSchema</code></li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-728">CALCITE-728</a>]
Test suite hangs on Windows</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-723">CALCITE-723</a>]
@@ -1768,20 +1768,20 @@ Document lattices</li>
Add Apache headers to markdown files</li>
<li>Upgrade quidem</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-716">CALCITE-716</a>]
-Scalar sub-query and aggregate function in <code>SELECT</code> or <code>HAVING</code> clause gives
-<code>AssertionError</code></li>
+Scalar sub-query and aggregate function in <code class="highlighter-rouge">SELECT</code> or <code class="highlighter-rouge">HAVING</code> clause gives
+<code class="highlighter-rouge">AssertionError</code></li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-694">CALCITE-694</a>]
-Scan <code>HAVING</code> clause for sub-queries and <code>IN</code>-lists (Hsuan-Yi Chu)</li>
+Scan <code class="highlighter-rouge">HAVING</code> clause for sub-queries and <code class="highlighter-rouge">IN</code>-lists (Hsuan-Yi Chu)</li>
<li>Upgrade hydromatic-resource-maven-plugin</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-710">CALCITE-710</a>]
-Identical conditions in the <code>WHERE</code> clause cause <code>AssertionError</code> (Sean
+Identical conditions in the <code class="highlighter-rouge">WHERE</code> clause cause <code class="highlighter-rouge">AssertionError</code> (Sean
Hsuan-Yi Chu)</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-695">CALCITE-695</a>]
-Do not add <code>SINGLE_VALUE</code> aggregate function to a sub-query that will never
+Do not add <code class="highlighter-rouge">SINGLE_VALUE</code> aggregate function to a sub-query that will never
return more than one row (Hsuan-Yi Chu)</li>
<li>Add tests for scalar sub-queries, including test cases for
[<a href="https://issues.apache.org/jira/browse/CALCITE-709">CALCITE-709</a>]
-Errors with <code>LIMIT</code> inside scalar sub-query</li>
+Errors with <code class="highlighter-rouge">LIMIT</code> inside scalar sub-query</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-702">CALCITE-702</a>]
Add validator test for monotonic expressions</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-699">CALCITE-699</a>]
@@ -1789,35 +1789,35 @@ In Avatica, synchronize access to Calend
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-700">CALCITE-700</a>]
Pass time zone into tests</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-698">CALCITE-698</a>]
-For <code>GROUP BY ()</code>, <code>areColumnsUnique()</code> should return true for any key</li>
+For <code class="highlighter-rouge">GROUP BY ()</code>, <code class="highlighter-rouge">areColumnsUnique()</code> should return true for any key</li>
<li>Disable tests that fail under JDK 1.7 due to
[<a href="https://issues.apache.org/jira/browse/CALCITE-687">CALCITE-687</a>]</li>
<li>Add âgetting startedâ to HOWTO</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-692">CALCITE-692</a>]
Add back sqlline as a dependency</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-677">CALCITE-677</a>]
-<code>RemoteDriverTest.testTypeHandling</code> fails east of Greenwich</li>
+<code class="highlighter-rouge">RemoteDriverTest.testTypeHandling</code> fails east of Greenwich</li>
<li>Disable test for
[<a href="https://issues.apache.org/jira/browse/CALCITE-687">CALCITE-687</a>]
-Make <code>RemoteDriverTest.testStatementLifecycle</code> thread-safe</li>
+Make <code class="highlighter-rouge">RemoteDriverTest.testStatementLifecycle</code> thread-safe</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-686">CALCITE-686</a>]
-<code>SqlNode.unparse</code> produces invalid SQL</li>
+<code class="highlighter-rouge">SqlNode.unparse</code> produces invalid SQL</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-507">CALCITE-507</a>]
Update HOWTO.md with running integration tests</li>
<li>Add H2 integration test</li>
<li>Add PostgreSQL integration test</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-590">CALCITE-590</a>]
Update MongoDB test suite to calcite-test-dataset</li>
- <li>Add <code>CalciteAssert.assertArrayEqual</code> for more user-friendly asserts</li>
+ <li>Add <code class="highlighter-rouge">CalciteAssert.assertArrayEqual</code> for more user-friendly asserts</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-585">CALCITE-585</a>]
-Avatica JDBC methods should throw <code>SQLFeatureNotSupportedException</code> (Ng Jiunn
+Avatica JDBC methods should throw <code class="highlighter-rouge">SQLFeatureNotSupportedException</code> (Ng Jiunn
Jye)</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-671">CALCITE-671</a>]
-<code>ByteString</code> does not deserialize properly as a <code>FetchRequest</code> parameter value</li>
+<code class="highlighter-rouge">ByteString</code> does not deserialize properly as a <code class="highlighter-rouge">FetchRequest</code> parameter value</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-676">CALCITE-676</a>]
-<code>AssertionError</code> in <code>GROUPING SETS</code> query</li>
+<code class="highlighter-rouge">AssertionError</code> in <code class="highlighter-rouge">GROUPING SETS</code> query</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-678">CALCITE-678</a>]
-<code>SemiJoinRule</code> mixes up fields when <code>Aggregate.groupSet</code> is not field #0</li>
+<code class="highlighter-rouge">SemiJoinRule</code> mixes up fields when <code class="highlighter-rouge">Aggregate.groupSet</code> is not field #0</li>
</ul>
<h2 id="v1-2-0"><a href="https://github.com/apache/calcite/releases/tag/calcite-1.2.0-incubating">1.2.0-incubating</a> / 2015-04-07</h2>
@@ -1825,7 +1825,7 @@ Jye)</li>
<p>A short release, less than a month after 1.1.</p>
<p>There have been many changes to Avatica, hugely improving its coverage of the
-JDBC API and overall robustness. A new provider, <code>JdbcMeta</code>, allows
+JDBC API and overall robustness. A new provider, <code class="highlighter-rouge">JdbcMeta</code>, allows
you to remote an existing JDBC driver.</p>
<p>[<a href="https://issues.apache.org/jira/browse/CALCITE-606">CALCITE-606</a>]
@@ -1844,31 +1844,31 @@ Support Aggregate push down in bushy joi
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-613">CALCITE-613</a>]
Implicitly convert character values in comparisons</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-307">CALCITE-307</a>]
-Implement <code>CAST</code> between date-time types</li>
+Implement <code class="highlighter-rouge">CAST</code> between date-time types</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-634">CALCITE-634</a>]
-Allow <code>ORDER BY</code> aggregate function in <code>SELECT DISTINCT</code>, provided that it
-occurs in <code>SELECT</code> clause (Sean Hsuan-Yi Chu)</li>
- <li>In linq4j, implement <code>firstOrDefault</code>, <code>single</code>, and <code>singleOrDefault</code> methods
+Allow <code class="highlighter-rouge">ORDER BY</code> aggregate function in <code class="highlighter-rouge">SELECT DISTINCT</code>, provided that it
+occurs in <code class="highlighter-rouge">SELECT</code> clause (Sean Hsuan-Yi Chu)</li>
+ <li>In linq4j, implement <code class="highlighter-rouge">firstOrDefault</code>, <code class="highlighter-rouge">single</code>, and <code class="highlighter-rouge">singleOrDefault</code> methods
(Daniel Cooper)</li>
<li>JDBC adapter
<ul>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-631">CALCITE-631</a>]
Push theta joins down to JDBC adapter (Ng Jiunn Jye)</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-657">CALCITE-657</a>]
-<code>NullPointerException</code> when executing <code>JdbcAggregate.implement</code>
+<code class="highlighter-rouge">NullPointerException</code> when executing <code class="highlighter-rouge">JdbcAggregate.implement</code>
method (Yuri Au Yong)</li>
</ul>
</li>
<li>Metadata
<ul>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-659">CALCITE-659</a>]
-Missing types in <code>averageTypeValueSize</code> method in <code>RelMdSize</code>
+Missing types in <code class="highlighter-rouge">averageTypeValueSize</code> method in <code class="highlighter-rouge">RelMdSize</code>
(Jesus Camacho Rodriguez)</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-650">CALCITE-650</a>]
-Add metadata for average size of a tuple in <code>SemiJoin</code> (Jesus
+Add metadata for average size of a tuple in <code class="highlighter-rouge">SemiJoin</code> (Jesus
Camacho Rodriguez)</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-649">CALCITE-649</a>]
-Extend <code>splitCondition</code> method in <code>RelOptUtil</code> to handle multiple
+Extend <code class="highlighter-rouge">splitCondition</code> method in <code class="highlighter-rouge">RelOptUtil</code> to handle multiple
[... 2882 lines stripped ...]