Version 5.7.0

Released on 2024-04-05.

Note

If you are upgrading a cluster, you must be running CrateDB 4.0.2 or higher before you upgrade to 5.7.0.

We recommend that you upgrade to the latest 5.6 release before moving to 5.7.0.

A rolling upgrade from 5.6.x to 5.7.0 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

Breaking Changes

  • Added CURRENT_ROLE as a reserved keyword. If you have a column or table named CURRENT_ROLE, you must escape it using double quotes.

  • Changed exp(number) to always return double type for its result, independently of the input type.

Changes

SQL Standard and PostgreSQL Compatibility

Data Types

  • Added support for nested arrays in CREATE TABLE statements

Scalar and Aggregation Functions

  • Removed the -1 to 1 value constraint from atan(number).

  • Added the reverse(text) scalar function.

  • rebdiaz added support for lower case yyyy format string to to_char scalar function, which behaves exactly the same as uppercase YYYY to match PostgreSQL behaviour.

Performance and Resilience Improvements

  • Improved the performance for hash-joins when there is a large imbalance between the size of the tables with a lookup-join optimization. This optimization can be disabled if desired, with the session setting:

    SET optimizer_equi_join_to_lookup_join = false
    

    Note that this setting is experimental, and may change in the future.

  • Improved the performance of the ANALYZE statement. CrateDB now uses much less memory when collecting column statistics.

Administration and Operations