Version 5.5.3¶
Released on 2024-01-17.
Note
If you are upgrading a cluster, you must be running CrateDB 4.0.2 or higher before you upgrade to 5.5.3.
We recommend that you upgrade to the latest 5.4 release before moving to 5.5.3.
A rolling upgrade from 5.4.x to 5.5.3 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 led to no results being returned when trying to filter on a PRIMARY KEY column with an implicit cast. For example:
CREATE TABLE tbl(a string PRIMARY KEY); SELECT * FROM tbl WHERE a = 10;
Rejected renaming of views and tables if the target table or view already exists, and return an error message. Previously, such a rename was allowed which caused the existing view or table to be lost.
Fixed a regression introduced in 4.2.0 that caused queries with
UNNEST
with a single nested array as parameter to fail with aClassCastException
. For example:SELECT x FROM unnest([[1, 2], [3]]) as t (x);
Fixed an issue that could cause subscript expressions to raise a
ColumnUnknownException
error despite the object having a defined schema. An example case where this happened is:CREATE TABLE tbl (obj ARRAY(OBJECT(STRICT) AS (x INT))); INSERT INTO tbl VALUES ([{}]); SELECT unnest(obj)['x'] FROM tbl;
There were two workarounds for this:
Using
SELECT unnest(obj['x']) FROM tbl
Disable errors on unknown object keys via
set error_on_unknown_object_key = false;
Fixed a regression introduced in 5.5.0 which caused subscript expressions on object arrays to fail in some cases. For example, the following case failed with a
ClassCastException
:CREATE TABLE tbl (obj ARRAY(OBJECT(STRICT) AS (x BIGINT))); INSERT INTO tbl VALUES ([{x = 1}]); SELECT unnest(obj)['x'] FROM tbl;
Fixed an issue that caused
UPDATE
andDELETE
statements to match records if theWHERE
clause contained an equality condition on all primary keys, and it included an additional clause in anAND
that should have evaluated toFALSE
.Fixed a regression introduced in 5.3.0 that caused storing an object as
NULL
if object had generated sub-columns and the object column wasn’t part of theINSERT
targets. An object with generated sub-columns is stored now.Fixed a regression introduced in 5.3.0 that caused failure for
INSERT
statements if a target table had 1 or more replicas, an object column with non-deterministic generated or default sub-column and the object column wasn’t part of theINSERT
targets.Fixed a performance regression introduced in 5.5.0 for aggregations on columns with the column store disabled.
Fixed a regression introduced in 5.3.0 that caused replication failure leading to an unstable cluster when
INSERT... ON CONFLICT... UPDATE SET
was run on a table with non-deterministic column and some of table’s columns weren’t part of theINSERT
targets. An example case where this happened is:CREATE TABLE tbl ( id INT PRIMARY KEY, a INT, b TEXT, modification_date TIMESTAMP AS current_timestamp ) INSERT INTO tbl (id, a) VALUES (1, 2) ON CONFLICT (id) DO UPDATE SET a = 3;
Fixed an issue that caused joins with the join conditions that referred to columns from a single table only from returning invalid results. i.e.:
SELECT * FROM t1 INNER JOIN t2 ON t1.col = t1.col;