--- title: What's New in v20.1.0-beta.4 toc: true summary: Additions and changes in CockroachDB version v20.1.0-beta.4 --- ## March 30, 2020 Get future release notes emailed to you:
### Downloads
### Docker image {% include copy-clipboard.html %} ~~~shell $ docker pull cockroachdb/cockroach-unstable:v20.1.0-beta.4 ~~~ ### Security updates - The `admin` role is now required to use the new [`cockroach nodelocal upload`](../v20.1/cockroach-nodelocal-upload.html) functionality. [#46265][#46265] ### Enterprise edition changes - Incremental [`BACKUP`](../v20.1/backup.html) can now quickly skip unchanged data. This makes frequent incremental backups 10-100x faster depending on data size and frequency. [#46390][#46390] ### SQL language changes - Added `get_bits()` and `set_bit()` [builtin functions](../v20.1/functions-and-operators.html) for bits. [#45957][#45957] - Modified the `get_bits()` and `set_bit()` [builtin functions](../v20.1/functions-and-operators.html) to support [byte array](../v20.1/sql-constants.html#byte-array-literals). [#46380][#46380] - Arrays can now be compared using the `<`, `<=`, `>`, and `>=` operations. [#46254][#46254] - [`EXPLAIN BUNDLE`](../v20.1/explain.html) now contains distsql diagrams. [#46225][#46225] - Previously, when creating a non-partitioned index on a partitioned table with the `sql_safe_updates` [session variable](../v20.1/set-vars.html) set to `true`, CockroachDB would error out. CockroachDB now sends a NOTICE stating that creating a non-partitioned index on a partitioned table is not performant. [#46223][#46223] - Added new internal tables `crdb_internal.node_transactions` and `crdb_internal.cluster_transactions` that contain some metadata about active user transactions. [#46206][#46206] - Added the column `txn_id` to the `crdb_internal.node_queries` and `crdb_internal.cluster_queries` tables. These fields represent the transaction ID of each query in each row. [#46206][#46206] - Columns in the process of being added to or removed from a table are now always set to their default or computed value if another transaction concurrently [`INSERT`](../v20.1/insert.html)s, [`UPDATE`](../v20.1/update.html)s, or [`UPSERT`](../v20.1/upsert.html)s a row. This fixes an issue where a column being backfilled would not get properly set by concurrent transactions. [#46285][#46285] - [`ROLLBACK TO SAVEPOINT`](../v20.1/rollback-transaction.html) (for either regular savepoints or "restart savepoints" defined with `cockroach_restart`) now causes a "feature not supported" error after a DDL statement in a HIGH PRIORITY transaction, in order to avoid a transaction deadlock. See issue [#46414][#46414] for details. [#46415][#46415] - Added support for the `stddev_samp` aggregate [builtin function](../v20.1/functions-and-operators.html), which is the same as `stddev` (according to PostgreSQL documentation, the latter is actually the historical alias of the former). [#46279][#46279] ### Command-line changes - Ensured the correct error messages are shown to the user when using [`cockroach nodelocal upload`](../v20.1/cockroach-nodelocal-upload.html). [#46311][#46311] ### Bug fixes - Fixed a crash when [`IMPORT`](../v20.1/import.html)ing a table without a table definition. [#46193][#46193] - Added support for queries with qualified stars that refer to tables in outer scopes. [#46233][#46233] - Fixed an incorrect "no data source matches prefix" error in some cases involving subqueries that use views. [#46226][#46226] - Previously, the `experimental_strftime` and `experimental_strptime` [builtin functions](../v20.1/functions-and-operators.html) used the non-POSIX standard `%f` for nanosecond display. However, as CockroachDB only supports up to microsecond precision and [Python's `strftime` has `%f` to microsecond](https://docs.python.org/3.9/library/datetime.html#strftime-strptime-behavior), we have similarly switched %f to use microsecond instead of nanosecond precision. [#46263][#46263] - Added a check that detects invalid sequence numbers in the RocksDB write-ahead log and returns an error during node startup instead of applying the invalid log entries. [#46328][#46328] - [Follower reads](../v20.1/follower-reads.html) that hit intents no longer have a chance of entering an infinite loop. This bug was present in earlier versions of the v20.1 release. [#46234][#46234] - Fixed an internal error that could occur when an aggregate inside the right-hand side of a `LATERAL` [join](../v20.1/joins.html) was scoped at the level of the left-hand side. [#46227][#46227] - Fixed an error that incorrectly occurred when an aggregate was used inside the `WHERE` or `ON` clause of a [subquery](../v20.1/subqueries.html) but was scoped at an outer level of the query. [#46227][#46227] - Reverted performance improvements to incremental [`BACKUP`](../v20.1/backup.html)s until a potential correctness issue is addressed. [#46385][#46385] - [CDC](../v20.1/change-data-capture.html) no longer combines with long running transactions to trigger an assertion. Previously, this could crash a server if the right sequence of events occurred. This was typically rare, but was much more common when CDC was in use. [#46391][#46391] - Fixed a race in the [vectorized execution engine](../v20.1/vectorized-execution.html). [#46360][#46360] - Fixed a rare bug causing transactions that have performed schema changes to deadlock after they restart. [#46384][#46384] ### Doc updates - Added docs for [`cockroach nodelocal upload`](../v20.1/cockroach-nodelocal-upload.html), which uploads a file to the external IO directory on a node's (the gateway node, by default) local file system. [#6871][#6871] - Added [guidance](../v20.1/create-table.html#create-a-table-with-a-hash-sharded-primary-index) on using [hash-sharded indexes](../v20.1/indexes.html#hash-sharded-indexes). [#6820][#6820] - Updated [production checklist](../v20.1/recommended-production-settings.html#azure) and [Azure deployment guides](../v20.1/deploy-cockroachdb-on-microsoft-azure.html) to recommend compute-optimize F-series VMs in Azure deployments. [#7005][#7005] ### Contributors This release includes 46 merged PRs by 20 authors. We would like to thank the following contributors from the CockroachDB community: - Amit Sadaphule (first-time contributor) - Andrii Vorobiov - Marcus Gartner (first-time contributor, CockroachDB team member) - abhishek20123g [#45957]: https://github.com/cockroachdb/cockroach/pull/45957 [#46193]: https://github.com/cockroachdb/cockroach/pull/46193 [#46206]: https://github.com/cockroachdb/cockroach/pull/46206 [#46223]: https://github.com/cockroachdb/cockroach/pull/46223 [#46225]: https://github.com/cockroachdb/cockroach/pull/46225 [#46226]: https://github.com/cockroachdb/cockroach/pull/46226 [#46227]: https://github.com/cockroachdb/cockroach/pull/46227 [#46233]: https://github.com/cockroachdb/cockroach/pull/46233 [#46234]: https://github.com/cockroachdb/cockroach/pull/46234 [#46254]: https://github.com/cockroachdb/cockroach/pull/46254 [#46263]: https://github.com/cockroachdb/cockroach/pull/46263 [#46265]: https://github.com/cockroachdb/cockroach/pull/46265 [#46274]: https://github.com/cockroachdb/cockroach/pull/46274 [#46279]: https://github.com/cockroachdb/cockroach/pull/46279 [#46285]: https://github.com/cockroachdb/cockroach/pull/46285 [#46311]: https://github.com/cockroachdb/cockroach/pull/46311 [#46328]: https://github.com/cockroachdb/cockroach/pull/46328 [#46337]: https://github.com/cockroachdb/cockroach/pull/46337 [#46360]: https://github.com/cockroachdb/cockroach/pull/46360 [#46380]: https://github.com/cockroachdb/cockroach/pull/46380 [#46384]: https://github.com/cockroachdb/cockroach/pull/46384 [#46385]: https://github.com/cockroachdb/cockroach/pull/46385 [#46390]: https://github.com/cockroachdb/cockroach/pull/46390 [#46391]: https://github.com/cockroachdb/cockroach/pull/46391 [#46415]: https://github.com/cockroachdb/cockroach/pull/46415 [#46423]: https://github.com/cockroachdb/cockroach/pull/46423 [20fb4c256]: https://github.com/cockroachdb/cockroach/commit/20fb4c256 [34e58c6ec]: https://github.com/cockroachdb/cockroach/commit/34e58c6ec [fec430353]: https://github.com/cockroachdb/cockroach/commit/fec430353 [#6871]: https://github.com/cockroachdb/docs/pull/6871 [#6820]: https://github.com/cockroachdb/docs/pull/6820 [#7005]: https://github.com/cockroachdb/docs/pull/7005