diff --git a/_config_base.yml b/_config_base.yml index 0c1abf29948..7252a07cf04 100644 --- a/_config_base.yml +++ b/_config_base.yml @@ -51,10 +51,10 @@ release_info: start_time: 2020-09-24 11:01:26.34274101 +0000 UTC v20.2: name: v20.2.0 - version: v20.2.0-beta.2 + version: v20.2.0-beta.3 docker_image: cockroachdb/cockroach-unstable - build_time: 2020/09/25 11:00:26 (go1.13.4) - start_time: 2020-09-25 11:01:26.34274101 +0000 UTC + build_time: 2020/09/30 11:00:26 (go1.13.4) + start_time: 2020-09-30 11:01:26.34274101 +0000 UTC include: ["_redirects"] diff --git a/_data/releases.yml b/_data/releases.yml index e647d0a796c..bd8ff66db0a 100644 --- a/_data/releases.yml +++ b/_data/releases.yml @@ -183,6 +183,8 @@ no_windows: true - title: Testing releases releases: + - date: September 30, 2020 + version: v20.2.0-beta.3 - date: September 25, 2020 version: v20.2.0-beta.2 - date: September 14, 2020 diff --git a/_includes/sidebar-releases.json b/_includes/sidebar-releases.json index 4b99b91d3d2..d4a2fc50d23 100644 --- a/_includes/sidebar-releases.json +++ b/_includes/sidebar-releases.json @@ -36,7 +36,7 @@ { "title": "Latest v20.2 Beta", "urls": [ - "/releases/v20.2.0-beta.2.html" + "/releases/v20.2.0-beta.3.html" ] }, { diff --git a/releases/v20.2.0-beta.3.md b/releases/v20.2.0-beta.3.md new file mode 100644 index 00000000000..67968366677 --- /dev/null +++ b/releases/v20.2.0-beta.3.md @@ -0,0 +1,168 @@ +--- +title: What's New in v20.2.0-beta.3 +toc: true +summary: Additions and changes in CockroachDB version v20.2.0-beta.3 since version v20.2.0-beta.2 +--- + +## September 30, 2020 + +Get future release notes emailed to you: + +
+ +
+ +### Downloads + +
+ + + + +
+ +### Docker image + +{% include copy-clipboard.html %} +~~~ shell +$ docker pull cockroachdb/cockroach-unstable:v20.2.0-beta.3 +~~~ + +### Security updates + +- Added ability to login via [OIDC](https://openid.net/connect/) provider: Operators can now configure a single OIDC authentication provider using a collection of [cluster settings](../v20.2/cluster-settings.html) that can provide authentication for users into **the Admin UI only** (not for SQL). The user must exist as a SQL user in the database for the authentication to work. [#54659][#54659] + +### General changes + +- Reduced the memory overhead of rangefeeds (i.e., long-lived requests) which reduces the memory overhead for running [CHANGEFEED](https://www.cockroachlabs.com/docs/v20.2/stream-data-out-of-cockroachdb-using-changefeeds.html)s over large tables. [#54631][#54631] + +### SQL language changes + +#### General SQL updates + +- After renaming a database, schema, or type, the old names are now immediately inaccessible from other sessions when referred to in schema change statements as soon as the new name is committed. This matches the existing behavior for tables. **This is a change from earlier 20.2 beta releases.** [#54384][#54384] +- Added the ability to parse the `ONLY` and `*` (descendant) clauses in [`UPDATE`](../v20.2/update.html). This is a no-op as we do not support table inheritance. [#54426][#54426] +- Added the ability to parse the `CONNECTION LIMIT [=] iconst32` syntax for [`CREATE DATABASE`](../v20.2/create-database.html). This is currently a no-op for -1, and errors for any other value. By default, the value is -1 (unlimited connections). [#54421][#54421] +- Creating cross-database [foreign key references](../v20.2/foreign-key.html) is now disallowed (and can be re-enabled via the `sql.cross_db_fks.enabled` cluster setting). [#54520][#54520] +- Creating [views](../v20.2/views.html) that refer to tables in other databases is now disallowed (and can be re-enabled via the `sql.cross_db_views.enabled` cluster setting). [#54520][#54520] +- [Partial index](../v20.2/partial-indexes.html) definitions in `pg_catalog` are now formatted with parentheses around the `WHERE` clause. [#54535][#54535] +- [Interleaved joins](../v20.2/interleave-in-parent.html) are now disabled by default and will be entirely removed in the 21.1 release, because they are often slower than the [merge join](../v20.2/joins.html#merge-joins). [#54162][#54162] +- [Foreign key](../v20.2/foreign-key.html) violation errors now fill in the "constraint name" error message field. [#54576][#54576] +- [`CREATE SCHEDULE`](../v20.2/create-schedule-for-backup.html) output now has a column called `label` which was previously called `name`. [#54397][#54397] +- If a user/role has ownership over a type or a schema, it is no longer possible to drop them using [`DROP ROLE`](../v20.2/drop-role.html). [#54511][#54511] +- Implemented [`SHOW GRANTS ON SCHEMA `](../v20.2/show-grants.html) [#54596][#54596] +- Added a custom `information_schema.type_privileges` table that displays type privileges for each supported type. [#54596][#54596] +- Implemented the [`SHOW GRANTS ON TYPE`](../v20.2/show-grants.html) command, which shows grants for a specific type. [#54596][#54596] +- The [`SHOW GRANTS`](../v20.2/show-grants.html) without any table/type/schema/database qualifier now also shows types. The `table_name` column is renamed to `type_name`. [#54596][#54596] +- Added support for the Postgres `CREATE EXTENSION` syntax. This no-ops for the `postgis` extension, and gives unimplemented errors for extensions we do not yet support. [#54595][#54595] +- Added unimplemented errors for using operator classes as parameters for creating an [index](../v20.2/indexes.html). [#54595][#54595] +- [Creating sequences](../v20.2/create-sequence.html) that are `OWNED BY` columns in tables in other databases is now disallowed (and can be re-enabled via the `sql.cross_db_sequence_owners.enabled` cluster setting). [#54585][#54585] + +#### Spatial support updates + +- Implemented the geometry [builtins](../v20.2/functions-and-operators.html) `ST_Boundary`, `ST_Difference`, and `ST_Relate`. (BNR variant). [#54436][#54436] +- Implemented the geometry builtins `ST_MinimumClearance` and `ST_MinimumClearanceLine`. [#54436][#54436] +- Implemented the geometry builtin `ST_Polygon`. [#54436][#54436] +- Implemented the geometry builtin `ST_Angle`. [#54436][#54436] +- Implemented the geometry builtins `ST_FrechetDistance` and `ST_HausdorffDistance`. [#54436][#54436] +- Implemented `ST_S2Covering`, which returns the S2 coverings used for indexing for geometry and geography types. [#54433][#54433] +- Implemented `ST_S2Covering` with optional index parameters. [#54433][#54433] + +### Command-line changes + +- The timing details for query execution in the SQL shell (e.g., [`cockroach sql`](../v20.2/cockroach-sql.html), [`cockroach demo`](../v20.2/cockroach-sql.html)) have been completed to also properly take query parsing and planning time into account. As previously, this timing display can be disabled with `\set show_times off`. [#54623][#54623] +- The format used to display query execution times has been simplified. [#54623][#54623] + +### Admin UI changes + +- Added ability to login via [OIDC](https://openid.net/connect/) provider. [#54659][#54659] + +### Bug fixes + +- Fixed a bug introduced in earlier v20.2 versions where attempting to drop a column which is referenced by multiple indexes fails to drop all relevant indexes. [#54262][#54262] +- Fixed a bug causing servers to crash with the message "committed txn with writeTooOld". Versions below 20.1.4 are susceptible to this bug. Versions 20.1.4+ will not crash, but instead print messages to the log files. [#54280][#54280] +- Fixed a bug which would cause an internal error when writing to a table with a recently (concurrent or in the same transaction) `NOT NULL` [enum](../v20.2/enum.html) column. [#54432][#54432] +- CockroachDB now properly returns an appropriate error when the user attempts to rename a [constraint](../v20.2/constraints.html) to a name which conflicts with an existing [index](../v20.2/indexes.html). [#54430][#54430] +- Fixed a bug from earlier alphas where [dropping a database](../v20.2/drop-database.html) which contained tables using user-defined types could result in panics. [#54431][#54431] +- Fixed an internal error and/or panic that could occur when the `ST_Distance` or `ST_MaxDistance` functions were compared against a constant or variable with any type other than [float](../v20.2/float.html). For example, previously a query with the predicate `WHERE ST_Distance(g1, g2) < 10::int` could cause an error. [#54395][#54395] +- There was a bug in transaction statistics collection that could let the data structure grow unboundedly large. This is now fixed, and the resetting happens at the same cadence as statement statistics. [#54457][#54457] +- Fixed an internal error in some cases when recursive [common table expressions](../v20.2/common-table-expressions.html) were used. [#54419][#54419] +- Fixed a bug in our implementation of the Postgres wire protocol where using `CopyIn` with an extremely large message would close the TCP connection with no discernible error. This is changed to now display that the message is too big. [#54187][#54187] +- Starting with v20.2.0-alpha.3, CockroachDB would crash when performing an [`UPSERT`](../v20.2/upsert.html) with a `RETURNING` clause of more than 10k rows. This is now fixed. [#54490][#54490] +- Fixed a bug where queries that could be [automatically retried](../v20.2/transactions.html#automatic-retries) did not respect the `statement_timeout` [session setting](../v20.2/set-vars.html). [#54370][#54370] +- Fixed a bug where a failure while [restoring data](../v20.2/restore.html) may have resulted in the restore job getting stuck. This bug was only present on 20.2 alphas and betas. [#54447][#54447] +- CockroachDB could previously crash in very rare circumstances when there were many queries running in the cluster that were consuming a lot of memory and at least one query was running via the [vectorized execution engine](../v20.2/vectorized-execution.html). This is now fixed. [#54404][#54404] +- In a previous beta, [backing up](../v20.2/backup.html) to an auto-appendable directory would not work if authentication parameters were specified in the URI. [#54621][#54621] +- Fixed a bug from earlier alphas whereby jobs would not properly populate their `started` timestamp. [#54638][#54638] +- The first timing column in the trace.txt file collected as part of a [statement diagnostics bundle](../v20.2/explain-analyze.html#debug-option) has been fixed. [#54559][#54559] + +### Performance improvements + +- The optimizer can now use [partial indexes](../v20.2/partial-indexes.html) for [lookup join](../v20.2/joins.html#lookup-joins) operations. This results in potentially more efficient query plans for joins on tables with partial indexes. [#54362][#54362] +- Lookup semi- and anti-joins are now explored by the optimizer in more cases when the `ON` filter implies a partial index predicate. This may lead to more efficient query plans in some cases. [#54362][#54362] +- Left outer spatial joins can now be index-accelerated, which can lead to performance improvements in some cases. [#54110][#54110] +- Spatial anti joins can now be index-accelerated, which can lead to performance improvements in some cases. [#54471][#54471] + +### Contributors + +This release includes 62 merged PRs by 24 authors. + +We would like to thank the following contributors from the CockroachDB community: + +- Erik Grinaker + +[#54110]: https://github.com/cockroachdb/cockroach/pull/54110 +[#54162]: https://github.com/cockroachdb/cockroach/pull/54162 +[#54187]: https://github.com/cockroachdb/cockroach/pull/54187 +[#54257]: https://github.com/cockroachdb/cockroach/pull/54257 +[#54262]: https://github.com/cockroachdb/cockroach/pull/54262 +[#54280]: https://github.com/cockroachdb/cockroach/pull/54280 +[#54361]: https://github.com/cockroachdb/cockroach/pull/54361 +[#54362]: https://github.com/cockroachdb/cockroach/pull/54362 +[#54370]: https://github.com/cockroachdb/cockroach/pull/54370 +[#54379]: https://github.com/cockroachdb/cockroach/pull/54379 +[#54384]: https://github.com/cockroachdb/cockroach/pull/54384 +[#54395]: https://github.com/cockroachdb/cockroach/pull/54395 +[#54397]: https://github.com/cockroachdb/cockroach/pull/54397 +[#54404]: https://github.com/cockroachdb/cockroach/pull/54404 +[#54419]: https://github.com/cockroachdb/cockroach/pull/54419 +[#54421]: https://github.com/cockroachdb/cockroach/pull/54421 +[#54426]: https://github.com/cockroachdb/cockroach/pull/54426 +[#54430]: https://github.com/cockroachdb/cockroach/pull/54430 +[#54431]: https://github.com/cockroachdb/cockroach/pull/54431 +[#54432]: https://github.com/cockroachdb/cockroach/pull/54432 +[#54433]: https://github.com/cockroachdb/cockroach/pull/54433 +[#54436]: https://github.com/cockroachdb/cockroach/pull/54436 +[#54447]: https://github.com/cockroachdb/cockroach/pull/54447 +[#54457]: https://github.com/cockroachdb/cockroach/pull/54457 +[#54471]: https://github.com/cockroachdb/cockroach/pull/54471 +[#54490]: https://github.com/cockroachdb/cockroach/pull/54490 +[#54511]: https://github.com/cockroachdb/cockroach/pull/54511 +[#54520]: https://github.com/cockroachdb/cockroach/pull/54520 +[#54535]: https://github.com/cockroachdb/cockroach/pull/54535 +[#54559]: https://github.com/cockroachdb/cockroach/pull/54559 +[#54571]: https://github.com/cockroachdb/cockroach/pull/54571 +[#54576]: https://github.com/cockroachdb/cockroach/pull/54576 +[#54585]: https://github.com/cockroachdb/cockroach/pull/54585 +[#54595]: https://github.com/cockroachdb/cockroach/pull/54595 +[#54596]: https://github.com/cockroachdb/cockroach/pull/54596 +[#54621]: https://github.com/cockroachdb/cockroach/pull/54621 +[#54623]: https://github.com/cockroachdb/cockroach/pull/54623 +[#54631]: https://github.com/cockroachdb/cockroach/pull/54631 +[#54638]: https://github.com/cockroachdb/cockroach/pull/54638 +[#54659]: https://github.com/cockroachdb/cockroach/pull/54659 +[0331caff9]: https://github.com/cockroachdb/cockroach/commit/0331caff9 +[38a5474c7]: https://github.com/cockroachdb/cockroach/commit/38a5474c7 +[4b18d340a]: https://github.com/cockroachdb/cockroach/commit/4b18d340a +[7509e36c4]: https://github.com/cockroachdb/cockroach/commit/7509e36c4 +[a663be0db]: https://github.com/cockroachdb/cockroach/commit/a663be0db +[c99f5ff27]: https://github.com/cockroachdb/cockroach/commit/c99f5ff27