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 ...]
