You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: src/current/_includes/releases/v25.4/v25.4.0-beta.2.md
+14-42Lines changed: 14 additions & 42 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -13,67 +13,39 @@ Release Date: October 10, 2025
13
13
14
14
- Added the `SHOW INSPECT ERRORS` command. This command can be used to view issues that are identified by running the `INSPECT` command to validate tables and indexes. [#154337][#154337]
15
15
- Added the `sql.catalog.allow_leased_descriptors.enabled` cluster setting, which is false by default. When set to true, queries that access the `pg_catalog` or `information_schema` can use cached leased descriptors to populate the data in those tables, with the tradeoff that some of the data could be stale. [#154491][#154491]
16
-
- We now support index acceleration for a subset of jsonb_path_exists filters.
17
-
18
-
Given the `jsonb_path_exists(json_obj, json_path_expression)`, we only support
19
-
inverted index for json_path_expression that matches one of the following
20
-
patterns:
21
-
16
+
- We now support index acceleration for a subset of jsonb_path_exists filters. Given the `jsonb_path_exists(json_obj, json_path_expression)`, we only support inverted index for json_path_expression that matches one of the following patterns:
22
17
- The json_path_expression must NOT be in STRICT mode.
- For this mode, we will generate a prefix span for the inverted expression.
25
20
- filter with end value mode, with equality check: $.[key|wildcard]? (@.[key|wildcard].[key|wildcard]... == [string|number|null|boolean])
26
21
- For this mode, since the end value is fixed, we will generate a single value span.
27
-
28
-
Specifically, we don't support the following edge case:
29
-
30
-
- $
31
-
- $[*]
32
-
- $.a.b.c == 12 or $.a.b.c > 12 or $.a.b.c < 12 (operation expression)
33
-
- $.a.b ? (@.a > 10) (filter, with inequality check)
34
-
35
-
Note that the cases we support is to use `jsonb_path_exists` in filters,
36
-
as in, when they are used in the WHERE clause. [#154631][#154631]
37
-
- The optimizer can now use table statistics
38
-
that merge the latest full statistic with all newer partial statistics,
39
-
including those over arbitrary constraints over a single span. [#154755][#154755]
22
+
- Specifically, we don't support the following edge case:
23
+
- $
24
+
- $[*]
25
+
- $.a.b.c == 12 or $.a.b.c > 12 or $.a.b.c < 12 (operation expression)
26
+
- $.a.b ? (@.a > 10) (filter, with inequality check)
27
+
- Note that the cases we support is to use `jsonb_path_exists` in filters, as in, when they are used in the WHERE clause. [#154631][#154631]
28
+
- The optimizer can now use table statistics that merge the latest full statistic with all newer partial statistics, including those over arbitrary constraints over a single span. [#154755][#154755]
- Two new changefeed metrics for tracking the max skew between a changefeed's slowest and fastest span/table have been added. The metrics are gauge metrics with the names `changefeed.progress_skew.{span,table}`. [#154166][#154166]
47
33
- The metrics `sql.select.started.count`, `sql.insert.started.count`, `sql.update.started.count`, and `sql.delete.started.count` are now emitted with labels under the common metric name `sql.started.count`, using a `query_type` label to distinguish each operation. [#154388][#154388]
48
34
- Added the cluster setting `storage.unhealthy_write_duration` (defaults to 20s), which is used to indicate to the allocator that a store's disk is unhealthy. The cluster setting `kv.allocator.disk_unhealthy_io_overload_score` controls the overload score assigned to a store with an unhealthy disk, where a higher score results in preventing lease or replica transfers to the store, or shedding of leases by the store. The default value of that setting is 0, so the allocator behavior is unaffected. [#154459][#154459]
49
35
- Added cluster setting `sql.schema.approx_max_object_count` (default: 20,000) to prevent creation of new schema objects when the limit is exceeded. The check uses cached table statistics for performance and is approximate - it may not be immediately accurate until table statistics are updated by the background statistics refreshing job. Clusters that have been running stably with a larger object count should raise the limit or disable the limit by setting the value to 0. In future releases, the default value for this setting will be raised as more CockroachDB features support larger object counts. [#154576][#154576]
50
36
51
37
<h3id="v25-4-0-beta-2-bug-fixes">Bug fixes</h3>
52
38
53
-
- Vector index backfill will now properly track job
54
-
progress in SHOW JOBS output. [#154261][#154261]
55
-
- A bug has been fixed that caused panics when
56
-
executing `COPY` into a table with hidden columns and expression
57
-
indexes. The panic only occurred when the
58
-
`expect_and_ignore_not_visible_columns_in_copy` setting was enabled.
59
-
This bug has been present since
60
-
`expect_and_ignore_not_visible_columns_in_copy` was introduced in
61
-
v22.1.0. [#154289][#154289]
39
+
- Vector index backfill will now properly track job progress in SHOW JOBS output. [#154261][#154261]
40
+
- A bug has been fixed that caused panics when executing `COPY` into a table with hidden columns and expression indexes. The panic only occurred when the `expect_and_ignore_not_visible_columns_in_copy` setting was enabled. This bug has been present since `expect_and_ignore_not_visible_columns_in_copy` was introduced in v22.1.0. [#154289][#154289]
62
41
-**Idle latency** on the **Transaction Details** page in the DB Console is now reported more accurately. Previously, transactions that used prepared statements (e.g., with placeholders) overcounted idle time, while those that included observer statements (common in the SQL CLI) undercounted it. [#154385][#154385]
63
42
- Fixed a bug where `RESTORE` of a database with a `SECONDARY REGION` did not apply the lease preferences for that region. [#154659][#154659]
64
-
- A bug where a changefeed could perform
65
-
many unnecessary job progress saves during an initial scan has
66
-
been fixed. [#154709][#154709]
67
-
- A bug where a changefeed targeting only a subset
68
-
of a table's column families could become stuck has been fixed. [#154915][#154915]
43
+
- A bug where a changefeed could perform many unnecessary job progress saves during an initial scan has been fixed. [#154709][#154709]
44
+
- A bug where a changefeed targeting only a subset of a table's column families could become stuck has been fixed. [#154915][#154915]
is now calculated based on worst-case selectivities for placeholder
74
-
equalities (e.g., x = $1). This reduces the chance of suboptimal generic
75
-
query plans being chosen when `plan_cache_mode=auto`. [#154899][#154899]
76
-
48
+
- The cost of generic query plans is now calculated based on worst-case selectivities for placeholder equalities (e.g., x = $1). This reduces the chance of suboptimal generic query plans being chosen when `plan_cache_mode=auto`. [#154899][#154899]
0 commit comments