Skip to content

Commit

Permalink
Edits
Browse files Browse the repository at this point in the history
  • Loading branch information
mikeCRL committed Feb 7, 2025
1 parent f0792bf commit 40130b6
Show file tree
Hide file tree
Showing 2 changed files with 19 additions and 24 deletions.
1 change: 1 addition & 0 deletions src/current/_includes/releases/v25.1/v25.1.0-alpha.1.md
Original file line number Diff line number Diff line change
Expand Up @@ -112,6 +112,7 @@ Release Date: December 19, 2024
- Performance for some PL/pgSQL loops is now significantly improved, by as much as 3–4 times. This is due to applying tail-call optimization in more cases to the recursive sub-routines that implement loops. [#135145][#135145]
- Improved the internal caching logic for role membership information. This reduces the latency impact of commands such as `DROP ROLE`, `CREATE ROLE`, and `GRANT role TO user`, which cause the role membership cache to be invalidated. [#135852][#135852]
- The session variable `plan_cache_mode` now defaults to `auto`, enabling generic query plans for some queries. [#135668][#135668]
- This change is reverted in v25.1-rc.1, so this note can be disregarded whe running the latest testing release and v25.1 production releases, unless otherwise noted.
- GRPC streams are now pooled across unary intra-cluster RPCs, allowing for reuse of gRPC resources to reduce the cost of remote key-value layer access. This pooling can be disabled using the `rpc.batch_stream_pool.enabled` cluster setting. [#136648][#136648]
- This information was updated in the <a href="#v25-1-0-beta-2-performance-improvements">v25.1.0-beta.2 release notes</a>.

Expand Down
42 changes: 18 additions & 24 deletions src/current/_includes/releases/v25.1/v25.1.0-rc.1.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,37 +6,31 @@ Release Date: February 10, 2025

<h3 id="v25-1-0-rc-1-backward-incompatible-changes">Backward-incompatible changes</h3>

- The default value of the autocommit_before_ddl session variable is now true. This will cause any schema change statement that is sent during a transaction to make the current transaction commit before executing the schema change in a separate transaction. This change is being made because CockroachDB does not have full support for multiple schema changes in a transaction, as described here: https://www.cockroachlabs.com/docs/stable/online-schema-changes#schema-changes-within-transactions Users who do not desire the autocommit behavior can preserve the old behavior by changing the default value of autocommit_before_ddl with a command such as: ``` ALTER ROLE ALL SET autocommit_before_ddl = false; ``` [#140156][#140156]
- The default value of the `autocommit_before_ddl` session variable is now `true`. This will cause any schema change statement that is sent during a transaction to make the current transaction commit before executing the schema change in a separate transaction.

<h3 id="v25-1-0-rc-1-sql-language-changes">SQL language changes</h3>

- Since v23.2 table statistics histograms have been collected for non-indexed JSON columns. Histograms are no longer collected for these columns. This reduces memory usage during table statistics collection, for both automatic and manual collection via `ANALYZE` and `CREATE STATISTICS`. This can be reverted by setting the cluster setting `sql.stats.non_indexed_json_histograms.enabled` to `true`. [#139898][#139898]
- The `optimizer_prefer_bounded_cardinality` session setting has been added which instructs the optimizer to prefer query plans where every expression has a guaranteed upper-bound on the number of rows it will process. This may help the optimizer produce better query plans in some cases. This setting is disabled by default. [#140245][#140245]
- The `optimizer_min_row_count` session setting has been added which sets a lower bound on row count estimates for relational expressions during query planning. A value of zero, which is the default, indicates no lower bound. Note that if this is set to a value greater than zero, a row count of zero can still be estimated for expressions with a cardinality of zero, e.g., for a contradictory filter. Setting this to a value higher than 0, such as 1, may yield better query plans in some cases, such as when statistics are frequently stale and inaccurate. [#140245][#140245]
- Fixed a bug existing only in pre-release versions of v25.1 which could cause unexpected errors during planning for `VALUES` expressions containing function calls with multiple overloads. [#140306][#140306]
- The default setting for `plan_cache_mode` has been reverted to `force_custom_plan`. Please disregard the previous release node about it being set to `auto`. [#140405][#140405]

<h3 id="v25-1-0-rc-1-bug-fixes">Bug fixes</h3>
This change is being made because CockroachDB does not have full support for multiple schema changes in a transaction, as described [here]({% link v25.1/online-schema-changes.md %}#schema-changes-within-transactions).

- Fixed a bug that could cause SHOW TABLES and other introspection operations to encounter a "batch timestamp must be after replica GC threshold" error. [#140078][#140078]
- Fixed a bug existing only in pre-release versions of v25.1. The bug could cause creation of a PL/pgSQL routine with a CTE to fail with an error like the following: `unexpected root expression: with`. [#140145][#140145]
- Fix a rare bug in which a query might fail with error "could not find computed column expression for column in table" while dropping a virtual computed column from the table. This bug was introduced in v23.2.4. [#139834][#139834]
- Configuring replication controls on a partition name of an index that is not unique across all indexes will correctly impact only that partition. [#140293][#140293]
- Data distribution page in advanced debug will no longer crash if there are null values for `raw_sql_config` in `crdb_internal.zones`. [#140609][#140609]
Users who do not desire the autocommit behavior can preserve the old behavior by changing the default value of `autocommit_before_ddl with a command such as`

<h3 id="v25-1-0-rc-1-miscellaneous">Miscellaneous</h3>
``` ALTER ROLE ALL SET autocommit_before_ddl = false; ```

[#140156][#140156]

<h4 id="v25-1-0-rc-1-changes-without-release-note-annotation">Changes without release note annotation</h4>

- [#140252][#140252] [2ea91e321][2ea91e321]
- [#140089][#140089] [62c075413][62c075413] release-25.1: Revert "sql/stats: generation count was incorrectly incremented on each look up"
- [#140089][#140089] [76944423e][76944423e] release-25.1: Revert "sql/stats: generation count was incorrectly incremented on each look up"

<h3 id="v25-1-0-rc-1-doc-updates">Doc updates</h3>
<h3 id="v25-1-0-rc-1-sql-language-changes">SQL language changes</h3>

{% comment %}Docs team: Please add these manually.{% endcomment %}
- Since v23.2, table statistics histograms have been collected for non-indexed JSON columns. Histograms are no longer collected for these columns. This reduces memory usage during table statistics collection, for both automatic and manual collection via `ANALYZE` and `CREATE STATISTICS`. The previous behavior can be reenabled by setting the cluster setting `sql.stats.non_indexed_json_histograms.enabled` to `true`. [#139898][#139898]
- Added the session setting `optimizer_prefer_bounded_cardinality` which instructs the optimizer to prefer query plans where every expression has a guaranteed upper-bound on the number of rows it will process. This may help the optimizer produce better query plans in some cases. This setting is disabled by default. [#140245][#140245]
- Added the session setting `optimizer_min_row_count` which sets a lower bound on row-count estimates for relational expressions during query planning. A value of zero, which is the default, indicates no lower bound. Note that if this is set to a value greater than zero, a row count of zero can still be estimated for expressions with a cardinality of zero, e.g., for a contradictory filter. Setting this to a value higher than 0, such as 1, may yield better query plans in some cases, such as when statistics are frequently stale and inaccurate. [#140245][#140245]
- Fixed a bug existing only in testing releases of v25.1 which could cause unexpected errors during planning for `VALUES` expressions containing function calls with multiple overloads. [#140306][#140306]
- The default setting for `plan_cache_mode` has been reverted to `force_custom_plan`, after being changed to `auto` in a [prior testing release]({% link releases/v25.1.md %}#v25-1-0-alpha-1). You can disregard the [previous release note]({% link releases/v25.1.md %}#v25-1-0-alpha-1-performance-improvements). [#140405][#140405]

<h3 id="v25-1-0-rc-1-bug-fixes">Bug fixes</h3>

- Fixed a bug that could cause `SHOW TABLES` and other introspection operations to encounter a "batch timestamp must be after replica GC threshold" error. [#140078][#140078]
- Fixed a bug existing only in testing releases of v25.1 that could cause the creation of a PL/pgSQL routine with a CTE to fail with an error similar to: `unexpected root expression: with`. [#140145][#140145]
- Fixed a rare bug in which a query might fail with error "could not find computed column expression for column in table" while dropping a virtual computed column from the table. This bug was introduced in v23.2.4. [#139834][#139834]
- Configuring replication controls on a partition name of an index that is not unique across all indexes will now correctly impact only that partition. [#140293][#140293]
- The Data Distribution page in Advanced Debug will no longer crash if there are null values for `raw_sql_config` in `crdb_internal.zones`. [#140609][#140609]

[#139834]: https://github.com/cockroachdb/cockroach/pull/139834
[#139898]: https://github.com/cockroachdb/cockroach/pull/139898
Expand Down

0 comments on commit 40130b6

Please sign in to comment.