Version 5.6.3¶
Released on 2024-03-22.
Note
If you are upgrading a cluster, you must be running CrateDB 4.0.2 or higher before you upgrade to 5.6.3.
We recommend that you upgrade to the latest 5.5 release before moving to 5.6.3.
A rolling upgrade from 5.5.x to 5.6.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.6.0 release notes for a full list of changes in the 5.6 series.
Fixes¶
Fixed an issue in filter-push-down for joins which prevented constant join conditions to be pushed-down in hash-joins.
Fixed an issue that could cause
SELECTstatements on virtual tables or views and aWHEREclause to run with an expensive execution plan and not utilize the table’s indices due to themerge_filter_and_collectoptimizer rule not being applied.Fixed an issue that could cause
SELECTstatements to ignore aWHEREclause if it involved views or virtual tables, and unused columns containing a window function.Fixed an issue that could cause
SHOW CREATE TABLEon a missing table to mention similarly named tables, despite the user not having any permissions on those tables.Fixed an issue that caused wrong results to be returned for queries for which the
WHEREclause includes a PK column and a non-PK column under anORoperator, e.g.:SELECT * FROM tbl WHERE pk_col = 1 OR other_col = 'foo'
Fixed several issues with PostgreSQL style INTERVALS:
Duplicate definitions now raise an error:
SELECT '1 year 2 years'::INTERVAL
Units next to values are now supported without whitespace separation:
SELECT '1year 3day'::INTERVAL
Weeks were ignored if days were also present in the string:
SELECT '2 weeks 3 days'::INTERVAL
Made the parsing of the interval units strict. Before using units like
yearrrwas allowed, now it raises an error.Made the interval units case-insensitive. The following used to raise an error:
SELECT '2 WEEKS'::INTERVAL
Fixed an issue that caused
CrateDBto fail to notify client applications connecting via PostgreSQL Wire Protocol that standard_conforming_strings is set toonwhich caused the clients to treat all query strings as non standard conforming.Fixed
NullPointerExceptionthrown when joining tables withUSINGclause which contains columns not existing in either or both tables.Fixed an issue that caused an inner join with a
WHEREclause containing aCASEexpression to return invalid results.Fixed an issue that caused an inner join query to throw an
UnsupportedFeatureExceptionwhen the join condition contains columns from more than one table and theWHEREclause contains an expression better suited as the join condition e.g.:SELECT * FROM t1 INNER JOIN t2 ON (t1.a = t2.b + t1.a) WHERE t1.a = t2.b + 1