Skip to content

Latest commit

 

History

History
268 lines (179 loc) · 9.88 KB

4.1.0.rst

File metadata and controls

268 lines (179 loc) · 9.88 KB

Version 4.1.0

Released on 2020/01/15.

Note

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

We recommend that you upgrade to the latest 4.0 release before moving to 4.1.0.

A rolling upgrade to 4.1.0 from 4.0.2+ is supported.

Before upgrading, you should back up your data.

Table of Contents

  • Changed :ref:`arithmetic operations <arithmetic>` *, +, and - of types integer and bigint to throw an exception instead of rolling over from positive to negative or the other way around.

  • Remap CrateDB :ref:`data-types-objects` array data type from the PostgreSQL JSON to JSON array type. That might effect some drivers that use the PostgreSQL wire protocol to insert data into tables with object array typed columns. For instance, when using the Npgsql driver, it is not longer possible to insert an array of objects into a column of the object array data type by using the parameter of a SQL statement that has the JSON data type and an array of CLR as its value. Instead, use a string array with JSON strings that represent the objects. See the Npgsql documentation for more details.

  • Changed how columns of type :ref:`data-types-geo` are being communicated to PostgreSQL clients.

    Before, clients were told that those columns are double arrays. Now, they are correctly mapped to the PostgreSQL point type. This means that applications using clients like JDBC will have to be adapted to use PgPoint. (See Geometric DataTypes in JDBC)

  • Changed the behavior of unnest to fully unnest multi dimensional arrays to their innermost type to be compatible with PostgreSQL.

  • Changed the default for :ref:`sql-create-table-write-wait-for-active-shards` from ALL to 1. This update improves the out of the box experience by allowing a subset of nodes to become unavailable without blocking write operations. See the documentation linked above for more details about the implications.
  • Added phonetic token filter with following encoders: metaphone, double_metaphone, soundex, refined_soundex, caverphone1, caverphone2, cologne, nysiis, koelnerphonetik, haasephonetik, beider_morse, and daitch_mokotoff.
  • Removed a restriction for predicates in the WHERE clause involving :ref:`partitioned columns <gloss-partitioned-column>`, which could result in a failure response with the message: logical conjunction of the conditions in the WHERE clause which involve partitioned columns led to a query that can't be executed.
  • Support implicit object creation in update statements. For example, UPDATE t SET obj['x'] = 10 will now implicitly set obj to {obj: {x: 10}} on rows where obj was null.
  • Added the :ref:`sql-create-table-codec` parameter to :ref:`sql-create-table` to control the compression algorithm used to store data.
  • The node argument of the :ref:`REROUTE <sql-alter-table-reroute>` commands of :ref:`sql-alter-table` can now either be the ID or the name of a node.
  • Added support for the PostgreSQL array string literal notation.