/
5.2.1.rst
94 lines (66 loc) · 3.44 KB
/
5.2.1.rst
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
.. _version_5.2.1:
=============
Version 5.2.1
=============
Released on 2023-02-02.
.. NOTE::
If you are upgrading a cluster, you must be running CrateDB 4.0.2 or higher
before you upgrade to 5.2.1.
We recommend that you upgrade to the latest 5.1 release before moving to
5.2.1.
A rolling upgrade from 5.1.x to 5.2.1 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`_.
.. _back up your data: https://crate.io/docs/crate/reference/en/latest/admin/snapshots.html
.. _inserting the data into a new table: https://crate.io/docs/crate/reference/en/latest/admin/system-information.html#tables-need-to-be-recreated
.. rubric:: Table of Contents
.. contents::
:local:
See the :ref:`version_5.2.0` release notes for a full list of changes in the
5.2 series.
Fixes
=====
- Fixed behaviour of :ref:`FETCH RELATIVE <sql-fetch>`, which previously behaved
identically to `FETCH FORWARD` and `FETCH BACKWARD`, whereas it should behave
similarly to `FETCH ABSOLUTE`, with the difference that the position of the 1
row to return is calculated relatively to the current cursor position.
- Fixed an issue that caused accounted memory not to be released when using
:ref:`cursors <sql-fetch>`, even if the ``CURSOR`` was explicitly or
automatically (session terminated) closed.
- Added validation to reject inner column names containing special whitespace
characters to avoid invalid schema definitions.
- Fixed an issue that caused the returned column names to be missing the
subscripts when querying sub-columns of nested object arrays.
- Fixed an issue that caused ``IndexOutOfBoundsException`` to be thrown when
trying to :ref:`FETCH <sql-fetch>` backwards from a ``CURSOR``, past the 1st
row.
- Fixed an issue that caused wrong rows to be returned when scrolling backwards
and then forwards through a :ref:`CURSOR <sql-fetch>`.
- Improved error message when :ref:`fetching <sql-fetch>` using ``ABSOLUTE``,
past the last row returned by the cursor query.
- Fixed and issue that caused wrong or 0 rows to be returned when trying to
fetch all rows backwards from a ``CURSOR`` using: ``FETCH BACKWARDS ALL``.
- Fixed an issue that caused :ref:`swap table <alter_cluster_swap_table>` to
consume invalid table names provided in a double-quoted string format
containing ``.`` such as ``"table.t"`` by mis-interpreting it as
``"table"."t"``, which is a two double-quoted strings joined by a ``.``.
This caused metadata corruptions leading to ``StartupExceptions`` and data
losses. Corrupted metadata recovery is in place to prevent the exceptions
but not all data can be recovered.
- Fixed an issue that caused ``ClassCastException`` when accessing a sub-column
of a nested object array where the sub-column resolves to a nested array.
An example ::
CREATE TABLE test (
"a" ARRAY(OBJECT AS (
"b" ARRAY(OBJECT AS (
"s" STRING
)))));
INSERT INTO test (a) VALUES ([{b=[{s='1'}, {s='2'}, {s='3'}]}]);
SELECT a['b'] FROM test; // a['b'] is type of array(array(object))
- Fixed an issue in the PostgreSQL wire protocol that would cause
de-serialization of arrays to fail if they contained unquoted strings
consisting of more than 2 words.