From 6180e006f94e9a576be55b33887d955869c56381 Mon Sep 17 00:00:00 2001 From: Stamatis Zampetakis Date: Fri, 22 May 2026 09:05:44 +0200 Subject: [PATCH] [CALCITE-7544] Release Calcite 1.42.0 1. Update README and howto to 1.42.0 2. Add release notes and contributots list 3. Update mailmap based on new contributions --- .mailmap | 11 ++ README | 2 +- site/_docs/history.md | 368 ++++++++++++++++++++++++++++++++++++++++-- site/_docs/howto.md | 4 +- 4 files changed, 366 insertions(+), 19 deletions(-) diff --git a/.mailmap b/.mailmap index a0784207f8ad..aa46591c165d 100644 --- a/.mailmap +++ b/.mailmap @@ -25,6 +25,7 @@ Alessandro Solimando <18898964+asolimando@users.noreply.github.com> Alessandro Solimando Alessandro Solimando Alessandro Solimando +Alexis Cubilla Ali Mansour Amir Gajst Anton Kovalevsky @@ -46,6 +47,7 @@ Daniel Henneberger Danny Chan Danny Chan Darion Yaphet +Darpan Lunagariya David Handermann Dhirenda Gautam Divyanshu Srivastava @@ -73,10 +75,12 @@ Heng Xiao Hequn Cheng Hong Shen (沈洪) Hongyu Guo +Hongyu Guo Hongyu Guo Hongze Zhang Hsuan-Yi Chu Ian Bertolacci +Issac Garcia Jacky Lau # aka Yong Liu Jacky Lau Jacky Woo @@ -101,6 +105,7 @@ Julian Hyde Julian Hyde Julian Hyde Julian Hyde +Keshav Katkar Kevin Liew Kevin Liew Khawla Mouhoubi @@ -113,6 +118,7 @@ Krisztian Kasa Lei Shen LeoWangLZ # aka Rheet Wong? Liao Xintao +Lincoln Lee Lincoln Lee Liya Fan Louis Kang # aka LM Kang @@ -153,6 +159,7 @@ suibianwanwan <1597226206@qq.com> suibianwanwan Taras Ledkov Ted Xu (少杰) +Terran Venki Korukanti Venki Korukanti Viggo Chen @@ -163,9 +170,11 @@ Wang Yanlin Wang Zhao wangdiao Wei Zhou +Weihua Zhang <745778074@qq.com> Weijie Wu Wenhui Tang Wenrui Meng +Wenzhuang Zhu Xiaochen Zhou <598457447@qq.com> Xiaochen Zhou Xiaogang Zhou @@ -182,8 +191,10 @@ YiwenWu YiwenWu Yu Xu <11161569@vivo.com> Yu Xu <1206332514@qq.com> +Yu Xu Zhe Hu Zhen Chen +Zhen Wang <643348094@qq.com> Zhen Wang Zhen Wang Zhengqiang Duan diff --git a/README b/README index efc9b7e3d4a4..981a9713f4ed 100644 --- a/README +++ b/README @@ -1,4 +1,4 @@ -Apache Calcite release 1.41.0 +Apache Calcite release 1.42.0 This is a source distribution of Apache Calcite. diff --git a/site/_docs/history.md b/site/_docs/history.md index 8a7da2a4f31e..aca3250ef387 100644 --- a/site/_docs/history.md +++ b/site/_docs/history.md @@ -30,10 +30,10 @@ Downloads are available on the + +## 1.42.0 / 2026-06-01 +{: #v1-42-0} + +This release comes 7 months after [1.41.0](#v1-41-0), +contains contributions from 39 contributors, and resolves 241 issues. + +Contributors to this release: +Alessandro Solimando, +Alexis Cubilla, +big face cat, +Cancai Cai, +Darpan Lunagariya, +Diveyam Mishra, +Dmitry Sysolyatin, +Dongsheng He, +Heng Qian, +Hongyu Guo, +Ian Bertolacci, +Issac Garcia, +Jinkun Liu, +Joseph Grogan, +Julian Hyde, +Keshav Katkar, +khanhkhanhlele, +krooswu, +Lincoln Lee, +Mihai Budiu, +Niels Pardon, +Ruben Quesada Lopez, +Sergey Nuyanzin, +Silun Dong, +Soumyakanti Das, +Stamatis Zampetakis, +Tamas Mate, +Terran, +Thomas Rebele, +TJ Banghart, +Weihua Zhang, +Wenzhuang Zhu, +Xiong Duan, +Yash Limbad, +Yu Xu, +Zhen Chen, +Zhen Wang, +zhuyufeng0809, +zzwqqq. + +Compatibility: This release is tested on Linux, macOS, Microsoft Windows; +using JDK/OpenJDK versions 8 to 24; +Guava versions 21.0 to 33.4.8-jre; +other software versions as specified in gradle.properties. + + +#### Breaking Changes +{: #breaking-1-42-0} + +* [CALCITE-6942] +Rename the method `decorrelateFetchOneSort` to `decorrelateSortWithRowNumber`. * [CALCITE-7301] Prior to this change, most `SqlNode`s in the `org.apache.calcite.sql.ddl` package could not be unparsed when created with `SqlOperator#createCall`. To fix this, those `SqlNode`s now implement their own `SqlOperator`. `SqlNode#getOperandList()` now returns all operands required by these operators; the number and order may differ from before. The same applies to `SqlBabelCreateTable` and `SqlUnpivot`. - -* [CALCITE-6942] -Rename the method `decorrelateFetchOneSort` to `decorrelateSortWithRowNumber`. +* [CALCITE-7351] Make `getMaxNumericScale()` and `getMaxNumericPrecision()` final +* [CALCITE-7393] + `RelDataTypeImpl.digest` is deprecated. We recommend using `RelDataTypeImpl.innerDigest` instead. + See system property `CalciteSystemProperty.DISABLE_GENERATE_REL_DATA_TYPE_DIGEST_STRING`. +* [CALCITE-7410] + Changes the type of the `WINDOW_START` and `WINDOW_END` columns for + the table functions `HOP`, `TUMBLE`, `SESSION` to match the original + type of the timestamp column. These types used to be hardwired to + `TIMESTAMP(3)`. #### New features {: #new-features-1-42-0} +* [CALCITE-4460] Support custom delimiter when parsing CSV tables +* [CALCITE-5347] Add `SELECT ... BY`, a syntax extension that is shorthand for `GROUP BY` and `ORDER BY` +* [CALCITE-5733] Simplify `a = ARRAY[1,2] AND a = ARRAY[2,3]` to `false` +* [CALCITE-5740] Add `AggToSemiJoinRule` to transform aggregate to semijoin +* [CALCITE-5787] New `RelMdInputFieldsUsed` API to track the usage of input fields +* [CALCITE-6066] Add `HYPOT` function (enabled in Spark library) +* [CALCITE-7031] Implement the general decorrelation algorithm (Neumann & Kemper) +* [CALCITE-7295] `RexSimplify` should simplify a division with a `NULL` argument +* [CALCITE-7310] Support the syntax `SELECT * EXCLUDE(columns)` +* [CALCITE-7311] Support the syntax `ROW(*)` to create a nested `ROW` type with all columns +* [CALCITE-7337] Add `AGE` function (enabled in PostgreSQL library) +* [CALCITE-7362] Add rule to transform `WHERE` clauses into filtered aggregates +* [CALCITE-7406] Add `ABS` function (enabled in MongoDB library) +* [CALCITE-7413] Add `CONCAT` and `SUBSTRING` function (enabled in MongoDB library) +* [CALCITE-7422] Support large plan optimization mode for HepPlanner +* [CALCITE-7428] Support `REGEXP` function in Hive library +* [CALCITE-7448] Add support for ':' variant path access syntax +* [CALCITE-7498] Enhance parser to allow hints with assignments mixing literals and identifiers +* [CALCITE-7523] Support the syntax `SELECT * REPLACE(expr as column)` + #### Dependency version upgrade {: #dependency-1-42-0} +* [CALCITE-7259] Drop commons-lang3 dependency +* [CALCITE-7290] Update json-path to 2.10.0 +* [CALCITE-7307] joou-java6-0.9.4 dependency conflicts with Java 9+ and JPMS +* [CALCITE-7458] Upgrade Jackson to 2.18.6 due to CVE +* [CALCITE-7521] Upgrade Avatica 1.28.0 + #### Bug-fixes, API changes and minor enhancements {: #fixes-1-42-0} +* [CALCITE-2152] SQL parser unable to parse SQL with nested joins produced by `RelToSqlConverter` +* [CALCITE-2274] Filter predicates aren't inferred while using dynamic star in subquery +* [CALCITE-3128] Joining two tables producing only `NULLs` will return 0 rows +* [CALCITE-4525] Pull up predicate will lose some predicates when project contains same `RexInputRef` +* [CALCITE-4645] In Elasticsearch adapter, a range predicate should be translated to a range query +* [CALCITE-4765] Complex correlated `EXISTS` sub-queries used as scalar subqueries can return wrong results +* [CALCITE-4813] `ANY_VALUE` assumes that arguments should be comparable +* [CALCITE-4868] Elasticsearch adapter fails if `GROUP BY` is followed by `ORDER BY` +* [CALCITE-5093] Quantified comparison operators (e.g. `ANY`) should support `ARRAY` arguments +* [CALCITE-5132] Scalar `IN` subquery returns `UNKNOWN` instead of `FALSE` when key is partially `NULL` +* [CALCITE-5223] `AdjustProjectForCountAggregateRule` throws `ArrayIndexOutOfBoundsException` +* [CALCITE-5390] `RelDecorrelator` throws `NullPointerException` +* [CALCITE-5465] Rule of `AGGREGATE_EXPAND_DISTINCT_AGGREGATES` produces an incorrect plan when SQL has distinct agg-call with `ROLLUP` +* [CALCITE-5597] `SqlToRelConverter` generates wrong plan for `SELECT DISTINCT` query with `ORDER BY` +* [CALCITE-5832] `CyclicMetadataException` thrown in complex `JOIN` +* [CALCITE-6176] `JOIN_SUB_QUERY_TO_CORRELATE` rule incorrectly handles `EXISTS` in `LEFT JOIN ON` clause +* [CALCITE-6291] Support converting `ArrowTable` to `Queryable` +* [CALCITE-6298] Support `UNION` in Arrow adapter +* [CALCITE-6300] Function `MAP_VALUES/MAP_KEYS` gives exception when `mapValueType` and `mapKeyType` not equals map Biggest mapKeytype or mapValueType +* [CALCITE-6636] Support CNF condition in Arrow adapter +* [CALCITE-6646] Support `TIMESTAMP` data type in Arrow adapter +* [CALCITE-6681] `NullPointerException` in `ProjectCorrelateTransposeRule` +* [CALCITE-6757] Elasticsearch adapter returns wrong result when aggregating sub-query with aggregation +* [CALCITE-6829] `MSSQL` dialect incorrectly translates of `SELECT TRUE` +* [CALCITE-6942] Decorrelate sub-queries with `LIMIT 1` and `OFFSET` +* [CALCITE-6963] `SqlToRelConverter` fails when subquery is in join on clause +* [CALCITE-6968] `SqlUpdate#getOperandList` omits sourceSelect operand +* [CALCITE-7057] `NPE` when decorrelating query containing nested correlated subqueries +* [CALCITE-7085] `JOIN USING` with unqualified common column fails in a conformance where `allowQualifyingCommonColumn` is false (e.g. Oracle, Presto) +* [CALCITE-7087] SQLite does not support `RIGHT/FULL JOIN` until version 3.39.0 +* [CALCITE-7145] `RexSimplify` should not simplify `IS NULL(10/0)` +* [CALCITE-7187] Java UDF byte arrays cannot be mapped to `VARBINARY` +* [CALCITE-7196] Create an optimization pass which can convert some cases of `Correlate` + `Unnest` to `Unnest` +* [CALCITE-7207] Semi Join `RelNode` cannot be translated into correct `MySQL` SQL +* [CALCITE-7208] Allow downstream projects implement `CREATE OR ALTER` +* [CALCITE-7251] `SEARCH` and `WINDOW` calls should carry source position information +* [CALCITE-7254] Add rule for sharing trivially equivalent RelNodes within Combine +* [CALCITE-7256] Make the fields of `SqlTableRef` public +* [CALCITE-7257] Subqueries cannot be decorrelated if join condition contains `RexFieldAccess` +* [CALCITE-7258] `RelBuilder.filter` should throw if the condition is not `BOOLEAN` +* [CALCITE-7266] Optimize the "well-known count bug" correction +* [CALCITE-7268] `SqlToRelConverter` throws exception if lambda contains `IN` +* [CALCITE-7272] Subqueries cannot be decorrelated if have set op +* [CALCITE-7273] `CoreRules.JOIN_REDUCE_EXPRESSIONS` throws when applied to an `ASOF JOIN` +* [CALCITE-7274] `RexFieldAccess` has wrong index when use trim unused fields +* [CALCITE-7276] `SqlToRelConverter` throws exception for `UPDATE` if identifier expansion disabled +* [CALCITE-7279] `ClickHouse` dialect should wrap nested joins with explicit column aliases +* [CALCITE-7281] Deprecate `NullPolicy.ANY` in favor of `NullPolicy.SEMI_STRICT` +* [CALCITE-7287] In `simplifyLike`, the `makeLiteral` call does not preserve the `RelDataType` +* [CALCITE-7289] `SELECT NULL` sub-query throwing exception +* [CALCITE-7291] Verify that the same exception is thrown for the original and simplified expression in `RexSimplify#verify` +* [CALCITE-7293] `MAP` constructor cannot handle `VARIANT` values that need casts +* [CALCITE-7296] `RexSimplify` should not simplify `IS NULL(CAST(10/0 AS BIGINT))` +* [CALCITE-7297] The result is incorrect when the `GROUP BY` key in a subquery is a `RexFieldAccess` +* [CALCITE-7302] Infinite loop with `JoinPushTransitivePredicatesRule` +* [CALCITE-7303] Sub-queries cannot be decorrelated if filter condition have multi `CorrelationId` +* [CALCITE-7305] Subqueries in `ASOF JOIN MATCH_CONDITION` cause an assertion failure +* [CALCITE-7309] Position is unparsed incorrectly for `ClickHouseSqlDialect` +* [CALCITE-7312] Alias is not auto generated for `LATERAL TABLE` +* [CALCITE-7315] Support `LEFT_MARK` type for hash join in enumerable convention +* [CALCITE-7316] The `POSITION` function in SQLite is missing the `FROM` clause +* [CALCITE-7317] `SubQueryRemoveRule` should skip NULL-safety checks for `IN` subqueries when both the keys and the subquery columns are `NOT NULL` +* [CALCITE-7318] Execution fails when the `JOIN ON` condition contains references to columns from both the left and right sides +* [CALCITE-7319] `FILTER_INTO_JOIN` rule loses correlation variable context in HepPlanner +* [CALCITE-7319] `FILTER_INTO_JOIN` rule loses correlation variable context in HepPlanner +* [CALCITE-7320] `AggregateProjectMergeRule` throws `AssertionError` when `Project` maps multiple grouping keys to the same field +* [CALCITE-7321] `FilesTableFunction` throws `NumberFormatException` on macOS with GNU stat installed +* [CALCITE-7322] The `POSITION` function in `MySQL` is missing the `FROM` clause +* [CALCITE-7323] Result of cast `Number` to `Boolean` is not correct +* [CALCITE-7325] Incorrect `VARIANT` signatures in `SqlItemOperator` +* [CALCITE-7326] `FILTER_CORRELATE` rule loses correlation variable context in HepPlanner +* [CALCITE-7327] Support `IS NOT DISTINCT FROM` as equi condition of hash join +* [CALCITE-7330] `AggregateCaseToFilterRule` should not be applied on aggregate functions that don't skip `NULL` inputs +* [CALCITE-7331] Support the alias form `SELECT * EXCEPT` for `SELECT * EXCLUDE` +* [CALCITE-7332] `SELECT * EXCLUDE` list should error when it excludes all columns +* [CALCITE-7335] `RelToSqlConverter` generate sql containing Scala sub-queries includes redundant parentheses +* [CALCITE-7336] `RelFieldTrimmer` generates an incorrect plan when handling correlated sub-query within `Filter` or `Join` condition +* [CALCITE-7338] Window hints are not propagated to window rel nodes +* [CALCITE-7339] Most classes in `SqlDdlNodes` use an incorrect `SqlCallFactory` +* [CALCITE-7343] `RelToSqlConverter` generate wrong SQL when scalar correlated sub-query in `Project` +* [CALCITE-7346] Prevent overflow in metadata row-count when `LIMIT/OFFSET` literal exceeds `Long` range +* [CALCITE-7347] `UNKNOWN` type inferred for array element type +* [CALCITE-7348] Remove redundant extraction correlation variables when Trim `Project` fields +* [CALCITE-7349] Upgrade the types of `FETCH` and `OFFSET` in `Sort` to `BigDecimal` +* [CALCITE-7350] Missing `allowEmptyOutputFromRewrite` parameter in `TopDownGeneralDecorrelator.unnestInternal` +* [CALCITE-7352] Incorrect `SqlLibrary` enum value used in ClickHouse SQL test +* [CALCITE-7355] `RelToSqlConverter` throws exception when the join condition contains a correlated subquery +* [CALCITE-7356] The `MARK JOIN` generated by `TopDownGeneralDecorrelator` needs to be adapted to `RelFieldTrimmer` +* [CALCITE-7357] Add runtime implementation for `IS DISTINCT FROM` operator +* [CALCITE-7358] Casts involving `MAP` and `ROW` types cause compile-time exceptions +* [CALCITE-7359] Incorrect result for array comparison with `ANY` operator +* [CALCITE-7360] The meaning of negation for unsigned numbers is not defined +* [CALCITE-7363] Improve error message for `ASOF JOIN` +* [CALCITE-7365] `RelMdRowCount` ignores `estimateRowCoun` overrides in `SingleRel` subclasses +* [CALCITE-7366] `AssertionError` in `RexLiteral.valueMatchesType` for `CAST` to `MAP` type +* [CALCITE-7367] `NULLS FIRST` throws `ClassCastException` when sorting arrays +* [CALCITE-7368] Validator accepts `CAST(INT TO BINARY)`, but the runtime does not implement them +* [CALCITE-7369] `ProjectToWindowRule` loses column alias when optimizing `OVER` window queries +* [CALCITE-7370] Trailing dot is not removed when normalizing timestamp strings +* [CALCITE-7372] `TopDownGeneralDecorrelator` generates invalid SQL when the JOIN condition has correlation +* [CALCITE-7373] `FILTER_INTO_JOIN` should not push `Filter` into a `Join` when the `Filter` contains non-deterministic function +* [CALCITE-7374] `NULLS LAST` throws `ClassCastException` when sorting arrays +* [CALCITE-7375] `ProjectWindowTransposeRule` does not correctly adjust column indices in window bounds +* [CALCITE-7377] Validator should reject a `DESCRIPTOR` in a table function when it is not an identifier +* [CALCITE-7378] `RelToSqlConverter` generates incorrect column reference when `hasImplicitTableAlias` is true +* [CALCITE-7379] LHS correlated variables are shadowed by nullable RHS outputs in `LEFT JOIN` +* [CALCITE-7382] Wrong results when using `TopDownGeneralDecorrelator` with `LIMIT 1` sub-query +* [CALCITE-7385] Support `LEFT_MARK` type for nested loop join in enumerable convention +* [CALCITE-7386] Wrong results after decorrelating query with `MEASURE` +* [CALCITE-7388] Redis Adapter operand config should not support empty string +* [CALCITE-7389] `PruneJoinSingleValue` rule causes type mismatch in `EXISTS` +* [CALCITE-7391] `AssertionError` when applying `FILTER_REDUCE_EXPRESSIONS` on expression `WHERE 123 IN (SELECT NULL FROM emps)` +* [CALCITE-7392] Unable to implement `EnumerableCollect` for SQL queries with `UNNEST` +* [CALCITE-7393] Use `RelDataTypeDigest` in composite types to improve memory footprint and computational latency +* [CALCITE-7394] Nested sub-query with multiple levels of correlation returns incorrect results +* [CALCITE-7395] `ProjectMergeRule` incorrectly merges projects with correlation variables +* [CALCITE-7396] `PruneEmptyRules` does not support `LEFT_MARK JOIN` +* [CALCITE-7397] `AssertionError` in simplifying join condition when creating `LEFT MARK JOIN` +* [CALCITE-7398] Incorrect int `CAST` in `VariantNonNull#cast` for `BIGINT` +* [CALCITE-7400] `PruneJoinSingleValue` rule causes type mismatch in `IN` +* [CALCITE-7401] Multi-level correlated subqueries cause an out-of-range error in the `TopDownGeneralDecorrelator` +* [CALCITE-7402] `AssertionError` type mismatch when using `TopDownGeneralDecorrelator` with nested correlated sub-query +* [CALCITE-7403] Missing `ENUMERABLE` Convention for `LogicalConditionalCorrelate` +* [CALCITE-7404] Syntax error in MongoDB adapter due to incorrect field alias +* [CALCITE-7408] `URL_ENCODE/URL_DECODE` is unparsed incorrectly for `ClickHouseSqlDialect` +* [CALCITE-7409] Merge `JOIN` condition cannot contain `IS NOT DISTINCT FROM` +* [CALCITE-7410] `TIMESTAMP` type for `TUMBLE` and `HOP` is hardwired to `TIMESTAMP(3)` +* [CALCITE-7411] When a `SCALAR_QUERY` in `PROJECT` contains correlated variables execution fails using `TopDownGeneralDecorrelator` +* [CALCITE-7412] Redis test failed on higher versions of macOS +* [CALCITE-7414] Incorrect mapping of `CorDef` after decorrelating a `Join` in `TopDownGeneralDecorrelator` +* [CALCITE-7415] `CalciteCatalogReader.lookupOperatorOverloads` keeps original function identifier casing instead of resolved schema-path casing +* [CALCITE-7416] Add `firedRulesCache` for `HepPlanner` +* [CALCITE-7417] Add a large plan benchmark for `HepPlanner` +* [CALCITE-7418] `SqlOverlapsOperator` does not reject some illegal comparisons (e.g., `TIME` vs `DATE`) +* [CALCITE-7423] `Setop` subquery without correlated variables triggers `NullPointerException` during decorrelation +* [CALCITE-7425] Correct the logical inverse of `SqlBetweenOperator` +* [CALCITE-7427] Query with `ORDER BY NULL` throws `NoSuchMethodException: compareNullsLast` +* [CALCITE-7429] Unable to implement `EnumerableMinus` for SQL queries with `EXCEPT` +* [CALCITE-7431] `RelTraitSet#getTrait` mishandles `RelCompositeTrait` +* [CALCITE-7432] `NumberFormatException` when convert `NaN` literal to SQL +* [CALCITE-7433] Invalid unparse for `CAST` to `MAP` type in Spark +* [CALCITE-7434] `AssertionError` in new decorrelation algorithm caused by `FilterJoinRule` omitting `variablesSet` +* [CALCITE-7435] Window functions should allow `ORDER BY` fields of type `INTERVAL` +* [CALCITE-7437] Type coercion for quantifier operators is incomplete +* [CALCITE-7441] `AggregateFilterToFilteredAggregateRule` fails when `WHERE` condition is nullable +* [CALCITE-7442] Correlated variable has wrong index inside subquery +* [CALCITE-7443] Incorrect simplification for large interval +* [CALCITE-7447] `RelRoot.project` adds `Project` for DDL nodes +* [CALCITE-7450] `ValuesReduceRule` incorrectly drops tuples when filter condition is irreducible +* [CALCITE-7456] Enable the `TRY_CAST` function to support the MSSQL dialect +* [CALCITE-7457] `VALUES` and `SELECT` produce different validation results for the same expression +* [CALCITE-7461] Add `@Strict` to `ByteArrayFunction` and `ByteArrayLengthFunction` +* [CALCITE-7465] Make `MATCH_RECOGNIZE` tolerant to `FINAL` and `RUNNING` non function `MEASURES` +* [CALCITE-7466] Unparse of `MATCH_RECOGNIZE` produces duplicate aliases +* [CALCITE-7467] `MATCH_RECOGNIZE` does not support aliases for tableRef +* [CALCITE-7468] The `SPLIT_PART` implementation is incorrect for regex patterns +* [CALCITE-7470] Unparse of `DEFINE` in `MATCH_RECOGNIZE` leads to incorrect SQL +* [CALCITE-7471] Alias is not auto generated for `MATCH_RECOGNIZE` +* [CALCITE-7472] Arrow adapter should support `LIKE` operator push down +* [CALCITE-7474] `LAST` in `MATCH_RECOGNIZE` might return wrong result +* [CALCITE-7475] Babel parser allows postfix access after PostgreSQL-style `::` infix cast +* [CALCITE-7477] Push schema pattern filter into sub-schema map lookup to avoid loading all schemas +* [CALCITE-7479] Remove redundant aggregate group keys with FD +* [CALCITE-7480] Unparse of `MATCH_RECOGNIZE` with `PARTITION BY` or `ORDER BY` produces invalid SQL +* [CALCITE-7482] Wrong variablesSet used when rewriting subquery in `JOIN ON` clause +* [CALCITE-7483] `RelToSqlConverter` generates `SELECT *` despite `supportGenerateSelectStar` +* [CALCITE-7484] Add a rule to eliminate redundant aggregates functions over `GROUP BY` keys +* [CALCITE-7485] `FIRST_VALUE/LAST_VALUE` should only be defined for window aggregates +* [CALCITE-7486] Operators in `MATCH_RECOGNIZE` don't support `SqlLiterals` +* [CALCITE-7490] `PruneEmptyRules` is ineffective for window statements +* [CALCITE-7491] Literals of type `TIMESTAMP WITH TIME ZONE` cause crashes +* [CALCITE-7496] OS-adapter usability +* [CALCITE-7497] Support constant folding in Lambda expressions +* [CALCITE-7499] `COALESCE` with args of different types might be incorrectly simplified +* [CALCITE-7501] `AssertionError` in alias expansion for `LEFT JOIN USING` +* [CALCITE-7502] `RelToSqlConverter` creates invalid sql when converting nested window contains `SqlCaseWhen` +* [CALCITE-7503] Hint validation does not have access to source position +* [CALCITE-7504] Use lazy logging in Hypergraph code +* [CALCITE-7506] `RelWriterImpl` does not output hints +* [CALCITE-7522] Allow `EXTRACT(interval FROM tz)` to operate on `TIMESTAMP WITH TIME ZONE` +* [CALCITE-7524] `JdbcSchema` throws exception for `DECIMAL` columns with precision 0 in JDBC metadata +* [CALCITE-7526] Incorrect `TIMESTAMP WITH TIME ZONE` produces wrong error message +* [CALCITE-7527] `SqlParserUtil.parseTimestampTzLiteral` does not validate timezone +* [CALCITE-7530] `FOR SYSTEM_TIME AS OF` on CTE causes NPE while validation +* [CALCITE-7531] Add to `BasicSqlType` constructor accepting precision, scale and nullability +* [CALCITE-7533] Parser rejects parenthesized query as the body of a `WITH` clause +* [CALCITE-7537] Invalid Postgres SQL generated for right-deep comma join trees +* Add debug log for query plan after decorrelation completion +* Carry source position information through more code rewrites +* Make SqlValidatorImpl#maybeCast protected to allow using it by child classes + #### Build and test suite {: #build-1-42-0} +* [CALCITE-4947] Checkstyle fails on classes generated by Intellij when using option "build and run [tests] using Intellij IDEA" +* [CALCITE-7020] Upgrade gradle from 8.7 to 8.14.4 +* [CALCITE-7261] `DiffRepository` generation xml does not respect alphabetical order +* [CALCITE-7265] Allow `RelOptFixture.relFn` to be used with VolcanoPlanner +* [CALCITE-7292] Replace `case when true then deptno else null end` with a non-simplifiable expression in RelOptRulesTest +* [CALCITE-7342] Quidem test support for `TopDownGeneralDecorrelator` +* [CALCITE-7345] Quidem test support for `Field Trimmer` +* [CALCITE-7381] Parameters modified by `!set` must be restored to their default values in Quidem test +* [CALCITE-7424] In Lint, support sort specifications +* [CALCITE-7426] Add a PR submission template to Calcite +* [CALCITE-7473] Better IntelliJ and VSCode .gitignore +* [CALCITE-7481] Support jdk24 in CI +* [CALCITE-7507] NPE in `ReleaseExtension.` when building from sources +* Add sub-query, some, misc, scalar iq files in `CoreQuidemTest2` +* Move ExpandDisjunctionForJoinInputsRule test from planner.iq to hep.iq +* Replace `replace` with `toLinux` in `RelMetadataTest` +* Test cases for: + * [CALCITE-2359] Inconsistent behavior when casting interval literals to integer + * [CALCITE-3366] `RelDecorrelator` supports `Union` + * [CALCITE-4232] Elasticsearch `IN` Query is not supported + * [CALCITE-5124] `LIMIT` won't work when `GROUP BY` two or more columns in Elasticsearch Adapter + * [CALCITE-5161] `NPE` when inserting a null value into a decimal column + * [CALCITE-5578] RelOptRulesTest testAggregateCaseToFilter optimized plan not semantically equivalent to the original one after conversion + * [CALCITE-6282] Avatica ignores time precision when returning TIME results + * [CALCITE-6299] Support `JOIN` in Arrow adapter + * [CALCITE-6452] Scalar sub-query that uses `IS NOT DISTINCT FROM` returns incorrect result + * [CALCITE-6985] Add rule to transform `MIN/MAX` with `ORDER BY` and `LIMIT 1` + * `SetOpToFilterRule` to verify that PROJECT containing non-deterministic expressions and subqueries are not merged + #### Web site and documentation {: #site-1-42-0} + +* Document how PMC members add JIRA users to project roles +* Add Feldera to 'powered by Calcite' page +* Site: Add Zhen Chen as PMC +* Site: Add Weihua Zhang as committer +* Site: Add Thomas Rebele as committer +* Site: Add Yu Xu as committer +* Site: Add Silun Dong as committer +* Site: Update Ruben QL info +* Bump addressable from 2.8.7 to 2.9.0 in /site +* Bump nokogiri from 1.18.9 to 1.19.3 in /site + --> ## 1.41.0 / 2025-11-01 diff --git a/site/_docs/howto.md b/site/_docs/howto.md index 6c66d40ccbf7..b3e61a7cf153 100644 --- a/site/_docs/howto.md +++ b/site/_docs/howto.md @@ -39,8 +39,8 @@ Unpack the source distribution `.tar.gz` file, then build using Gradle: {% highlight bash %} -$ tar xvfz apache-calcite-1.41.0-src.tar.gz -$ cd apache-calcite-1.41.0-src +$ tar xvfz apache-calcite-1.42.0-src.tar.gz +$ cd apache-calcite-1.42.0-src $ gradle build {% endhighlight %}