.. _version_4.2.4:

=============
Version 4.2.4
=============

Released on 2020-08-26.

.. NOTE::

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

    We recommend that you upgrade to the latest 4.1 release before moving to
    4.2.4.

    A rolling upgrade from 4.1.7+ to 4.2.4 is supported.

    Before upgrading, you should `back up your data`_.

.. _back up your data: https://crate.io/docs/crate/reference/en/latest/admin/snapshots.html

.. rubric:: Table of Contents

.. contents::
   :local:

See the :ref:`version_4.2.0` release notes for a full list of changes in the
4.2 series.


Fixes
=====

- Fixed a performance regression that caused ``SELECT`` statements on tables
  with generated :ref:`partition columns <gloss-partition-column>` and a
  predicate that uses a column used to compute the partition column to hit all
  partitions instead of only a subset.

- Fixed an issue that could lead to a ``IndexOutOfBoundsException`` when using
  virtual tables and joins.

- Fixed an issue that declared the rule optimizer settings as global. The
  settings are now session local.

- Fixed an issue that prevented the ``MATCH`` predicate from working in mixed
  clusters running 4.1.8 and 4.2.

- Fixed an issue that prevented :ref:`user-defined functions
  <user-defined-functions>` in a custom schema from working if used in a
  :ref:`generated column expression <ddl-generated-columns-expressions>`.

- Fixed an issue that allowed users to use a :ref:`function <gloss-function>`
  in a generated column that didn't fully match the given arguments, leading to
  a subsequent runtime failure when trying to access tables.

- Fixed exposure of the full qualified name of a sub-script column in
  ``information_schema.tables.partitioned_by`` and
  ``pg_catalog.pg_attribute.attname`` to use the CrateDB SQL compatible
  identifier.

- Fixed an issue that led to a ``Message not fully read`` error when trying to
  decommission a node using ``ALTER CLUSTER DECOMMISSION``.

- Fixed an issue that resulted in incorrect results when querying the
  ``sys.nodes`` table. Predicates used in the ``WHERE`` clause on columns that
  were absent in the select-list never matched.
