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
NullPointerException
to 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 thetrimmingText
argument 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
NULL
values 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
SELECT
statements withWHERE
clause havingprimary keys
underNOT
predicate to return invalid results.Fixed an issue that caused
SELECT
statements withWHERE
clause havingNOT
predicate whose argument consists ofNULLABLE
scalar functions withNULL
argument that could evaluate toNULL
to return invalid results. An exampleSELECT * FROM t WHERE (col % NULL) != 1;
A
NULLABLE
function in this context means a function returningNULL
if and only if the input is aNULL
.Fixed a race condition that could lead to
ShardCollectContext already added
errors 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 ontbl
will now look for:table
a.tbl
view
a.tbl
table
b.tbl
view
b.tbl
Instead of:
table
a.tbl
table
b.tbl
view
a.tbl
view
b.tbl