Version 5.6.2¶
Released on 2024-02-15.
Note
If you are upgrading a cluster, you must be running CrateDB 4.0.2 or higher before you upgrade to 5.6.2.
We recommend that you upgrade to the latest 5.5 release before moving to 5.6.2.
A rolling upgrade from 5.5.x to 5.6.2 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.6.0 release notes for a full list of changes in the 5.6 series.
Fixes¶
Fixed an issue that would cause no results being returned when filtering on a PRIMARY KEY column, wrapped with a CAST, e.g.:
CREATE TABLE tbl(a INTEGER, PRIMARY KEY(a), b INTEGER); INSERT INTO tbl(a) VALUES (1, 11); REFRESH TABLE tbl; SELECT * FROM tbl WHERE CAST(t.a AS BOOLEAN)= true;
Same issue, previously, would cause no rows to be updated or deleted, e.g.
UPDATE tbl SET b = b + 1 WHERE CAST(t.a AS BOOLEAN)= true; DELETE FROM tbl WHERE CAST(t.a AS BOOLEAN)= true;
Fixed an issue that can cause errors during a rolling upgrade to >= Version 5.6.0 if one of the following command is executed on relations with existing privileges:
These commands are now rejected until all nodes are upgraded.
Fixed an issue that caused
NullPointerExceptionto be thrown when attempting to rename a table on cluster which has been upgraded from versions < Version 5.6.0 to a version >= Version 5.6.0, and there were users and privileges defined.Fixed trim, ltrim, rtrim, and btrim scalar functions to return
NULL, instead of the original string, when thetrimmingTextargument isNULL, complying with PostgreSQL behaviour for these functions.Fixed a regression introduced in 5.6.0 that caused concat_ws returning the wrong result when used on a column with
NULLvalues in the WHERE-clause combined with a NOT-predicate. An example:SELECT * FROM t1 WHERE NOT CONCAT_WS(true, column_with_null_value, false);
Fixed a bug (present since at least Version 5.2.0) where columns cast to a numeric type with a non-default precision could return the unscaled value in a multi-node cluster
Fixed an issue that caused
SELECTstatements withWHEREclause havingprimary keysunderNOTpredicate to return invalid results.Fixed an issue that caused
SELECTstatements withWHEREclause havingNOTpredicate whose argument consists ofNULLABLEscalar functions withNULLargument that could evaluate toNULLto return invalid results. An exampleSELECT * FROM t WHERE (col % NULL) != 1;
A
NULLABLEfunction in this context means a function returningNULLif and only if the input is aNULL.Fixed a race condition that could lead to
ShardCollectContext already addederrors when making a query after a table had been idle without any accesses for a while.Fixed an issue when resolving relations. When resolving an unqualified name (no explicit schema), it first exhausted the search path looking for tables before moving on to views. Now it will correctly look for both table and view in each element of the search path before moving onto the next.
For example, with a search path set to
a, b, a query ontblwill now look for:table
a.tblview
a.tbltable
b.tblview
b.tbl
Instead of:
table
a.tbltable
b.tblview
a.tblview
b.tbl