Version 5.5.1¶
Released on 2023-11-30.
Note
If you are upgrading a cluster, you must be running CrateDB 4.0.2 or higher before you upgrade to 5.5.1.
We recommend that you upgrade to the latest 5.4 release before moving to 5.5.1.
A rolling upgrade from 5.4.x to 5.5.1 is supported. Before upgrading, you should back up your data.
Warning
Tables that were created before CrateDB 4.x will not function with 5.x and must be recreated before moving to 5.x.x.
You can recreate tables using COPY TO
and COPY FROM
or by
inserting the data into a new table.
Table of contents
See the Version 5.5.0 release notes for a full list of changes in the 5.5 series.
Fixes¶
Fixed an issue that caused queries with a
NOT
expression in theWHERE
clause to fail evaluatingNULL
correctly.Fixed an issue that caused the value for generated primary key columns to evaluate to
NULL
inINSERT INTO .. ON CONFLICT
statements if the column wasn’t part of the target column list.Creating a table that uses a table-function as part of a default expression or generated expression now results in an error on table creation, instead of never inserting records due to runtime failures.
Improved the error message when using
COPY FROM
withwait_for_completion=false
andRETURN SUMMARY
. It now reports that the combination is not supported instead of running into aClassCastException
.Fixed an issue that caused queries with a
NOT (a AND b)
expression in theWHERE
clause to not evaluate correctly withNULL
values.Fixed an issue that caused queries with a
NOT
or!=
on aCASE
expression containing a nullable column to excludeNULL
entries.Re-added
jcmd
to the bundled JDK distribution.Return meaningful error when trying to drop a column which itself or its sub-columns participates in a table level constraint with other columns. For example, we cannot drop column
col_to_drop
from the following tables:CREATE TABLE t1 (i int, col_to_drop int, CHECK (col_to_drop + i > 0)) CREATE TABLE t2 (i int, col_to_drop object AS (subcol_a int), CHECK (col_to_drop['subcol_a'] + i > 0))
Fixed an issue that caused a
ColumnUnknownException
to be thrown when attempting to drop a column with a CHECK. All relevant constraints are dropped together with the column.Fixed an issue that caused the hash-join operator generate invalid hashes which lead to a broken join operation when there were more than two relations involved e.g.:
SELECT * FROM t1, t2, t3 WHERE t3.c = t1.a AND t3.c = t2.b AND t1.a = t2.b;
would generate the logical plan:
HashJoin[(t3.c = t2.b AND t1.a = t2.b)] ├ HashJoin[(t3.c = t1.a)] │ ├ Collect[doc.t3 | [c] | true] │ └ Collect[doc.t1 | [a] | true] └ Collect[doc.t2 | [b] | true]
The hash-symbol generation for the join t3.c = t2.b AND t1.a = t2.b was broken and would not join the data.
Fixed a regression introduced in 5.5.0 that caused the loss of filter conditions in nested-joins when the query was optimized by the rule
optimizer_move_filter_beneath_join
.Fixed a regression introduced in 5.5.0 that caused empty string to be accepted as a valid column name while table creation.