diff --git a/src/current/_includes/v20.2/known-limitations/copy-from-clients.md b/src/current/_includes/v20.2/known-limitations/copy-from-clients.md index 4428aaf74f7..159e5bf6b4c 100644 --- a/src/current/_includes/v20.2/known-limitations/copy-from-clients.md +++ b/src/current/_includes/v20.2/known-limitations/copy-from-clients.md @@ -1,5 +1,3 @@ The built-in SQL shell provided with CockroachDB ([`cockroach sql`](cockroach-sql.html) / [`cockroach demo`](cockroach-demo.html)) does not currently support importing data with the `COPY` statement. -To load data into CockroachDB, we recommend that you use an [`IMPORT`](import.html). If you must use a `COPY` statement, you can issue the statement from the [`psql` client](https://www.postgresql.org/docs/current/app-psql.html) command provided with PostgreSQL, or from another third-party client. - -[Tracking GitHub Issue](https://github.com/cockroachdb/cockroach/issues/16392) \ No newline at end of file +To load data into CockroachDB, we recommend that you use an [`IMPORT`](import.html). If you must use a `COPY` statement, you can issue the statement from the [`psql` client](https://www.postgresql.org/docs/current/app-psql.html) command provided with PostgreSQL, or from another third-party client. \ No newline at end of file diff --git a/src/current/_includes/v20.2/known-limitations/copy-syntax.md b/src/current/_includes/v20.2/known-limitations/copy-syntax.md index 2150a7ba642..07fc5be77f8 100644 --- a/src/current/_includes/v20.2/known-limitations/copy-syntax.md +++ b/src/current/_includes/v20.2/known-limitations/copy-syntax.md @@ -2,16 +2,8 @@ CockroachDB does not yet support the following `COPY` syntax: - `COPY ... TO`. To copy data from a CockroachDB cluster to a file, use an [`EXPORT`](export.html) statement. - [Tracking GitHub Issue](https://github.com/cockroachdb/cockroach/issues/41608) - - `COPY ... FROM CSV` - [Tracking GitHub Issue](https://github.com/cockroachdb/cockroach/issues/51891) - - `COPY ... FROM STDIN` with a delimiter other than the default tab delimiter. - [Tracking GitHub Issue](https://github.com/cockroachdb/cockroach/issues/16407) - -- `COPY ... FROM ... WHERE ` - - [Tracking GitHub Issue](https://github.com/cockroachdb/cockroach/issues/54580) \ No newline at end of file +- `COPY ... FROM ... WHERE ` \ No newline at end of file diff --git a/src/current/_includes/v20.2/known-limitations/old-multi-col-stats.md b/src/current/_includes/v20.2/known-limitations/old-multi-col-stats.md index 595be9c7209..3fbec99016c 100644 --- a/src/current/_includes/v20.2/known-limitations/old-multi-col-stats.md +++ b/src/current/_includes/v20.2/known-limitations/old-multi-col-stats.md @@ -1,3 +1 @@ When a column is dropped from a multi-column index, the {% if page.name == "cost-based-optimizer.md" %} optimizer {% else %} [optimizer](cost-based-optimizer.html) {% endif %} will not collect new statistics for the deleted column. However, the optimizer never deletes the old [multi-column statistics](create-statistics.html#create-statistics-on-multiple-columns). This can cause a buildup of statistics in `system.table_statistics` leading the optimizer to use stale statistics, which could result in sub-optimal plans. To workaround this issue and avoid these scenarios, explicitly [delete those statistics](create-statistics.html#delete-statistics) from the `system.table_statistics` table. - - [Tracking GitHub Issue](https://github.com/cockroachdb/cockroach/issues/67407) diff --git a/src/current/_includes/v20.2/known-limitations/set-transaction-no-rollback.md b/src/current/_includes/v20.2/known-limitations/set-transaction-no-rollback.md index 4ab3661f4f7..e522fbd6de3 100644 --- a/src/current/_includes/v20.2/known-limitations/set-transaction-no-rollback.md +++ b/src/current/_includes/v20.2/known-limitations/set-transaction-no-rollback.md @@ -13,5 +13,3 @@ timezone ------------ 3 ~~~ - -[Tracking GitHub Issue](https://github.com/cockroachdb/cockroach/issues/69396) diff --git a/src/current/_includes/v20.2/known-limitations/single-col-stats-deletion.md b/src/current/_includes/v20.2/known-limitations/single-col-stats-deletion.md index b8baa46c5d2..aee06007c4a 100644 --- a/src/current/_includes/v20.2/known-limitations/single-col-stats-deletion.md +++ b/src/current/_includes/v20.2/known-limitations/single-col-stats-deletion.md @@ -1,3 +1 @@ [Single-column statistics](create-statistics.html#create-statistics-on-a-single-column) are not deleted when columns are dropped, which could cause minor performance issues. - - [Tracking GitHub Issue](https://github.com/cockroachdb/cockroach/issues/67407) diff --git a/src/current/_includes/v20.2/known-limitations/stats-refresh-upgrade.md b/src/current/_includes/v20.2/known-limitations/stats-refresh-upgrade.md index f54a08b3754..3d7af820f2f 100644 --- a/src/current/_includes/v20.2/known-limitations/stats-refresh-upgrade.md +++ b/src/current/_includes/v20.2/known-limitations/stats-refresh-upgrade.md @@ -1,3 +1 @@ The [automatic statistics refresher](cost-based-optimizer.html#control-statistics-refresh-rate) automatically checks whether it needs to refresh statistics for every table in the database upon startup of each node in the cluster. If statistics for a table have not been refreshed in a while, this will trigger collection of statistics for that table. If statistics have been refreshed recently, it will not force a refresh. As a result, the automatic statistics refresher does not necessarily perform a refresh of statistics after an [upgrade](upgrade-cockroach-version.html). This could cause a problem, for example, if the upgrade moves from a version without [histograms](cost-based-optimizer.html#control-histogram-collection) to a version with histograms. To refresh statistics manually, use [`CREATE STATISTICS`](create-statistics.html). - - [Tracking GitHub Issue](https://github.com/cockroachdb/cockroach/issues/54816) diff --git a/src/current/_includes/v20.2/known-limitations/unordered-operations.md b/src/current/_includes/v20.2/known-limitations/unordered-operations.md index 8e54fc6848a..17ba990d8ec 100644 --- a/src/current/_includes/v20.2/known-limitations/unordered-operations.md +++ b/src/current/_includes/v20.2/known-limitations/unordered-operations.md @@ -4,4 +4,4 @@ Unordered aggregation operations do not support disk spilling, and are limited b Setting `--max-sql-memory` too high could result in performance problems due to increased memory consumption. {{site.data.alerts.end}} -See the [GitHub tracking issue](https://github.com/cockroachdb/cockroach/issues/42485) for details. +See the for details. diff --git a/src/current/_includes/v20.2/known-limitations/userfile-upload-non-recursive.md b/src/current/_includes/v20.2/known-limitations/userfile-upload-non-recursive.md index 19db5fde6a4..3ed31f482fa 100644 --- a/src/current/_includes/v20.2/known-limitations/userfile-upload-non-recursive.md +++ b/src/current/_includes/v20.2/known-limitations/userfile-upload-non-recursive.md @@ -1 +1 @@ -- `cockroach userfile upload` does not not currently allow for recursive uploads from a directory. This feature will be present with the `--recursive` flag in future versions. [Tracking GitHub Issue](https://github.com/cockroachdb/cockroach/pull/65307) +- `cockroach userfile upload` does not not currently allow for recursive uploads from a directory. This feature will be present with the `--recursive` flag in future versions. diff --git a/src/current/_includes/v20.2/orchestration/start-cockroachdb-helm-secure.md b/src/current/_includes/v20.2/orchestration/start-cockroachdb-helm-secure.md index 826e5ae33f2..203582ba82b 100644 --- a/src/current/_includes/v20.2/orchestration/start-cockroachdb-helm-secure.md +++ b/src/current/_includes/v20.2/orchestration/start-cockroachdb-helm-secure.md @@ -3,7 +3,7 @@ The CockroachDB Helm chart is undergoing maintenance for compatibility with Kube {{site.data.alerts.end}} {{site.data.alerts.callout_info}} -Secure CockroachDB deployments on Amazon EKS via Helm are [not yet supported](https://github.com/cockroachdb/cockroach/issues/38847). +Secure CockroachDB deployments on Amazon EKS via Helm are not yet supported. {{site.data.alerts.end}} 1. [Install the Helm client](https://helm.sh/docs/intro/install) (version 3.0 or higher) and add the `cockroachdb` chart repository: diff --git a/src/current/_includes/v20.2/sql/savepoints-and-high-priority-transactions.md b/src/current/_includes/v20.2/sql/savepoints-and-high-priority-transactions.md index 4b77f2dd561..a66a7460b9b 100644 --- a/src/current/_includes/v20.2/sql/savepoints-and-high-priority-transactions.md +++ b/src/current/_includes/v20.2/sql/savepoints-and-high-priority-transactions.md @@ -1 +1 @@ -[`ROLLBACK TO SAVEPOINT`](rollback-transaction.html#rollback-a-nested-transaction) (for either regular savepoints or "restart savepoints" defined with `cockroach_restart`) causes a "feature not supported" error after a DDL statement in a [`HIGH PRIORITY` transaction](transactions.html#transaction-priorities), in order to avoid a transaction deadlock. For more information, see GitHub issue [#46414](https://www.github.com/cockroachdb/cockroach/issues/46414). +[`ROLLBACK TO SAVEPOINT`](rollback-transaction.html#rollback-a-nested-transaction) (for either regular savepoints or "restart savepoints" defined with `cockroach_restart`) causes a "feature not supported" error after a DDL statement in a [`HIGH PRIORITY` transaction](transactions.html#transaction-priorities), in order to avoid a transaction deadlock. diff --git a/src/current/_includes/v23.1/backward-incompatible/alpha.1.md b/src/current/_includes/v23.1/backward-incompatible/alpha.1.md index d42f8070fb9..2b1d30e0e28 100644 --- a/src/current/_includes/v23.1/backward-incompatible/alpha.1.md +++ b/src/current/_includes/v23.1/backward-incompatible/alpha.1.md @@ -1,15 +1,15 @@ -- CockroachDB no longer performs environment variable expansion in the parameter `--certs-dir`. Uses like `--certs-dir='$HOME/path'` (expansion by CockroachDB) can be replaced by `--certs-dir="$HOME/path"` (expansion by the Unix shell). [#81298][#81298] -- In the Cockroach CLI, [`BOOL` values](../v23.1/bool.html) are now formatted as `t` or `f` instead of `True` or `False`. [#81943][#81943] -- Removed the `cockroach quit` command. It has been deprecated since v20.1. To [shut down a node](../v23.1/node-shutdown.html) gracefully, send a `SIGTERM` signal to it. [#82988][#82988] -- Added a cluster version to allow the [Pebble storage engine](../v23.1/architecture/storage-layer.html#pebble) to recombine certain SSTables (specifically, user keys that are split across multiple files in a level of the [log-structured merge-tree](../v23.1/architecture/storage-layer.html#log-structured-merge-trees)). Recombining the split user keys is required for supporting the range keys feature. The migration to recombine the SSTables is expected to be short (split user keys are rare in practice), but will block subsequent migrations until all tables have been recombined. The `storage.marked-for-compaction-files` time series metric can show the progress of the migration. [#84887][#84887] +- CockroachDB no longer performs environment variable expansion in the parameter `--certs-dir`. Uses like `--certs-dir='$HOME/path'` (expansion by CockroachDB) can be replaced by `--certs-dir="$HOME/path"` (expansion by the Unix shell). #81298 +- In the Cockroach CLI, [`BOOL` values](../v23.1/bool.html) are now formatted as `t` or `f` instead of `True` or `False`. #81943 +- Removed the `cockroach quit` command. It has been deprecated since v20.1. To [shut down a node](../v23.1/node-shutdown.html) gracefully, send a `SIGTERM` signal to it. #82988 +- Added a cluster version to allow the [Pebble storage engine](../v23.1/architecture/storage-layer.html#pebble) to recombine certain SSTables (specifically, user keys that are split across multiple files in a level of the [log-structured merge-tree](../v23.1/architecture/storage-layer.html#log-structured-merge-trees)). Recombining the split user keys is required for supporting the range keys feature. The migration to recombine the SSTables is expected to be short (split user keys are rare in practice), but will block subsequent migrations until all tables have been recombined. The `storage.marked-for-compaction-files` time series metric can show the progress of the migration. #84887 - Using a single TCP port listener for both RPC (node-node) and SQL client connections is now deprecated. This capability **will be removed** in the next version of CockroachDB. Instead, make one of the following configuration changes to your CockroachDB deployment: - Preferred: keep port `26257` for SQL, and allocate a new port, e.g., `26357`, for node-node RPC connections. For example, you might configure a node with the flags `--listen-addr=:26357 --sql-addr=:26257`, where subsequent nodes seeking to join would then use the flag `--join=othernode:26357,othernode:26257`. This will become the default configuration in the next version of CockroachDB. When using this mode of operation, care should be taken to use a `--join` flag that includes both the previous and new port numbers for other nodes, so that no network partition occurs during the upgrade. - - Optional: keep port `26257` for RPC, and allocate a new port, e.g., `26357`, for SQL connections. For example, you might configure a node with the flags `--listen-addr=:26257 --sql-addr=:26357`. When using this mode of operation, the `--join` flags do not need to be modified. However, SQL client apps or the SQL load balancer configuration (when in use) must be updated to use the new SQL port number. [#85671][#85671] -- If no `nullif` option is specified while using [`IMPORT CSV`](../v23.1/import.html), then a zero-length string in the input is now treated as `NULL`. The quoted empty string in the input is treated as an empty string. Similarly, if `nullif` is specified, then an unquoted value is treated as `NULL`, and a quoted value is treated as that string. These changes were made to make `IMPORT CSV` behave more similarly to `COPY CSV`. If the previous behavior (i.e., treating either quoted or unquoted values that match the `nullif` setting as `NULL`) is desired, you can use the new `allow_quoted_null` option in the `IMPORT` statement. [#84487][#84487] -- [`COPY FROM`](../v23.1/copy.html) operations are now atomic by default instead of being segmented into 100 row transactions. Set the `copy_from_atomic_enabled` session setting to `false` for the previous behavior. [#85986][#85986] -- The `GRANT` privilege has been removed and replaced by the more granular [`WITH GRANT OPTION`]({% link v23.1/grant.md %}#grant-privileges-with-the-option-to-grant-to-others), which provides control over which privileges are allowed to be granted. [#81310][#81310] -- Removed the ability to cast `int`, `int2`, and `int8` to a `0` length `BIT` or `VARBIT`. [#81266][#81266] -- Removed the deprecated `GRANT` privilege. [#81310][#81310] -- Removed the `ttl_automatic_column` storage parameter. The `crdb_internal_expiration` column is created when `ttl_expire_after` is set and removed when `ttl_expire_after` is reset. [#83134][#83134] -- Removed the byte string parameter in the `crdb_internal.schedule_sql_stats_compaction` function. [#82560][#82560] -- Changed the default value of the `enable_implicit_transaction_for_batch_statements` to `true`. This means that a [batch of statements]({% link v23.1/transactions.md %}#batched-statements) sent in one string separated by semicolons is treated as an implicit transaction. [#76834][#76834] + - Optional: keep port `26257` for RPC, and allocate a new port, e.g., `26357`, for SQL connections. For example, you might configure a node with the flags `--listen-addr=:26257 --sql-addr=:26357`. When using this mode of operation, the `--join` flags do not need to be modified. However, SQL client apps or the SQL load balancer configuration (when in use) must be updated to use the new SQL port number. #85671 +- If no `nullif` option is specified while using [`IMPORT CSV`](../v23.1/import.html), then a zero-length string in the input is now treated as `NULL`. The quoted empty string in the input is treated as an empty string. Similarly, if `nullif` is specified, then an unquoted value is treated as `NULL`, and a quoted value is treated as that string. These changes were made to make `IMPORT CSV` behave more similarly to `COPY CSV`. If the previous behavior (i.e., treating either quoted or unquoted values that match the `nullif` setting as `NULL`) is desired, you can use the new `allow_quoted_null` option in the `IMPORT` statement. #84487 +- [`COPY FROM`](../v23.1/copy.html) operations are now atomic by default instead of being segmented into 100 row transactions. Set the `copy_from_atomic_enabled` session setting to `false` for the previous behavior. #85986 +- The `GRANT` privilege has been removed and replaced by the more granular [`WITH GRANT OPTION`]({% link v23.1/grant.md %}#grant-privileges-with-the-option-to-grant-to-others), which provides control over which privileges are allowed to be granted. #81310 +- Removed the ability to cast `int`, `int2`, and `int8` to a `0` length `BIT` or `VARBIT`. #81266 +- Removed the deprecated `GRANT` privilege. #81310 +- Removed the `ttl_automatic_column` storage parameter. The `crdb_internal_expiration` column is created when `ttl_expire_after` is set and removed when `ttl_expire_after` is reset. #83134 +- Removed the byte string parameter in the `crdb_internal.schedule_sql_stats_compaction` function. #82560 +- Changed the default value of the `enable_implicit_transaction_for_batch_statements` to `true`. This means that a [batch of statements]({% link v23.1/transactions.md %}#batched-statements) sent in one string separated by semicolons is treated as an implicit transaction. #76834 diff --git a/src/current/_includes/v23.1/cdc/avro-udt-composite.md b/src/current/_includes/v23.1/cdc/avro-udt-composite.md index 33e621169a2..637cf76abb1 100644 --- a/src/current/_includes/v23.1/cdc/avro-udt-composite.md +++ b/src/current/_includes/v23.1/cdc/avro-udt-composite.md @@ -1 +1 @@ -A changefeed in [Avro format]({% link {{ page.version.version }}/changefeed-messages.md %}#avro) will not be able to serialize [user-defined composite (tuple) types](create-type.html). [Tracking GitHub Issue](https://github.com/cockroachdb/cockroach/issues/102903) \ No newline at end of file +A changefeed in [Avro format]({% link {{ page.version.version }}/changefeed-messages.md %}#avro) will not be able to serialize [user-defined composite (tuple) types](create-type.html). \ No newline at end of file diff --git a/src/current/_includes/v23.1/cdc/csv-udt-composite.md b/src/current/_includes/v23.1/cdc/csv-udt-composite.md index 1cf920220d0..f32008f9fc9 100644 --- a/src/current/_includes/v23.1/cdc/csv-udt-composite.md +++ b/src/current/_includes/v23.1/cdc/csv-udt-composite.md @@ -1 +1 @@ -A changefeed emitting [CSV]({% link {{ page.version.version }}/changefeed-messages.md %}#csv) will include `AS` labels in the message format when the changefeed serializes a [user-defined composite type]({% link {{ page.version.version }}/create-type.md %}). [Tracking GitHub Issue](https://github.com/cockroachdb/cockroach/issues/102905) \ No newline at end of file +A changefeed emitting [CSV]({% link {{ page.version.version }}/changefeed-messages.md %}#csv) will include `AS` labels in the message format when the changefeed serializes a [user-defined composite type]({% link {{ page.version.version }}/create-type.md %}). \ No newline at end of file diff --git a/src/current/_includes/v23.1/faq/what-is-crdb.md b/src/current/_includes/v23.1/faq/what-is-crdb.md index 28857ed61fa..c99dc2c4c8d 100644 --- a/src/current/_includes/v23.1/faq/what-is-crdb.md +++ b/src/current/_includes/v23.1/faq/what-is-crdb.md @@ -1,6 +1,6 @@ CockroachDB is a [distributed SQL](https://www.cockroachlabs.com/blog/what-is-distributed-sql/) database built on a transactional and strongly-consistent key-value store. It **scales** horizontally; **survives** disk, machine, rack, and even datacenter failures with minimal latency disruption and no manual intervention; supports **strongly-consistent** ACID transactions; and provides a familiar **SQL** API for structuring, manipulating, and querying data. -CockroachDB is inspired by Google's [Spanner](http://research.google.com/archive/spanner.html) and [F1](http://research.google.com/pubs/pub38125.html) technologies, and the [source code](https://github.com/cockroachdb/cockroach) is freely available. +CockroachDB is inspired by Google's [Spanner](http://research.google.com/archive/spanner.html) and [F1](http://research.google.com/pubs/pub38125.html) technologies. {{site.data.alerts.callout_success}} For a deeper dive into CockroachDB's capabilities and how it fits into the database landscape, take the free [**Intro to Distributed SQL and CockroachDB**](https://university.cockroachlabs.com/courses/course-v1:crl+intro-to-distributed-sql-and-cockroachdb+self-paced/about) course on Cockroach University. diff --git a/src/current/_includes/v23.1/known-limitations/alter-changefeed-cdc-queries.md b/src/current/_includes/v23.1/known-limitations/alter-changefeed-cdc-queries.md index cbfa5a818f3..9f78f8075af 100644 --- a/src/current/_includes/v23.1/known-limitations/alter-changefeed-cdc-queries.md +++ b/src/current/_includes/v23.1/known-limitations/alter-changefeed-cdc-queries.md @@ -1 +1 @@ -{% if page.name == "alter-changefeed.md" %} `ALTER CHANGEFEED` {% else %} [`ALTER CHANGEFEED`]({% link {{ page.version.version }}/alter-changefeed.md %}) {% endif %} is not fully supported with changefeeds that use {% if page.name == "cdc-queries.md" %} CDC queries. {% else %} [CDC queries]({% link {{ page.version.version }}/cdc-queries.md %}). {% endif %} You can alter the options that a changefeed uses, but you cannot alter the changefeed target tables. [Tracking GitHub issue](https://github.com/cockroachdb/cockroach/issues/83033) \ No newline at end of file +{% if page.name == "alter-changefeed.md" %} `ALTER CHANGEFEED` {% else %} [`ALTER CHANGEFEED`]({% link {{ page.version.version }}/alter-changefeed.md %}) {% endif %} is not fully supported with changefeeds that use {% if page.name == "cdc-queries.md" %} CDC queries. {% else %} [CDC queries]({% link {{ page.version.version }}/cdc-queries.md %}). {% endif %} You can alter the options that a changefeed uses, but you cannot alter the changefeed target tables. \ No newline at end of file diff --git a/src/current/_includes/v23.1/known-limitations/cdc-execution-locality.md b/src/current/_includes/v23.1/known-limitations/cdc-execution-locality.md index 67f80c8e31d..4a008bb6e30 100644 --- a/src/current/_includes/v23.1/known-limitations/cdc-execution-locality.md +++ b/src/current/_includes/v23.1/known-limitations/cdc-execution-locality.md @@ -1 +1 @@ -Changefeeds that use the [`execution_locality` option]({% link {{ page.version.version }}/changefeeds-in-multi-region-deployments.md %}#run-a-changefeed-job-by-locality) set to a [secondary region]({% link {{ page.version.version }}/multiregion-overview.md %}#secondary-regions) could create a plan that assigns most of the ranges to an [aggregator]({% link {{ page.version.version }}/how-does-an-enterprise-changefeed-work.md %}) on the coordinator node. This leads to an unbalanced plan and slow changefeed progress, particularly when the table is large and has many ranges. [Tracking GitHub Issue](https://github.com/cockroachdb/cockroach/issues/124822) \ No newline at end of file +Changefeeds that use the [`execution_locality` option]({% link {{ page.version.version }}/changefeeds-in-multi-region-deployments.md %}#run-a-changefeed-job-by-locality) set to a [secondary region]({% link {{ page.version.version }}/multiregion-overview.md %}#secondary-regions) could create a plan that assigns most of the ranges to an [aggregator]({% link {{ page.version.version }}/how-does-an-enterprise-changefeed-work.md %}) on the coordinator node. This leads to an unbalanced plan and slow changefeed progress, particularly when the table is large and has many ranges. \ No newline at end of file diff --git a/src/current/_includes/v23.1/known-limitations/cdc-queries-column-families.md b/src/current/_includes/v23.1/known-limitations/cdc-queries-column-families.md index a68a7949824..c9b9a1352a0 100644 --- a/src/current/_includes/v23.1/known-limitations/cdc-queries-column-families.md +++ b/src/current/_includes/v23.1/known-limitations/cdc-queries-column-families.md @@ -1 +1 @@ -Creating a changefeed with {% if page.name == "cdc-queries.md" %} CDC queries {% else %} [CDC queries]({% link {{ page.version.version }}/cdc-queries.md %}) {% endif %} on tables with more than one {% if page.name == "changefeeds-on-tables-with-column-families.md" %} column family {% else %} [column family]({% link {{ page.version.version }}/changefeeds-on-tables-with-column-families.md %}) {% endif %} is not supported. [Tracking GitHub Issue](https://github.com/cockroachdb/cockroach/issues/127761) \ No newline at end of file +Creating a changefeed with {% if page.name == "cdc-queries.md" %} CDC queries {% else %} [CDC queries]({% link {{ page.version.version }}/cdc-queries.md %}) {% endif %} on tables with more than one {% if page.name == "changefeeds-on-tables-with-column-families.md" %} column family {% else %} [column family]({% link {{ page.version.version }}/changefeeds-on-tables-with-column-families.md %}) {% endif %} is not supported. \ No newline at end of file diff --git a/src/current/_includes/v23.1/known-limitations/cdc-queries.md b/src/current/_includes/v23.1/known-limitations/cdc-queries.md index 1fcc6988f1a..a19a4a9a9c4 100644 --- a/src/current/_includes/v23.1/known-limitations/cdc-queries.md +++ b/src/current/_includes/v23.1/known-limitations/cdc-queries.md @@ -3,5 +3,5 @@ - The following are not permitted in CDC queries: - [Volatile functions]({% link {{ page.version.version }}/functions-and-operators.md %}#function-volatility). - Sub-select queries. - - [Aggregate]({% link {{ page.version.version }}/functions-and-operators.md %}#aggregate-functions) and [window functions]({% link {{ page.version.version }}/window-functions.md %}) (i.e., functions operating over many rows). [Tracking GitHub issue](https://github.com/cockroachdb/cockroach/issues/98237) -- `delete` changefeed events will only contain the [primary key]({% link {{ page.version.version }}/primary-key.md %}). All other columns will emit as `NULL`. See [Capture delete messages]({% link {{ page.version.version }}/cdc-queries.md %}#capture-delete-messages) for detail on running a CDC query that emits the deleted values. [Tracking GitHub issue](https://github.com/cockroachdb/cockroach/issues/83835) + - [Aggregate]({% link {{ page.version.version }}/functions-and-operators.md %}#aggregate-functions) and [window functions]({% link {{ page.version.version }}/window-functions.md %}) (i.e., functions operating over many rows). +- `delete` changefeed events will only contain the [primary key]({% link {{ page.version.version }}/primary-key.md %}). All other columns will emit as `NULL`. See [Capture delete messages]({% link {{ page.version.version }}/cdc-queries.md %}#capture-delete-messages) for detail on running a CDC query that emits the deleted values. diff --git a/src/current/_includes/v23.1/known-limitations/cdc.md b/src/current/_includes/v23.1/known-limitations/cdc.md index 008fdb46867..ecf4d7d3fa0 100644 --- a/src/current/_includes/v23.1/known-limitations/cdc.md +++ b/src/current/_includes/v23.1/known-limitations/cdc.md @@ -1,8 +1,8 @@ -- Changefeed target options are limited to tables and [column families]({% link {{ page.version.version }}/changefeeds-on-tables-with-column-families.md %}). [Tracking GitHub Issue](https://github.com/cockroachdb/cockroach/issues/73435) +- Changefeed target options are limited to tables and [column families]({% link {{ page.version.version }}/changefeeds-on-tables-with-column-families.md %}). - {% include {{page.version.version}}/cdc/kafka-vpc-limitation.md %} -- Webhook sinks only support HTTPS. Use the [`insecure_tls_skip_verify`]({% link {{ page.version.version }}/create-changefeed.md %}#tls-skip-verify) parameter when testing to disable certificate verification; however, this still requires HTTPS and certificates. [Tracking GitHub Issue](https://github.com/cockroachdb/cockroach/issues/73431) -- Formats for changefeed messages are not supported by all changefeed sinks. Refer to the [Changefeed Sinks]({% link {{ page.version.version }}/changefeed-sinks.md %}) page for details on compatible formats with each sink and the [`format`]({% link {{ page.version.version }}/create-changefeed.md %}) option to specify a changefeed message format. [Tracking GitHub Issue](https://github.com/cockroachdb/cockroach/issues/73432) -- Using the [`split_column_families`]({% link {{ page.version.version }}/create-changefeed.md %}#split-column-families) and [`resolved`]({% link {{ page.version.version }}/create-changefeed.md %}#resolved-option) options on the same changefeed will cause an error when using the following [sinks](changefeed-sinks.html): Kafka and Google Cloud Pub/Sub. Instead, use the individual `FAMILY` keyword to specify column families when creating a changefeed. [Tracking GitHub Issue](https://github.com/cockroachdb/cockroach/issues/79452) +- Webhook sinks only support HTTPS. Use the [`insecure_tls_skip_verify`]({% link {{ page.version.version }}/create-changefeed.md %}#tls-skip-verify) parameter when testing to disable certificate verification; however, this still requires HTTPS and certificates. +- Formats for changefeed messages are not supported by all changefeed sinks. Refer to the [Changefeed Sinks]({% link {{ page.version.version }}/changefeed-sinks.md %}) page for details on compatible formats with each sink and the [`format`]({% link {{ page.version.version }}/create-changefeed.md %}) option to specify a changefeed message format. +- Using the [`split_column_families`]({% link {{ page.version.version }}/create-changefeed.md %}#split-column-families) and [`resolved`]({% link {{ page.version.version }}/create-changefeed.md %}#resolved-option) options on the same changefeed will cause an error when using the following [sinks](changefeed-sinks.html): Kafka and Google Cloud Pub/Sub. Instead, use the individual `FAMILY` keyword to specify column families when creating a changefeed. - {% include {{page.version.version}}/cdc/types-udt-composite-general.md %} The following limitations apply: - {% include {{page.version.version}}/cdc/avro-udt-composite.md %} - {% include {{page.version.version}}/cdc/csv-udt-composite.md %} \ No newline at end of file diff --git a/src/current/_includes/v23.1/known-limitations/changefeed-column-family-message.md b/src/current/_includes/v23.1/known-limitations/changefeed-column-family-message.md index b8aafbe11dc..0b2032f72cb 100644 --- a/src/current/_includes/v23.1/known-limitations/changefeed-column-family-message.md +++ b/src/current/_includes/v23.1/known-limitations/changefeed-column-family-message.md @@ -1 +1 @@ -When you create a changefeed on a table with more than one {% if page.name == "changefeeds-on-tables-with-column-families.md" %} column family {% else %} [column family]({% link {{ page.version.version }}/changefeeds-on-tables-with-column-families.md %}) {% endif %}, the changefeed will emit messages per column family in separate streams. As a result, [changefeed messages]({% link {{ page.version.version }}/changefeed-messages.md %}) for different column families will arrive at the [sink]({% link {{ page.version.version }}/changefeed-sinks.md %}) under separate topics. [Tracking GitHub Issue](https://github.com/cockroachdb/cockroach/issues/127736) \ No newline at end of file +When you create a changefeed on a table with more than one {% if page.name == "changefeeds-on-tables-with-column-families.md" %} column family {% else %} [column family]({% link {{ page.version.version }}/changefeeds-on-tables-with-column-families.md %}) {% endif %}, the changefeed will emit messages per column family in separate streams. As a result, [changefeed messages]({% link {{ page.version.version }}/changefeed-messages.md %}) for different column families will arrive at the [sink]({% link {{ page.version.version }}/changefeed-sinks.md %}) under separate topics. \ No newline at end of file diff --git a/src/current/_includes/v23.1/known-limitations/copy-syntax.md b/src/current/_includes/v23.1/known-limitations/copy-syntax.md index 0c6c89299df..572d6943adc 100644 --- a/src/current/_includes/v23.1/known-limitations/copy-syntax.md +++ b/src/current/_includes/v23.1/known-limitations/copy-syntax.md @@ -2,10 +2,10 @@ CockroachDB does not yet support the following `COPY` syntax: - Various `COPY` options (`FORMAT`, `FREEZE`, `QUOTE`, etc.). - - [Tracking GitHub Issue](https://github.com/cockroachdb/cockroach/issues/85572) - - [Tracking GitHub Issue](https://github.com/cockroachdb/cockroach/issues/85573) - - [Tracking GitHub Issue](https://github.com/cockroachdb/cockroach/issues/85574) + - + - + - - `COPY ... FROM ... WHERE `. - - [Tracking GitHub Issue](https://github.com/cockroachdb/cockroach/issues/54580) + - diff --git a/src/current/_includes/v23.1/known-limitations/restore-tables-non-multi-reg.md b/src/current/_includes/v23.1/known-limitations/restore-tables-non-multi-reg.md index 360f93f796f..a6558d30c7d 100644 --- a/src/current/_includes/v23.1/known-limitations/restore-tables-non-multi-reg.md +++ b/src/current/_includes/v23.1/known-limitations/restore-tables-non-multi-reg.md @@ -1 +1 @@ -Restoring [`GLOBAL`]({% link {{ page.version.version }}/table-localities.md %}#global-tables) and [`REGIONAL BY TABLE`]({% link {{ page.version.version }}/table-localities.md %}#regional-tables) tables into a **non**-multi-region database is not supported. [Tracking GitHub Issue](https://github.com/cockroachdb/cockroach/issues/71502) +Restoring [`GLOBAL`]({% link {{ page.version.version }}/table-localities.md %}#global-tables) and [`REGIONAL BY TABLE`]({% link {{ page.version.version }}/table-localities.md %}#regional-tables) tables into a **non**-multi-region database is not supported. diff --git a/src/current/_includes/v23.1/known-limitations/restore-udf.md b/src/current/_includes/v23.1/known-limitations/restore-udf.md index 053a3b90df7..cd695383ba6 100644 --- a/src/current/_includes/v23.1/known-limitations/restore-udf.md +++ b/src/current/_includes/v23.1/known-limitations/restore-udf.md @@ -1 +1 @@ -`RESTORE` will not restore a table that references a [UDF]({% link {{ page.version.version }}/user-defined-functions.md %}), unless you skip restoring the function with the {% if page.name == "restore.md" %} [`skip_missing_udfs`](#skip-missing-udfs) {% else %} [`skip_missing_udfs`]({% link {{ page.version.version }}/restore.md %}#skip-missing-udfs) {% endif %} option. Alternatively, take a [database-level backup]({% link {{ page.version.version }}/backup.md %}#back-up-a-database) to include everything needed to restore the table. [Tracking GitHub Issue](https://github.com/cockroachdb/cockroach/issues/118195) \ No newline at end of file +`RESTORE` will not restore a table that references a [UDF]({% link {{ page.version.version }}/user-defined-functions.md %}), unless you skip restoring the function with the {% if page.name == "restore.md" %} [`skip_missing_udfs`](#skip-missing-udfs) {% else %} [`skip_missing_udfs`]({% link {{ page.version.version }}/restore.md %}#skip-missing-udfs) {% endif %} option. Alternatively, take a [database-level backup]({% link {{ page.version.version }}/backup.md %}#back-up-a-database) to include everything needed to restore the table. \ No newline at end of file diff --git a/src/current/_includes/v23.1/known-limitations/set-transaction-no-rollback.md b/src/current/_includes/v23.1/known-limitations/set-transaction-no-rollback.md index c2e78c7d78a..4ab3d72a6ae 100644 --- a/src/current/_includes/v23.1/known-limitations/set-transaction-no-rollback.md +++ b/src/current/_includes/v23.1/known-limitations/set-transaction-no-rollback.md @@ -13,5 +13,3 @@ timezone ------------ 3 ~~~ - -[Tracking GitHub Issue](https://github.com/cockroachdb/cockroach/issues/69396) diff --git a/src/current/_includes/v23.1/known-limitations/show-backup-locality-incremental-location.md b/src/current/_includes/v23.1/known-limitations/show-backup-locality-incremental-location.md index 428a78c0da0..d927d592355 100644 --- a/src/current/_includes/v23.1/known-limitations/show-backup-locality-incremental-location.md +++ b/src/current/_includes/v23.1/known-limitations/show-backup-locality-incremental-location.md @@ -1 +1 @@ -{% if page.name == "show-backup.md" %}`SHOW BACKUP`{% else %}[`SHOW BACKUP`]({% link {{ page.version.version }}/show-backup.md %}){% endif %} can display backups taken with the `incremental_location` option **or** for [locality-aware backups]({% link {{ page.version.version }}/take-and-restore-locality-aware-backups.md %}). It will not display backups for locality-aware backups taken with the `incremental_location` option. [Tracking GitHub issue](https://github.com/cockroachdb/cockroach/issues/82912). \ No newline at end of file +{% if page.name == "show-backup.md" %}`SHOW BACKUP`{% else %}[`SHOW BACKUP`]({% link {{ page.version.version }}/show-backup.md %}){% endif %} can display backups taken with the `incremental_location` option **or** for [locality-aware backups]({% link {{ page.version.version }}/take-and-restore-locality-aware-backups.md %}). It will not display backups for locality-aware backups taken with the `incremental_location` option.. \ No newline at end of file diff --git a/src/current/_includes/v23.1/known-limitations/show-backup-symlink.md b/src/current/_includes/v23.1/known-limitations/show-backup-symlink.md index 1316e7d7667..b54ed7d2f1e 100644 --- a/src/current/_includes/v23.1/known-limitations/show-backup-symlink.md +++ b/src/current/_includes/v23.1/known-limitations/show-backup-symlink.md @@ -1 +1 @@ -[`SHOW BACKUP`]({% link {{ page.version.version }}/show-backup.md %}) does not support listing backups if the [`nodelocal`]({% link {{ page.version.version }}/cockroach-nodelocal-upload.md %}) storage location is a symlink. [Tracking GitHub Issue](https://github.com/cockroachdb/cockroach/issues/70260) \ No newline at end of file +[`SHOW BACKUP`]({% link {{ page.version.version }}/show-backup.md %}) does not support listing backups if the [`nodelocal`]({% link {{ page.version.version }}/cockroach-nodelocal-upload.md %}) storage location is a symlink. \ No newline at end of file diff --git a/src/current/_includes/v23.1/known-limitations/userfile-upload-non-recursive.md b/src/current/_includes/v23.1/known-limitations/userfile-upload-non-recursive.md index 19db5fde6a4..3ed31f482fa 100644 --- a/src/current/_includes/v23.1/known-limitations/userfile-upload-non-recursive.md +++ b/src/current/_includes/v23.1/known-limitations/userfile-upload-non-recursive.md @@ -1 +1 @@ -- `cockroach userfile upload` does not not currently allow for recursive uploads from a directory. This feature will be present with the `--recursive` flag in future versions. [Tracking GitHub Issue](https://github.com/cockroachdb/cockroach/pull/65307) +- `cockroach userfile upload` does not not currently allow for recursive uploads from a directory. This feature will be present with the `--recursive` flag in future versions. diff --git a/src/current/_includes/v23.1/prod-deployment/decommission-pre-flight-checks.md b/src/current/_includes/v23.1/prod-deployment/decommission-pre-flight-checks.md index b267379384b..5b3b626f70d 100644 --- a/src/current/_includes/v23.1/prod-deployment/decommission-pre-flight-checks.md +++ b/src/current/_includes/v23.1/prod-deployment/decommission-pre-flight-checks.md @@ -14,5 +14,5 @@ Failed running "node decommission" These checks can be skipped by [passing the flag `--checks=skip` to `cockroach node decommission`]({% link {{ page.version.version }}/cockroach-node.md %}#decommission-checks). {{site.data.alerts.callout_info}} -The amount of remaining disk space on other nodes in the cluster is not yet considered as part of the decommissioning pre-flight checks. For more information, see [cockroachdb/cockroach#71757](https://github.com/cockroachdb/cockroach/issues/71757) +The amount of remaining disk space on other nodes in the cluster is not yet considered as part of the decommissioning pre-flight checks. {{site.data.alerts.end}} diff --git a/src/current/_includes/v23.1/sql/cannot-refresh-materialized-views-inside-transactions.md b/src/current/_includes/v23.1/sql/cannot-refresh-materialized-views-inside-transactions.md index c78308152f6..cd93d6ad8c8 100644 --- a/src/current/_includes/v23.1/sql/cannot-refresh-materialized-views-inside-transactions.md +++ b/src/current/_includes/v23.1/sql/cannot-refresh-materialized-views-inside-transactions.md @@ -23,5 +23,3 @@ ERROR: cannot refresh view in an explicit transaction SQLSTATE: 25000 ~~~ - - [Tracking GitHub Issue](https://github.com/cockroachdb/cockroach/issues/66008) diff --git a/src/current/_includes/v23.1/sql/expression-indexes-cannot-reference-computed-columns.md b/src/current/_includes/v23.1/sql/expression-indexes-cannot-reference-computed-columns.md index 64d80e31fa3..24e548f6c24 100644 --- a/src/current/_includes/v23.1/sql/expression-indexes-cannot-reference-computed-columns.md +++ b/src/current/_includes/v23.1/sql/expression-indexes-cannot-reference-computed-columns.md @@ -1,3 +1 @@ -CockroachDB does not allow {% if page.name == "expression-indexes.md" %} expression indexes {% else %} [expression indexes]({% link {{ page.version.version }}/expression-indexes.md %}) {% endif %} to reference [computed columns]({% link {{ page.version.version }}/computed-columns.md %}). - - [Tracking GitHub Issue](https://github.com/cockroachdb/cockroach/issues/67900) +CockroachDB does not allow {% if page.name == "expression-indexes.md" %} expression indexes {% else %} [expression indexes]({% link {{ page.version.version }}/expression-indexes.md %}) {% endif %} to reference [computed columns]({% link {{ page.version.version }}/computed-columns.md %}). \ No newline at end of file diff --git a/src/current/_includes/v23.1/sql/expressions-as-on-conflict-targets.md b/src/current/_includes/v23.1/sql/expressions-as-on-conflict-targets.md index 882dd905b1d..d4c335d0f01 100644 --- a/src/current/_includes/v23.1/sql/expressions-as-on-conflict-targets.md +++ b/src/current/_includes/v23.1/sql/expressions-as-on-conflict-targets.md @@ -36,5 +36,3 @@ INSERT INTO t VALUES (1, 2) ON CONFLICT ((a + b)) DO UPDATE SET a = 10 ^ HINT: try \h INSERT ~~~ - -[Tracking GitHub Issue](https://github.com/cockroachdb/cockroach/issues/67893) diff --git a/src/current/_includes/v23.1/sql/jsonb-comparison.md b/src/current/_includes/v23.1/sql/jsonb-comparison.md index 7b4435d6fcc..cabe220b8cb 100644 --- a/src/current/_includes/v23.1/sql/jsonb-comparison.md +++ b/src/current/_includes/v23.1/sql/jsonb-comparison.md @@ -9,5 +9,3 @@ You cannot use comparison operators (such as `<` or `>`) on [`JSONB`]({% link {{ ERROR: unsupported comparison operator: < SQLSTATE: 22023 ~~~ - - [Tracking GitHub issue](https://github.com/cockroachdb/cockroach/issues/49144) diff --git a/src/current/_includes/v23.1/sql/locality-optimized-search-virtual-computed-columns.md b/src/current/_includes/v23.1/sql/locality-optimized-search-virtual-computed-columns.md index c016103b1e1..a07bbd342ee 100644 --- a/src/current/_includes/v23.1/sql/locality-optimized-search-virtual-computed-columns.md +++ b/src/current/_includes/v23.1/sql/locality-optimized-search-virtual-computed-columns.md @@ -1 +1 @@ -- {% if page.name == "cost-based-optimizer.md" %} Locality optimized search {% else %} [Locality optimized search]({% link {{ page.version.version }}/cost-based-optimizer.md %}#locality-optimized-search-in-multi-region-clusters) {% endif %} does not work for queries that use [partitioned unique indexes]({% link {{ page.version.version }}/partitioning.md %}#partition-using-a-secondary-index) on [virtual computed columns](computed-columns.html#virtual-computed-columns). A workaround for computed columns is to make the virtual computed column a [stored computed column](computed-columns.html#stored-computed-columns). Locality optimized search does not work for queries that use partitioned unique [expression indexes](expression-indexes.html). [Tracking GitHub Issue](https://github.com/cockroachdb/cockroach/issues/68129) +- {% if page.name == "cost-based-optimizer.md" %} Locality optimized search {% else %} [Locality optimized search]({% link {{ page.version.version }}/cost-based-optimizer.md %}#locality-optimized-search-in-multi-region-clusters) {% endif %} does not work for queries that use [partitioned unique indexes]({% link {{ page.version.version }}/partitioning.md %}#partition-using-a-secondary-index) on [virtual computed columns](computed-columns.html#virtual-computed-columns). A workaround for computed columns is to make the virtual computed column a [stored computed column](computed-columns.html#stored-computed-columns). Locality optimized search does not work for queries that use partitioned unique [expression indexes](expression-indexes.html). \ No newline at end of file diff --git a/src/current/_includes/v23.1/sql/materialized-views-no-stats.md b/src/current/_includes/v23.1/sql/materialized-views-no-stats.md index e4d262b56ea..ef5df123bdd 100644 --- a/src/current/_includes/v23.1/sql/materialized-views-no-stats.md +++ b/src/current/_includes/v23.1/sql/materialized-views-no-stats.md @@ -1,3 +1 @@ -- The optimizer may not select the most optimal query plan when querying materialized views because CockroachDB does not [collect statistics]({% link {{ page.version.version }}/cost-based-optimizer.md %}#table-statistics) on materialized views. - - [Tracking GitHub Issue](https://github.com/cockroachdb/cockroach/issues/78181). +- The optimizer may not select the most optimal query plan when querying materialized views because CockroachDB does not [collect statistics]({% link {{ page.version.version }}/cost-based-optimizer.md %}#table-statistics) on materialized views. \ No newline at end of file diff --git a/src/current/_includes/v23.1/sql/savepoints-and-high-priority-transactions.md b/src/current/_includes/v23.1/sql/savepoints-and-high-priority-transactions.md index c6de489e641..ce124bc3209 100644 --- a/src/current/_includes/v23.1/sql/savepoints-and-high-priority-transactions.md +++ b/src/current/_includes/v23.1/sql/savepoints-and-high-priority-transactions.md @@ -1 +1 @@ -[`ROLLBACK TO SAVEPOINT`]({% link {{ page.version.version }}/rollback-transaction.md %}#rollback-a-nested-transaction) (for either regular savepoints or "restart savepoints" defined with `cockroach_restart`) causes a "feature not supported" error after a DDL statement in a [`HIGH PRIORITY` transaction]({% link {{ page.version.version }}/transactions.md %}#transaction-priorities), in order to avoid a transaction deadlock. For more information, see GitHub issue [#46414](https://www.github.com/cockroachdb/cockroach/issues/46414). +[`ROLLBACK TO SAVEPOINT`]({% link {{ page.version.version }}/rollback-transaction.md %}#rollback-a-nested-transaction) (for either regular savepoints or "restart savepoints" defined with `cockroach_restart`) causes a "feature not supported" error after a DDL statement in a [`HIGH PRIORITY` transaction]({% link {{ page.version.version }}/transactions.md %}#transaction-priorities), in order to avoid a transaction deadlock. diff --git a/src/current/_includes/v23.1/sql/select-for-update-limitations.md b/src/current/_includes/v23.1/sql/select-for-update-limitations.md index 3b467ba8f18..19c4ffef6be 100644 --- a/src/current/_includes/v23.1/sql/select-for-update-limitations.md +++ b/src/current/_includes/v23.1/sql/select-for-update-limitations.md @@ -5,6 +5,4 @@ If a lease transfer or range split/merge occurs on a range held by an unreplicat - The desired ordering of concurrent accesses to one or more rows of a table expressed by your use of `SELECT ... FOR UPDATE` may not be preserved (that is, a transaction _B_ against some table _T_ that was supposed to wait behind another transaction _A_ operating on _T_ may not wait for transaction _A_). - The transaction that acquired the (now dropped) unreplicated lock may fail to commit, leading to [transaction retry errors with code `40001` and the `restart transaction` error message]({% link {{ page.version.version }}/common-errors.md %}#restart-transaction). -We intend to improve the reliability of these locks. For details, see [cockroachdb/cockroach#75456](https://github.com/cockroachdb/cockroach/issues/75456). - Note that [serializable isolation]({% link {{ page.version.version }}/transactions.md %}#serializable-isolation) is preserved despite this limitation. diff --git a/src/current/_includes/v23.2/backward-incompatible/alpha.1.md b/src/current/_includes/v23.2/backward-incompatible/alpha.1.md index a93bed49fbe..fe82b8e3012 100644 --- a/src/current/_includes/v23.2/backward-incompatible/alpha.1.md +++ b/src/current/_includes/v23.2/backward-incompatible/alpha.1.md @@ -1,15 +1,15 @@ -- CockroachDB no longer performs environment variable expansion in the parameter `--certs-dir`. Uses like `--certs-dir='$HOME/path'` (expansion by CockroachDB) can be replaced by `--certs-dir="$HOME/path"` (expansion by the Unix shell). [#81298][#81298] -- In the Cockroach CLI, [`BOOL` values](../v23.1/bool.html) are now formatted as `t` or `f` instead of `True` or `False`. [#81943][#81943] -- Removed the `cockroach quit` command. It has been deprecated since v20.1. To [shut down a node](../v23.1/node-shutdown.html) gracefully, send a `SIGTERM` signal to it. [#82988][#82988] -- Added a cluster version to allow the [Pebble storage engine](../v23.1/architecture/storage-layer.html#pebble) to recombine certain SSTables (specifically, user keys that are split across multiple files in a level of the [log-structured merge-tree](../v23.1/architecture/storage-layer.html#log-structured-merge-trees)). Recombining the split user keys is required for supporting the range keys feature. The migration to recombine the SSTables is expected to be short (split user keys are rare in practice), but will block subsequent migrations until all tables have been recombined. The `storage.marked-for-compaction-files` time series metric can show the progress of the migration. [#84887][#84887] +- CockroachDB no longer performs environment variable expansion in the parameter `--certs-dir`. Uses like `--certs-dir='$HOME/path'` (expansion by CockroachDB) can be replaced by `--certs-dir="$HOME/path"` (expansion by the Unix shell). #81298 +- In the Cockroach CLI, [`BOOL` values]({% link {{ page.version.version }}/bool.md %}) are now formatted as `t` or `f` instead of `True` or `False`. #81943 +- Removed the `cockroach quit` command. It has been deprecated since v20.1. To [shut down a node]({% link {{ page.version.version }}/node-shutdown.md %}) gracefully, send a `SIGTERM` signal to it. #82988 +- Added a cluster version to allow the [Pebble storage engine]({% link {{ page.version.version }}/architecture/storage-layer.md#pebble %}) to recombine certain SSTables (specifically, user keys that are split across multiple files in a level of the [log-structured merge-tree]({% link {{ page.version.version }}/architecture/storage-layer.md#log-structured-merge-trees %})). Recombining the split user keys is required for supporting the range keys feature. The migration to recombine the SSTables is expected to be short (split user keys are rare in practice), but will block subsequent migrations until all tables have been recombined. The `storage.marked-for-compaction-files` time series metric can show the progress of the migration. #84887 - Using a single TCP port listener for both RPC (node-node) and SQL client connections is now deprecated. This capability **will be removed** in the next version of CockroachDB. Instead, make one of the following configuration changes to your CockroachDB deployment: - Preferred: keep port `26257` for SQL, and allocate a new port, e.g., `26357`, for node-node RPC connections. For example, you might configure a node with the flags `--listen-addr=:26357 --sql-addr=:26257`, where subsequent nodes seeking to join would then use the flag `--join=othernode:26357,othernode:26257`. This will become the default configuration in the next version of CockroachDB. When using this mode of operation, care should be taken to use a `--join` flag that includes both the previous and new port numbers for other nodes, so that no network partition occurs during the upgrade. - - Optional: keep port `26257` for RPC, and allocate a new port, e.g., `26357`, for SQL connections. For example, you might configure a node with the flags `--listen-addr=:26257 --sql-addr=:26357`. When using this mode of operation, the `--join` flags do not need to be modified. However, SQL client apps or the SQL load balancer configuration (when in use) must be updated to use the new SQL port number. [#85671][#85671] -- If no `nullif` option is specified while using [`IMPORT CSV`](../v23.1/import.html), then a zero-length string in the input is now treated as `NULL`. The quoted empty string in the input is treated as an empty string. Similarly, if `nullif` is specified, then an unquoted value is treated as `NULL`, and a quoted value is treated as that string. These changes were made to make `IMPORT CSV` behave more similarly to `COPY CSV`. If the previous behavior (i.e., treating either quoted or unquoted values that match the `nullif` setting as `NULL`) is desired, you can use the new `allow_quoted_null` option in the `IMPORT` statement. [#84487][#84487] -- [`COPY FROM`](../v23.1/copy.html) operations are now atomic by default instead of being segmented into 100 row transactions. Set the `copy_from_atomic_enabled` session setting to `false` for the previous behavior. [#85986][#85986] -- The `GRANT` privilege has been removed and replaced by the more granular [`WITH GRANT OPTION`]({% link v23.2/grant.md %}#grant-privileges-with-the-option-to-grant-to-others), which provides control over which privileges are allowed to be granted. [#81310][#81310] -- Removed the ability to cast `int`, `int2`, and `int8` to a `0` length `BIT` or `VARBIT`. [#81266][#81266] -- Removed the deprecated `GRANT` privilege. [#81310][#81310] -- Removed the `ttl_automatic_column` storage parameter. The `crdb_internal_expiration` column is created when `ttl_expire_after` is set and removed when `ttl_expire_after` is reset. [#83134][#83134] -- Removed the byte string parameter in the `crdb_internal.schedule_sql_stats_compaction` function. [#82560][#82560] -- Changed the default value of the `enable_implicit_transaction_for_batch_statements` to `true`. This means that a [batch of statements]({% link v23.2/transactions.md %}#batched-statements) sent in one string separated by semicolons is treated as an implicit transaction. [#76834][#76834] + - Optional: keep port `26257` for RPC, and allocate a new port, e.g., `26357`, for SQL connections. For example, you might configure a node with the flags `--listen-addr=:26257 --sql-addr=:26357`. When using this mode of operation, the `--join` flags do not need to be modified. However, SQL client apps or the SQL load balancer configuration (when in use) must be updated to use the new SQL port number. #85671 +- If no `nullif` option is specified while using [`IMPORT CSV`]({% link {{ page.version.version }}/import.md %}), then a zero-length string in the input is now treated as `NULL`. The quoted empty string in the input is treated as an empty string. Similarly, if `nullif` is specified, then an unquoted value is treated as `NULL`, and a quoted value is treated as that string. These changes were made to make `IMPORT CSV` behave more similarly to `COPY CSV`. If the previous behavior (i.e., treating either quoted or unquoted values that match the `nullif` setting as `NULL`) is desired, you can use the new `allow_quoted_null` option in the `IMPORT` statement. #84487 +- [`COPY FROM`]({% link {{ page.version.version }}/copy.md %}) operations are now atomic by default instead of being segmented into 100 row transactions. Set the `copy_from_atomic_enabled` session setting to `false` for the previous behavior. #85986 +- The `GRANT` privilege has been removed and replaced by the more granular [`WITH GRANT OPTION`]({% link v23.2/grant.md %}#grant-privileges-with-the-option-to-grant-to-others), which provides control over which privileges are allowed to be granted. #81310 +- Removed the ability to cast `int`, `int2`, and `int8` to a `0` length `BIT` or `VARBIT`. #81266 +- Removed the deprecated `GRANT` privilege. #81310 +- Removed the `ttl_automatic_column` storage parameter. The `crdb_internal_expiration` column is created when `ttl_expire_after` is set and removed when `ttl_expire_after` is reset. #83134 +- Removed the byte string parameter in the `crdb_internal.schedule_sql_stats_compaction` function. #82560 +- Changed the default value of the `enable_implicit_transaction_for_batch_statements` to `true`. This means that a [batch of statements]({% link v23.2/transactions.md %}#batched-statements) sent in one string separated by semicolons is treated as an implicit transaction. #76834 diff --git a/src/current/_includes/v23.2/cdc/avro-udt-composite.md b/src/current/_includes/v23.2/cdc/avro-udt-composite.md index 33e621169a2..637cf76abb1 100644 --- a/src/current/_includes/v23.2/cdc/avro-udt-composite.md +++ b/src/current/_includes/v23.2/cdc/avro-udt-composite.md @@ -1 +1 @@ -A changefeed in [Avro format]({% link {{ page.version.version }}/changefeed-messages.md %}#avro) will not be able to serialize [user-defined composite (tuple) types](create-type.html). [Tracking GitHub Issue](https://github.com/cockroachdb/cockroach/issues/102903) \ No newline at end of file +A changefeed in [Avro format]({% link {{ page.version.version }}/changefeed-messages.md %}#avro) will not be able to serialize [user-defined composite (tuple) types](create-type.html). \ No newline at end of file diff --git a/src/current/_includes/v23.2/cdc/csv-udt-composite.md b/src/current/_includes/v23.2/cdc/csv-udt-composite.md index 1cf920220d0..f32008f9fc9 100644 --- a/src/current/_includes/v23.2/cdc/csv-udt-composite.md +++ b/src/current/_includes/v23.2/cdc/csv-udt-composite.md @@ -1 +1 @@ -A changefeed emitting [CSV]({% link {{ page.version.version }}/changefeed-messages.md %}#csv) will include `AS` labels in the message format when the changefeed serializes a [user-defined composite type]({% link {{ page.version.version }}/create-type.md %}). [Tracking GitHub Issue](https://github.com/cockroachdb/cockroach/issues/102905) \ No newline at end of file +A changefeed emitting [CSV]({% link {{ page.version.version }}/changefeed-messages.md %}#csv) will include `AS` labels in the message format when the changefeed serializes a [user-defined composite type]({% link {{ page.version.version }}/create-type.md %}). \ No newline at end of file diff --git a/src/current/_includes/v23.2/faq/what-is-crdb.md b/src/current/_includes/v23.2/faq/what-is-crdb.md index 28857ed61fa..c99dc2c4c8d 100644 --- a/src/current/_includes/v23.2/faq/what-is-crdb.md +++ b/src/current/_includes/v23.2/faq/what-is-crdb.md @@ -1,6 +1,6 @@ CockroachDB is a [distributed SQL](https://www.cockroachlabs.com/blog/what-is-distributed-sql/) database built on a transactional and strongly-consistent key-value store. It **scales** horizontally; **survives** disk, machine, rack, and even datacenter failures with minimal latency disruption and no manual intervention; supports **strongly-consistent** ACID transactions; and provides a familiar **SQL** API for structuring, manipulating, and querying data. -CockroachDB is inspired by Google's [Spanner](http://research.google.com/archive/spanner.html) and [F1](http://research.google.com/pubs/pub38125.html) technologies, and the [source code](https://github.com/cockroachdb/cockroach) is freely available. +CockroachDB is inspired by Google's [Spanner](http://research.google.com/archive/spanner.html) and [F1](http://research.google.com/pubs/pub38125.html) technologies. {{site.data.alerts.callout_success}} For a deeper dive into CockroachDB's capabilities and how it fits into the database landscape, take the free [**Intro to Distributed SQL and CockroachDB**](https://university.cockroachlabs.com/courses/course-v1:crl+intro-to-distributed-sql-and-cockroachdb+self-paced/about) course on Cockroach University. diff --git a/src/current/_includes/v23.2/known-limitations/alter-changefeed-cdc-queries.md b/src/current/_includes/v23.2/known-limitations/alter-changefeed-cdc-queries.md index cbfa5a818f3..9f78f8075af 100644 --- a/src/current/_includes/v23.2/known-limitations/alter-changefeed-cdc-queries.md +++ b/src/current/_includes/v23.2/known-limitations/alter-changefeed-cdc-queries.md @@ -1 +1 @@ -{% if page.name == "alter-changefeed.md" %} `ALTER CHANGEFEED` {% else %} [`ALTER CHANGEFEED`]({% link {{ page.version.version }}/alter-changefeed.md %}) {% endif %} is not fully supported with changefeeds that use {% if page.name == "cdc-queries.md" %} CDC queries. {% else %} [CDC queries]({% link {{ page.version.version }}/cdc-queries.md %}). {% endif %} You can alter the options that a changefeed uses, but you cannot alter the changefeed target tables. [Tracking GitHub issue](https://github.com/cockroachdb/cockroach/issues/83033) \ No newline at end of file +{% if page.name == "alter-changefeed.md" %} `ALTER CHANGEFEED` {% else %} [`ALTER CHANGEFEED`]({% link {{ page.version.version }}/alter-changefeed.md %}) {% endif %} is not fully supported with changefeeds that use {% if page.name == "cdc-queries.md" %} CDC queries. {% else %} [CDC queries]({% link {{ page.version.version }}/cdc-queries.md %}). {% endif %} You can alter the options that a changefeed uses, but you cannot alter the changefeed target tables. \ No newline at end of file diff --git a/src/current/_includes/v23.2/known-limitations/cdc-execution-locality.md b/src/current/_includes/v23.2/known-limitations/cdc-execution-locality.md index 722ccabedbd..3731ef4c52d 100644 --- a/src/current/_includes/v23.2/known-limitations/cdc-execution-locality.md +++ b/src/current/_includes/v23.2/known-limitations/cdc-execution-locality.md @@ -1 +1 @@ -In v23.2.0, changefeeds that use the [`execution_locality` option]({% link {{ page.version.version }}/changefeeds-in-multi-region-deployments.md %}#run-a-changefeed-job-by-locality) set to a [secondary region]({% link {{ page.version.version }}/multiregion-overview.md %}#secondary-regions) could create a plan that assigns most of the ranges to an [aggregator]({% link {{ page.version.version }}/how-does-an-enterprise-changefeed-work.md %}) on the coordinator node. This leads to an unbalanced plan and slow changefeed progress, particularly when the table is large and has many ranges. This issue is [partially mitigated](https://github.com/cockroachdb/cockroach/commit/5d7714a03a891c9fd5746fb876c39dced4f47205) in v23.2.1 and later. [Tracking GitHub Issue](https://github.com/cockroachdb/cockroach/issues/124822) \ No newline at end of file +In v23.2.0, changefeeds that use the [`execution_locality` option]({% link {{ page.version.version }}/changefeeds-in-multi-region-deployments.md %}#run-a-changefeed-job-by-locality) set to a [secondary region]({% link {{ page.version.version }}/multiregion-overview.md %}#secondary-regions) could create a plan that assigns most of the ranges to an [aggregator]({% link {{ page.version.version }}/how-does-an-enterprise-changefeed-work.md %}) on the coordinator node. This leads to an unbalanced plan and slow changefeed progress, particularly when the table is large and has many ranges. This issue is [partially mitigated](https://github.com/cockroachdb/cockroach/commit/5d7714a03a891c9fd5746fb876c39dced4f47205) in v23.2.1 and later. \ No newline at end of file diff --git a/src/current/_includes/v23.2/known-limitations/cdc-queries-column-families.md b/src/current/_includes/v23.2/known-limitations/cdc-queries-column-families.md index a68a7949824..c9b9a1352a0 100644 --- a/src/current/_includes/v23.2/known-limitations/cdc-queries-column-families.md +++ b/src/current/_includes/v23.2/known-limitations/cdc-queries-column-families.md @@ -1 +1 @@ -Creating a changefeed with {% if page.name == "cdc-queries.md" %} CDC queries {% else %} [CDC queries]({% link {{ page.version.version }}/cdc-queries.md %}) {% endif %} on tables with more than one {% if page.name == "changefeeds-on-tables-with-column-families.md" %} column family {% else %} [column family]({% link {{ page.version.version }}/changefeeds-on-tables-with-column-families.md %}) {% endif %} is not supported. [Tracking GitHub Issue](https://github.com/cockroachdb/cockroach/issues/127761) \ No newline at end of file +Creating a changefeed with {% if page.name == "cdc-queries.md" %} CDC queries {% else %} [CDC queries]({% link {{ page.version.version }}/cdc-queries.md %}) {% endif %} on tables with more than one {% if page.name == "changefeeds-on-tables-with-column-families.md" %} column family {% else %} [column family]({% link {{ page.version.version }}/changefeeds-on-tables-with-column-families.md %}) {% endif %} is not supported. \ No newline at end of file diff --git a/src/current/_includes/v23.2/known-limitations/cdc-queries.md b/src/current/_includes/v23.2/known-limitations/cdc-queries.md index 1fcc6988f1a..a19a4a9a9c4 100644 --- a/src/current/_includes/v23.2/known-limitations/cdc-queries.md +++ b/src/current/_includes/v23.2/known-limitations/cdc-queries.md @@ -3,5 +3,5 @@ - The following are not permitted in CDC queries: - [Volatile functions]({% link {{ page.version.version }}/functions-and-operators.md %}#function-volatility). - Sub-select queries. - - [Aggregate]({% link {{ page.version.version }}/functions-and-operators.md %}#aggregate-functions) and [window functions]({% link {{ page.version.version }}/window-functions.md %}) (i.e., functions operating over many rows). [Tracking GitHub issue](https://github.com/cockroachdb/cockroach/issues/98237) -- `delete` changefeed events will only contain the [primary key]({% link {{ page.version.version }}/primary-key.md %}). All other columns will emit as `NULL`. See [Capture delete messages]({% link {{ page.version.version }}/cdc-queries.md %}#capture-delete-messages) for detail on running a CDC query that emits the deleted values. [Tracking GitHub issue](https://github.com/cockroachdb/cockroach/issues/83835) + - [Aggregate]({% link {{ page.version.version }}/functions-and-operators.md %}#aggregate-functions) and [window functions]({% link {{ page.version.version }}/window-functions.md %}) (i.e., functions operating over many rows). +- `delete` changefeed events will only contain the [primary key]({% link {{ page.version.version }}/primary-key.md %}). All other columns will emit as `NULL`. See [Capture delete messages]({% link {{ page.version.version }}/cdc-queries.md %}#capture-delete-messages) for detail on running a CDC query that emits the deleted values. diff --git a/src/current/_includes/v23.2/known-limitations/cdc.md b/src/current/_includes/v23.2/known-limitations/cdc.md index 008fdb46867..ecf4d7d3fa0 100644 --- a/src/current/_includes/v23.2/known-limitations/cdc.md +++ b/src/current/_includes/v23.2/known-limitations/cdc.md @@ -1,8 +1,8 @@ -- Changefeed target options are limited to tables and [column families]({% link {{ page.version.version }}/changefeeds-on-tables-with-column-families.md %}). [Tracking GitHub Issue](https://github.com/cockroachdb/cockroach/issues/73435) +- Changefeed target options are limited to tables and [column families]({% link {{ page.version.version }}/changefeeds-on-tables-with-column-families.md %}). - {% include {{page.version.version}}/cdc/kafka-vpc-limitation.md %} -- Webhook sinks only support HTTPS. Use the [`insecure_tls_skip_verify`]({% link {{ page.version.version }}/create-changefeed.md %}#tls-skip-verify) parameter when testing to disable certificate verification; however, this still requires HTTPS and certificates. [Tracking GitHub Issue](https://github.com/cockroachdb/cockroach/issues/73431) -- Formats for changefeed messages are not supported by all changefeed sinks. Refer to the [Changefeed Sinks]({% link {{ page.version.version }}/changefeed-sinks.md %}) page for details on compatible formats with each sink and the [`format`]({% link {{ page.version.version }}/create-changefeed.md %}) option to specify a changefeed message format. [Tracking GitHub Issue](https://github.com/cockroachdb/cockroach/issues/73432) -- Using the [`split_column_families`]({% link {{ page.version.version }}/create-changefeed.md %}#split-column-families) and [`resolved`]({% link {{ page.version.version }}/create-changefeed.md %}#resolved-option) options on the same changefeed will cause an error when using the following [sinks](changefeed-sinks.html): Kafka and Google Cloud Pub/Sub. Instead, use the individual `FAMILY` keyword to specify column families when creating a changefeed. [Tracking GitHub Issue](https://github.com/cockroachdb/cockroach/issues/79452) +- Webhook sinks only support HTTPS. Use the [`insecure_tls_skip_verify`]({% link {{ page.version.version }}/create-changefeed.md %}#tls-skip-verify) parameter when testing to disable certificate verification; however, this still requires HTTPS and certificates. +- Formats for changefeed messages are not supported by all changefeed sinks. Refer to the [Changefeed Sinks]({% link {{ page.version.version }}/changefeed-sinks.md %}) page for details on compatible formats with each sink and the [`format`]({% link {{ page.version.version }}/create-changefeed.md %}) option to specify a changefeed message format. +- Using the [`split_column_families`]({% link {{ page.version.version }}/create-changefeed.md %}#split-column-families) and [`resolved`]({% link {{ page.version.version }}/create-changefeed.md %}#resolved-option) options on the same changefeed will cause an error when using the following [sinks](changefeed-sinks.html): Kafka and Google Cloud Pub/Sub. Instead, use the individual `FAMILY` keyword to specify column families when creating a changefeed. - {% include {{page.version.version}}/cdc/types-udt-composite-general.md %} The following limitations apply: - {% include {{page.version.version}}/cdc/avro-udt-composite.md %} - {% include {{page.version.version}}/cdc/csv-udt-composite.md %} \ No newline at end of file diff --git a/src/current/_includes/v23.2/known-limitations/changefeed-column-family-message.md b/src/current/_includes/v23.2/known-limitations/changefeed-column-family-message.md index b8aafbe11dc..0b2032f72cb 100644 --- a/src/current/_includes/v23.2/known-limitations/changefeed-column-family-message.md +++ b/src/current/_includes/v23.2/known-limitations/changefeed-column-family-message.md @@ -1 +1 @@ -When you create a changefeed on a table with more than one {% if page.name == "changefeeds-on-tables-with-column-families.md" %} column family {% else %} [column family]({% link {{ page.version.version }}/changefeeds-on-tables-with-column-families.md %}) {% endif %}, the changefeed will emit messages per column family in separate streams. As a result, [changefeed messages]({% link {{ page.version.version }}/changefeed-messages.md %}) for different column families will arrive at the [sink]({% link {{ page.version.version }}/changefeed-sinks.md %}) under separate topics. [Tracking GitHub Issue](https://github.com/cockroachdb/cockroach/issues/127736) \ No newline at end of file +When you create a changefeed on a table with more than one {% if page.name == "changefeeds-on-tables-with-column-families.md" %} column family {% else %} [column family]({% link {{ page.version.version }}/changefeeds-on-tables-with-column-families.md %}) {% endif %}, the changefeed will emit messages per column family in separate streams. As a result, [changefeed messages]({% link {{ page.version.version }}/changefeed-messages.md %}) for different column families will arrive at the [sink]({% link {{ page.version.version }}/changefeed-sinks.md %}) under separate topics. \ No newline at end of file diff --git a/src/current/_includes/v23.2/known-limitations/copy-syntax.md b/src/current/_includes/v23.2/known-limitations/copy-syntax.md index 0c6c89299df..572d6943adc 100644 --- a/src/current/_includes/v23.2/known-limitations/copy-syntax.md +++ b/src/current/_includes/v23.2/known-limitations/copy-syntax.md @@ -2,10 +2,10 @@ CockroachDB does not yet support the following `COPY` syntax: - Various `COPY` options (`FORMAT`, `FREEZE`, `QUOTE`, etc.). - - [Tracking GitHub Issue](https://github.com/cockroachdb/cockroach/issues/85572) - - [Tracking GitHub Issue](https://github.com/cockroachdb/cockroach/issues/85573) - - [Tracking GitHub Issue](https://github.com/cockroachdb/cockroach/issues/85574) + - + - + - - `COPY ... FROM ... WHERE `. - - [Tracking GitHub Issue](https://github.com/cockroachdb/cockroach/issues/54580) + - diff --git a/src/current/_includes/v23.2/known-limitations/pcr-scheduled-changefeeds.md b/src/current/_includes/v23.2/known-limitations/pcr-scheduled-changefeeds.md index 58d01be65aa..2e0b48ced9f 100644 --- a/src/current/_includes/v23.2/known-limitations/pcr-scheduled-changefeeds.md +++ b/src/current/_includes/v23.2/known-limitations/pcr-scheduled-changefeeds.md @@ -1 +1 @@ -After the [cutover process]({% link {{ page.version.version }}/cutover-replication.md %}) for [physical cluster replication]({% link {{ page.version.version }}/physical-cluster-replication-overview.md %}), [scheduled changefeeds]({% link {{ page.version.version }}/create-schedule-for-changefeed.md %}) will continue on the promoted cluster. You will need to manage [pausing]({% link {{ page.version.version }}/pause-schedules.md %}) or [canceling]({% link {{ page.version.version }}/drop-schedules.md %}) the schedule on the promoted standby cluster to avoid two clusters running the same changefeed to one sink. [Tracking GitHub issue](https://github.com/cockroachdb/cockroach/issues/123776) \ No newline at end of file +After the [cutover process]({% link {{ page.version.version }}/cutover-replication.md %}) for [physical cluster replication]({% link {{ page.version.version }}/physical-cluster-replication-overview.md %}), [scheduled changefeeds]({% link {{ page.version.version }}/create-schedule-for-changefeed.md %}) will continue on the promoted cluster. You will need to manage [pausing]({% link {{ page.version.version }}/pause-schedules.md %}) or [canceling]({% link {{ page.version.version }}/drop-schedules.md %}) the schedule on the promoted standby cluster to avoid two clusters running the same changefeed to one sink. \ No newline at end of file diff --git a/src/current/_includes/v23.2/known-limitations/restore-tables-non-multi-reg.md b/src/current/_includes/v23.2/known-limitations/restore-tables-non-multi-reg.md index 360f93f796f..a6558d30c7d 100644 --- a/src/current/_includes/v23.2/known-limitations/restore-tables-non-multi-reg.md +++ b/src/current/_includes/v23.2/known-limitations/restore-tables-non-multi-reg.md @@ -1 +1 @@ -Restoring [`GLOBAL`]({% link {{ page.version.version }}/table-localities.md %}#global-tables) and [`REGIONAL BY TABLE`]({% link {{ page.version.version }}/table-localities.md %}#regional-tables) tables into a **non**-multi-region database is not supported. [Tracking GitHub Issue](https://github.com/cockroachdb/cockroach/issues/71502) +Restoring [`GLOBAL`]({% link {{ page.version.version }}/table-localities.md %}#global-tables) and [`REGIONAL BY TABLE`]({% link {{ page.version.version }}/table-localities.md %}#regional-tables) tables into a **non**-multi-region database is not supported. diff --git a/src/current/_includes/v23.2/known-limitations/restore-udf.md b/src/current/_includes/v23.2/known-limitations/restore-udf.md index 053a3b90df7..cd695383ba6 100644 --- a/src/current/_includes/v23.2/known-limitations/restore-udf.md +++ b/src/current/_includes/v23.2/known-limitations/restore-udf.md @@ -1 +1 @@ -`RESTORE` will not restore a table that references a [UDF]({% link {{ page.version.version }}/user-defined-functions.md %}), unless you skip restoring the function with the {% if page.name == "restore.md" %} [`skip_missing_udfs`](#skip-missing-udfs) {% else %} [`skip_missing_udfs`]({% link {{ page.version.version }}/restore.md %}#skip-missing-udfs) {% endif %} option. Alternatively, take a [database-level backup]({% link {{ page.version.version }}/backup.md %}#back-up-a-database) to include everything needed to restore the table. [Tracking GitHub Issue](https://github.com/cockroachdb/cockroach/issues/118195) \ No newline at end of file +`RESTORE` will not restore a table that references a [UDF]({% link {{ page.version.version }}/user-defined-functions.md %}), unless you skip restoring the function with the {% if page.name == "restore.md" %} [`skip_missing_udfs`](#skip-missing-udfs) {% else %} [`skip_missing_udfs`]({% link {{ page.version.version }}/restore.md %}#skip-missing-udfs) {% endif %} option. Alternatively, take a [database-level backup]({% link {{ page.version.version }}/backup.md %}#back-up-a-database) to include everything needed to restore the table. \ No newline at end of file diff --git a/src/current/_includes/v23.2/known-limitations/set-transaction-no-rollback.md b/src/current/_includes/v23.2/known-limitations/set-transaction-no-rollback.md index c2e78c7d78a..4ab3d72a6ae 100644 --- a/src/current/_includes/v23.2/known-limitations/set-transaction-no-rollback.md +++ b/src/current/_includes/v23.2/known-limitations/set-transaction-no-rollback.md @@ -13,5 +13,3 @@ timezone ------------ 3 ~~~ - -[Tracking GitHub Issue](https://github.com/cockroachdb/cockroach/issues/69396) diff --git a/src/current/_includes/v23.2/known-limitations/show-backup-locality-incremental-location.md b/src/current/_includes/v23.2/known-limitations/show-backup-locality-incremental-location.md index 428a78c0da0..d927d592355 100644 --- a/src/current/_includes/v23.2/known-limitations/show-backup-locality-incremental-location.md +++ b/src/current/_includes/v23.2/known-limitations/show-backup-locality-incremental-location.md @@ -1 +1 @@ -{% if page.name == "show-backup.md" %}`SHOW BACKUP`{% else %}[`SHOW BACKUP`]({% link {{ page.version.version }}/show-backup.md %}){% endif %} can display backups taken with the `incremental_location` option **or** for [locality-aware backups]({% link {{ page.version.version }}/take-and-restore-locality-aware-backups.md %}). It will not display backups for locality-aware backups taken with the `incremental_location` option. [Tracking GitHub issue](https://github.com/cockroachdb/cockroach/issues/82912). \ No newline at end of file +{% if page.name == "show-backup.md" %}`SHOW BACKUP`{% else %}[`SHOW BACKUP`]({% link {{ page.version.version }}/show-backup.md %}){% endif %} can display backups taken with the `incremental_location` option **or** for [locality-aware backups]({% link {{ page.version.version }}/take-and-restore-locality-aware-backups.md %}). It will not display backups for locality-aware backups taken with the `incremental_location` option.. \ No newline at end of file diff --git a/src/current/_includes/v23.2/known-limitations/show-backup-symlink.md b/src/current/_includes/v23.2/known-limitations/show-backup-symlink.md index 1316e7d7667..b54ed7d2f1e 100644 --- a/src/current/_includes/v23.2/known-limitations/show-backup-symlink.md +++ b/src/current/_includes/v23.2/known-limitations/show-backup-symlink.md @@ -1 +1 @@ -[`SHOW BACKUP`]({% link {{ page.version.version }}/show-backup.md %}) does not support listing backups if the [`nodelocal`]({% link {{ page.version.version }}/cockroach-nodelocal-upload.md %}) storage location is a symlink. [Tracking GitHub Issue](https://github.com/cockroachdb/cockroach/issues/70260) \ No newline at end of file +[`SHOW BACKUP`]({% link {{ page.version.version }}/show-backup.md %}) does not support listing backups if the [`nodelocal`]({% link {{ page.version.version }}/cockroach-nodelocal-upload.md %}) storage location is a symlink. \ No newline at end of file diff --git a/src/current/_includes/v23.2/known-limitations/userfile-upload-non-recursive.md b/src/current/_includes/v23.2/known-limitations/userfile-upload-non-recursive.md index 19db5fde6a4..3ed31f482fa 100644 --- a/src/current/_includes/v23.2/known-limitations/userfile-upload-non-recursive.md +++ b/src/current/_includes/v23.2/known-limitations/userfile-upload-non-recursive.md @@ -1 +1 @@ -- `cockroach userfile upload` does not not currently allow for recursive uploads from a directory. This feature will be present with the `--recursive` flag in future versions. [Tracking GitHub Issue](https://github.com/cockroachdb/cockroach/pull/65307) +- `cockroach userfile upload` does not not currently allow for recursive uploads from a directory. This feature will be present with the `--recursive` flag in future versions. diff --git a/src/current/_includes/v23.2/prod-deployment/decommission-pre-flight-checks.md b/src/current/_includes/v23.2/prod-deployment/decommission-pre-flight-checks.md index b267379384b..5b3b626f70d 100644 --- a/src/current/_includes/v23.2/prod-deployment/decommission-pre-flight-checks.md +++ b/src/current/_includes/v23.2/prod-deployment/decommission-pre-flight-checks.md @@ -14,5 +14,5 @@ Failed running "node decommission" These checks can be skipped by [passing the flag `--checks=skip` to `cockroach node decommission`]({% link {{ page.version.version }}/cockroach-node.md %}#decommission-checks). {{site.data.alerts.callout_info}} -The amount of remaining disk space on other nodes in the cluster is not yet considered as part of the decommissioning pre-flight checks. For more information, see [cockroachdb/cockroach#71757](https://github.com/cockroachdb/cockroach/issues/71757) +The amount of remaining disk space on other nodes in the cluster is not yet considered as part of the decommissioning pre-flight checks. {{site.data.alerts.end}} diff --git a/src/current/_includes/v23.2/sql/cannot-refresh-materialized-views-inside-transactions.md b/src/current/_includes/v23.2/sql/cannot-refresh-materialized-views-inside-transactions.md index c78308152f6..cd93d6ad8c8 100644 --- a/src/current/_includes/v23.2/sql/cannot-refresh-materialized-views-inside-transactions.md +++ b/src/current/_includes/v23.2/sql/cannot-refresh-materialized-views-inside-transactions.md @@ -23,5 +23,3 @@ ERROR: cannot refresh view in an explicit transaction SQLSTATE: 25000 ~~~ - - [Tracking GitHub Issue](https://github.com/cockroachdb/cockroach/issues/66008) diff --git a/src/current/_includes/v23.2/sql/expression-indexes-cannot-reference-computed-columns.md b/src/current/_includes/v23.2/sql/expression-indexes-cannot-reference-computed-columns.md index 64d80e31fa3..24e548f6c24 100644 --- a/src/current/_includes/v23.2/sql/expression-indexes-cannot-reference-computed-columns.md +++ b/src/current/_includes/v23.2/sql/expression-indexes-cannot-reference-computed-columns.md @@ -1,3 +1 @@ -CockroachDB does not allow {% if page.name == "expression-indexes.md" %} expression indexes {% else %} [expression indexes]({% link {{ page.version.version }}/expression-indexes.md %}) {% endif %} to reference [computed columns]({% link {{ page.version.version }}/computed-columns.md %}). - - [Tracking GitHub Issue](https://github.com/cockroachdb/cockroach/issues/67900) +CockroachDB does not allow {% if page.name == "expression-indexes.md" %} expression indexes {% else %} [expression indexes]({% link {{ page.version.version }}/expression-indexes.md %}) {% endif %} to reference [computed columns]({% link {{ page.version.version }}/computed-columns.md %}). \ No newline at end of file diff --git a/src/current/_includes/v23.2/sql/expressions-as-on-conflict-targets.md b/src/current/_includes/v23.2/sql/expressions-as-on-conflict-targets.md index 882dd905b1d..d4c335d0f01 100644 --- a/src/current/_includes/v23.2/sql/expressions-as-on-conflict-targets.md +++ b/src/current/_includes/v23.2/sql/expressions-as-on-conflict-targets.md @@ -36,5 +36,3 @@ INSERT INTO t VALUES (1, 2) ON CONFLICT ((a + b)) DO UPDATE SET a = 10 ^ HINT: try \h INSERT ~~~ - -[Tracking GitHub Issue](https://github.com/cockroachdb/cockroach/issues/67893) diff --git a/src/current/_includes/v23.2/sql/jsonb-comparison.md b/src/current/_includes/v23.2/sql/jsonb-comparison.md index 7b4435d6fcc..cabe220b8cb 100644 --- a/src/current/_includes/v23.2/sql/jsonb-comparison.md +++ b/src/current/_includes/v23.2/sql/jsonb-comparison.md @@ -9,5 +9,3 @@ You cannot use comparison operators (such as `<` or `>`) on [`JSONB`]({% link {{ ERROR: unsupported comparison operator: < SQLSTATE: 22023 ~~~ - - [Tracking GitHub issue](https://github.com/cockroachdb/cockroach/issues/49144) diff --git a/src/current/_includes/v23.2/sql/locality-optimized-search-virtual-computed-columns.md b/src/current/_includes/v23.2/sql/locality-optimized-search-virtual-computed-columns.md index c016103b1e1..a07bbd342ee 100644 --- a/src/current/_includes/v23.2/sql/locality-optimized-search-virtual-computed-columns.md +++ b/src/current/_includes/v23.2/sql/locality-optimized-search-virtual-computed-columns.md @@ -1 +1 @@ -- {% if page.name == "cost-based-optimizer.md" %} Locality optimized search {% else %} [Locality optimized search]({% link {{ page.version.version }}/cost-based-optimizer.md %}#locality-optimized-search-in-multi-region-clusters) {% endif %} does not work for queries that use [partitioned unique indexes]({% link {{ page.version.version }}/partitioning.md %}#partition-using-a-secondary-index) on [virtual computed columns](computed-columns.html#virtual-computed-columns). A workaround for computed columns is to make the virtual computed column a [stored computed column](computed-columns.html#stored-computed-columns). Locality optimized search does not work for queries that use partitioned unique [expression indexes](expression-indexes.html). [Tracking GitHub Issue](https://github.com/cockroachdb/cockroach/issues/68129) +- {% if page.name == "cost-based-optimizer.md" %} Locality optimized search {% else %} [Locality optimized search]({% link {{ page.version.version }}/cost-based-optimizer.md %}#locality-optimized-search-in-multi-region-clusters) {% endif %} does not work for queries that use [partitioned unique indexes]({% link {{ page.version.version }}/partitioning.md %}#partition-using-a-secondary-index) on [virtual computed columns](computed-columns.html#virtual-computed-columns). A workaround for computed columns is to make the virtual computed column a [stored computed column](computed-columns.html#stored-computed-columns). Locality optimized search does not work for queries that use partitioned unique [expression indexes](expression-indexes.html). \ No newline at end of file diff --git a/src/current/_includes/v23.2/sql/materialized-views-no-stats.md b/src/current/_includes/v23.2/sql/materialized-views-no-stats.md index e4d262b56ea..ef5df123bdd 100644 --- a/src/current/_includes/v23.2/sql/materialized-views-no-stats.md +++ b/src/current/_includes/v23.2/sql/materialized-views-no-stats.md @@ -1,3 +1 @@ -- The optimizer may not select the most optimal query plan when querying materialized views because CockroachDB does not [collect statistics]({% link {{ page.version.version }}/cost-based-optimizer.md %}#table-statistics) on materialized views. - - [Tracking GitHub Issue](https://github.com/cockroachdb/cockroach/issues/78181). +- The optimizer may not select the most optimal query plan when querying materialized views because CockroachDB does not [collect statistics]({% link {{ page.version.version }}/cost-based-optimizer.md %}#table-statistics) on materialized views. \ No newline at end of file diff --git a/src/current/_includes/v23.2/sql/savepoints-and-high-priority-transactions.md b/src/current/_includes/v23.2/sql/savepoints-and-high-priority-transactions.md index c6de489e641..ce124bc3209 100644 --- a/src/current/_includes/v23.2/sql/savepoints-and-high-priority-transactions.md +++ b/src/current/_includes/v23.2/sql/savepoints-and-high-priority-transactions.md @@ -1 +1 @@ -[`ROLLBACK TO SAVEPOINT`]({% link {{ page.version.version }}/rollback-transaction.md %}#rollback-a-nested-transaction) (for either regular savepoints or "restart savepoints" defined with `cockroach_restart`) causes a "feature not supported" error after a DDL statement in a [`HIGH PRIORITY` transaction]({% link {{ page.version.version }}/transactions.md %}#transaction-priorities), in order to avoid a transaction deadlock. For more information, see GitHub issue [#46414](https://www.github.com/cockroachdb/cockroach/issues/46414). +[`ROLLBACK TO SAVEPOINT`]({% link {{ page.version.version }}/rollback-transaction.md %}#rollback-a-nested-transaction) (for either regular savepoints or "restart savepoints" defined with `cockroach_restart`) causes a "feature not supported" error after a DDL statement in a [`HIGH PRIORITY` transaction]({% link {{ page.version.version }}/transactions.md %}#transaction-priorities), in order to avoid a transaction deadlock. diff --git a/src/current/_includes/v23.2/sql/unsupported-postgres-features.md b/src/current/_includes/v23.2/sql/unsupported-postgres-features.md index 999c4e2e001..03ad433ed16 100644 --- a/src/current/_includes/v23.2/sql/unsupported-postgres-features.md +++ b/src/current/_includes/v23.2/sql/unsupported-postgres-features.md @@ -1,10 +1,10 @@ ### `CREATE DOMAIN` -CockroachDB does not support `CREATE DOMAIN`. Tracking issue: [cockroachdb/cockroach#108659](https://github.com/cockroachdb/cockroach/issues/108659). +CockroachDB does not support `CREATE DOMAIN`. ### PostgreSQL range types -CockroachDB does not support PostgreSQL range types. Tracking issue: [cockroachdb/cockroach#128638](https://github.com/cockroachdb/cockroach/issues/128638). +CockroachDB does not support PostgreSQL range types. ### Other unsupported features diff --git a/src/current/_includes/v24.1/backward-incompatible/alpha.1.md b/src/current/_includes/v24.1/backward-incompatible/alpha.1.md index 524b22b0faa..63f09ecdf02 100644 --- a/src/current/_includes/v24.1/backward-incompatible/alpha.1.md +++ b/src/current/_includes/v24.1/backward-incompatible/alpha.1.md @@ -1,15 +1,15 @@ -- CockroachDB no longer performs environment variable expansion in the parameter `--certs-dir`. Uses like `--certs-dir='$HOME/path'` (expansion by CockroachDB) can be replaced by `--certs-dir="$HOME/path"` (expansion by the Unix shell). [#81298][#81298] -- In the Cockroach CLI, [`BOOL` values](../v23.1/bool.html) are now formatted as `t` or `f` instead of `True` or `False`. [#81943][#81943] -- Removed the `cockroach quit` command. It has been deprecated since v20.1. To [shut down a node](../v23.1/node-shutdown.html) gracefully, send a `SIGTERM` signal to it. [#82988][#82988] -- Added a cluster version to allow the [Pebble storage engine](../v23.1/architecture/storage-layer.html#pebble) to recombine certain SSTables (specifically, user keys that are split across multiple files in a level of the [log-structured merge-tree](../v23.1/architecture/storage-layer.html#log-structured-merge-trees)). Recombining the split user keys is required for supporting the range keys feature. The migration to recombine the SSTables is expected to be short (split user keys are rare in practice), but will block subsequent migrations until all tables have been recombined. The `storage.marked-for-compaction-files` time series metric can show the progress of the migration. [#84887][#84887] +- CockroachDB no longer performs environment variable expansion in the parameter `--certs-dir`. Uses like `--certs-dir='$HOME/path'` (expansion by CockroachDB) can be replaced by `--certs-dir="$HOME/path"` (expansion by the Unix shell). #81298 +- In the Cockroach CLI, [`BOOL` values]({% link {{ page.version.version }}/bool.md %}) are now formatted as `t` or `f` instead of `True` or `False`. #81943 +- Removed the `cockroach quit` command. It has been deprecated since v20.1. To [shut down a node]({% link {{ page.version.version }}/node-shutdown.md %}) gracefully, send a `SIGTERM` signal to it. #82988 +- Added a cluster version to allow the [Pebble storage engine]({% link {{ page.version.version }}/architecture/storage-layer.md#pebble %}) to recombine certain SSTables (specifically, user keys that are split across multiple files in a level of the [log-structured merge-tree]({% link {{ page.version.version }}/architecture/storage-layer.md#log-structured-merge-trees %})). Recombining the split user keys is required for supporting the range keys feature. The migration to recombine the SSTables is expected to be short (split user keys are rare in practice), but will block subsequent migrations until all tables have been recombined. The `storage.marked-for-compaction-files` time series metric can show the progress of the migration. #84887 - Using a single TCP port listener for both RPC (node-node) and SQL client connections is now deprecated. This capability **will be removed** in the next version of CockroachDB. Instead, make one of the following configuration changes to your CockroachDB deployment: - Preferred: keep port `26257` for SQL, and allocate a new port, e.g., `26357`, for node-node RPC connections. For example, you might configure a node with the flags `--listen-addr=:26357 --sql-addr=:26257`, where subsequent nodes seeking to join would then use the flag `--join=othernode:26357,othernode:26257`. This will become the default configuration in the next version of CockroachDB. When using this mode of operation, care should be taken to use a `--join` flag that includes both the previous and new port numbers for other nodes, so that no network partition occurs during the upgrade. - - Optional: keep port `26257` for RPC, and allocate a new port, e.g., `26357`, for SQL connections. For example, you might configure a node with the flags `--listen-addr=:26257 --sql-addr=:26357`. When using this mode of operation, the `--join` flags do not need to be modified. However, SQL client apps or the SQL load balancer configuration (when in use) must be updated to use the new SQL port number. [#85671][#85671] -- If no `nullif` option is specified while using [`IMPORT CSV`](../v23.1/import.html), then a zero-length string in the input is now treated as `NULL`. The quoted empty string in the input is treated as an empty string. Similarly, if `nullif` is specified, then an unquoted value is treated as `NULL`, and a quoted value is treated as that string. These changes were made to make `IMPORT CSV` behave more similarly to `COPY CSV`. If the previous behavior (i.e., treating either quoted or unquoted values that match the `nullif` setting as `NULL`) is desired, you can use the new `allow_quoted_null` option in the `IMPORT` statement. [#84487][#84487] -- [`COPY FROM`](../v23.1/copy.html) operations are now atomic by default instead of being segmented into 100 row transactions. Set the `copy_from_atomic_enabled` session setting to `false` for the previous behavior. [#85986][#85986] -- The `GRANT` privilege has been removed and replaced by the more granular [`WITH GRANT OPTION`]({% link v24.1/grant.md %}#grant-privileges-with-the-option-to-grant-to-others), which provides control over which privileges are allowed to be granted. [#81310][#81310] -- Removed the ability to cast `int`, `int2`, and `int8` to a `0` length `BIT` or `VARBIT`. [#81266][#81266] -- Removed the deprecated `GRANT` privilege. [#81310][#81310] -- Removed the `ttl_automatic_column` storage parameter. The `crdb_internal_expiration` column is created when `ttl_expire_after` is set and removed when `ttl_expire_after` is reset. [#83134][#83134] -- Removed the byte string parameter in the `crdb_internal.schedule_sql_stats_compaction` function. [#82560][#82560] -- Changed the default value of the `enable_implicit_transaction_for_batch_statements` to `true`. This means that a [batch of statements]({% link v24.1/transactions.md %}#batched-statements) sent in one string separated by semicolons is treated as an implicit transaction. [#76834][#76834] + - Optional: keep port `26257` for RPC, and allocate a new port, e.g., `26357`, for SQL connections. For example, you might configure a node with the flags `--listen-addr=:26257 --sql-addr=:26357`. When using this mode of operation, the `--join` flags do not need to be modified. However, SQL client apps or the SQL load balancer configuration (when in use) must be updated to use the new SQL port number. #85671 +- If no `nullif` option is specified while using [`IMPORT CSV`]({% link {{ page.version.version }}/import.md %}), then a zero-length string in the input is now treated as `NULL`. The quoted empty string in the input is treated as an empty string. Similarly, if `nullif` is specified, then an unquoted value is treated as `NULL`, and a quoted value is treated as that string. These changes were made to make `IMPORT CSV` behave more similarly to `COPY CSV`. If the previous behavior (i.e., treating either quoted or unquoted values that match the `nullif` setting as `NULL`) is desired, you can use the new `allow_quoted_null` option in the `IMPORT` statement. #84487 +- [`COPY FROM`]({% link {{ page.version.version }}/copy.md %}) operations are now atomic by default instead of being segmented into 100 row transactions. Set the `copy_from_atomic_enabled` session setting to `false` for the previous behavior. #85986 +- The `GRANT` privilege has been removed and replaced by the more granular [`WITH GRANT OPTION`]({% link v24.1/grant.md %}#grant-privileges-with-the-option-to-grant-to-others), which provides control over which privileges are allowed to be granted. #81310 +- Removed the ability to cast `int`, `int2`, and `int8` to a `0` length `BIT` or `VARBIT`. #81266 +- Removed the deprecated `GRANT` privilege. #81310 +- Removed the `ttl_automatic_column` storage parameter. The `crdb_internal_expiration` column is created when `ttl_expire_after` is set and removed when `ttl_expire_after` is reset. #83134 +- Removed the byte string parameter in the `crdb_internal.schedule_sql_stats_compaction` function. #82560 +- Changed the default value of the `enable_implicit_transaction_for_batch_statements` to `true`. This means that a [batch of statements]({% link v24.1/transactions.md %}#batched-statements) sent in one string separated by semicolons is treated as an implicit transaction. #76834 diff --git a/src/current/_includes/v24.1/cdc/avro-udt-composite.md b/src/current/_includes/v24.1/cdc/avro-udt-composite.md index 7a34fbd3253..637cf76abb1 100644 --- a/src/current/_includes/v24.1/cdc/avro-udt-composite.md +++ b/src/current/_includes/v24.1/cdc/avro-udt-composite.md @@ -1 +1 @@ -A changefeed in [Avro format]({% link {{ page.version.version }}/changefeed-messages.md %}#avro) will not be able to serialize [user-defined composite (tuple) types](create-type.html). [#102903](https://github.com/cockroachdb/cockroach/issues/102903) \ No newline at end of file +A changefeed in [Avro format]({% link {{ page.version.version }}/changefeed-messages.md %}#avro) will not be able to serialize [user-defined composite (tuple) types](create-type.html). \ No newline at end of file diff --git a/src/current/_includes/v24.1/cdc/csv-udt-composite.md b/src/current/_includes/v24.1/cdc/csv-udt-composite.md index 834bddd8366..f32008f9fc9 100644 --- a/src/current/_includes/v24.1/cdc/csv-udt-composite.md +++ b/src/current/_includes/v24.1/cdc/csv-udt-composite.md @@ -1 +1 @@ -A changefeed emitting [CSV]({% link {{ page.version.version }}/changefeed-messages.md %}#csv) will include `AS` labels in the message format when the changefeed serializes a [user-defined composite type]({% link {{ page.version.version }}/create-type.md %}). [#102905](https://github.com/cockroachdb/cockroach/issues/102905) \ No newline at end of file +A changefeed emitting [CSV]({% link {{ page.version.version }}/changefeed-messages.md %}#csv) will include `AS` labels in the message format when the changefeed serializes a [user-defined composite type]({% link {{ page.version.version }}/create-type.md %}). \ No newline at end of file diff --git a/src/current/_includes/v24.1/faq/what-is-crdb.md b/src/current/_includes/v24.1/faq/what-is-crdb.md index 28857ed61fa..c99dc2c4c8d 100644 --- a/src/current/_includes/v24.1/faq/what-is-crdb.md +++ b/src/current/_includes/v24.1/faq/what-is-crdb.md @@ -1,6 +1,6 @@ CockroachDB is a [distributed SQL](https://www.cockroachlabs.com/blog/what-is-distributed-sql/) database built on a transactional and strongly-consistent key-value store. It **scales** horizontally; **survives** disk, machine, rack, and even datacenter failures with minimal latency disruption and no manual intervention; supports **strongly-consistent** ACID transactions; and provides a familiar **SQL** API for structuring, manipulating, and querying data. -CockroachDB is inspired by Google's [Spanner](http://research.google.com/archive/spanner.html) and [F1](http://research.google.com/pubs/pub38125.html) technologies, and the [source code](https://github.com/cockroachdb/cockroach) is freely available. +CockroachDB is inspired by Google's [Spanner](http://research.google.com/archive/spanner.html) and [F1](http://research.google.com/pubs/pub38125.html) technologies. {{site.data.alerts.callout_success}} For a deeper dive into CockroachDB's capabilities and how it fits into the database landscape, take the free [**Intro to Distributed SQL and CockroachDB**](https://university.cockroachlabs.com/courses/course-v1:crl+intro-to-distributed-sql-and-cockroachdb+self-paced/about) course on Cockroach University. diff --git a/src/current/_includes/v24.1/finalization-required/119894.md b/src/current/_includes/v24.1/finalization-required/119894.md index f2b393c3c0e..f5177dcd523 100644 --- a/src/current/_includes/v24.1/finalization-required/119894.md +++ b/src/current/_includes/v24.1/finalization-required/119894.md @@ -1 +1 @@ -[Splits](https://cockroachlabs.com/docs/{{ include.version }}/architecture/distribution-layer#range-splits) no longer hold [latches](https://cockroachlabs.com/docs/architecture/distribution-layer.#latch-manager) for time proportional to the range size while computing [MVCC](https://cockroachlabs.com/docs/{{ include.version }}/architecture/storage-layer#mvcc) statistics. Instead, MVCC statistics are pre-computed before the critical section of the split. As a side effect, the resulting statistics are no longer 100% accurate because they may correctly distribute writes concurrent with the split. To mitigate against this potential inaccuracy, and to prevent the statistics from drifting after successive splits, the existing stored statistics are re-computed and corrected if needed during the non-critical section of the split. [#119894](https://github.com/cockroachdb/cockroach/pull/119894) +[Splits](https://cockroachlabs.com/docs/{{ include.version }}/architecture/distribution-layer#range-splits) no longer hold [latches](https://cockroachlabs.com/docs/architecture/distribution-layer.#latch-manager) for time proportional to the range size while computing [MVCC](https://cockroachlabs.com/docs/{{ include.version }}/architecture/storage-layer#mvcc) statistics. Instead, MVCC statistics are pre-computed before the critical section of the split. As a side effect, the resulting statistics are no longer 100% accurate because they may correctly distribute writes concurrent with the split. To mitigate against this potential inaccuracy, and to prevent the statistics from drifting after successive splits, the existing stored statistics are re-computed and corrected if needed during the non-critical section of the split. #119894 diff --git a/src/current/_includes/v24.1/prod-deployment/decommission-pre-flight-checks.md b/src/current/_includes/v24.1/prod-deployment/decommission-pre-flight-checks.md index b267379384b..5b3b626f70d 100644 --- a/src/current/_includes/v24.1/prod-deployment/decommission-pre-flight-checks.md +++ b/src/current/_includes/v24.1/prod-deployment/decommission-pre-flight-checks.md @@ -14,5 +14,5 @@ Failed running "node decommission" These checks can be skipped by [passing the flag `--checks=skip` to `cockroach node decommission`]({% link {{ page.version.version }}/cockroach-node.md %}#decommission-checks). {{site.data.alerts.callout_info}} -The amount of remaining disk space on other nodes in the cluster is not yet considered as part of the decommissioning pre-flight checks. For more information, see [cockroachdb/cockroach#71757](https://github.com/cockroachdb/cockroach/issues/71757) +The amount of remaining disk space on other nodes in the cluster is not yet considered as part of the decommissioning pre-flight checks. {{site.data.alerts.end}} diff --git a/src/current/_includes/v24.1/sql/savepoints-and-high-priority-transactions.md b/src/current/_includes/v24.1/sql/savepoints-and-high-priority-transactions.md index c6de489e641..ce124bc3209 100644 --- a/src/current/_includes/v24.1/sql/savepoints-and-high-priority-transactions.md +++ b/src/current/_includes/v24.1/sql/savepoints-and-high-priority-transactions.md @@ -1 +1 @@ -[`ROLLBACK TO SAVEPOINT`]({% link {{ page.version.version }}/rollback-transaction.md %}#rollback-a-nested-transaction) (for either regular savepoints or "restart savepoints" defined with `cockroach_restart`) causes a "feature not supported" error after a DDL statement in a [`HIGH PRIORITY` transaction]({% link {{ page.version.version }}/transactions.md %}#transaction-priorities), in order to avoid a transaction deadlock. For more information, see GitHub issue [#46414](https://www.github.com/cockroachdb/cockroach/issues/46414). +[`ROLLBACK TO SAVEPOINT`]({% link {{ page.version.version }}/rollback-transaction.md %}#rollback-a-nested-transaction) (for either regular savepoints or "restart savepoints" defined with `cockroach_restart`) causes a "feature not supported" error after a DDL statement in a [`HIGH PRIORITY` transaction]({% link {{ page.version.version }}/transactions.md %}#transaction-priorities), in order to avoid a transaction deadlock. diff --git a/src/current/_includes/v24.1/sql/unsupported-postgres-features.md b/src/current/_includes/v24.1/sql/unsupported-postgres-features.md index 999c4e2e001..03ad433ed16 100644 --- a/src/current/_includes/v24.1/sql/unsupported-postgres-features.md +++ b/src/current/_includes/v24.1/sql/unsupported-postgres-features.md @@ -1,10 +1,10 @@ ### `CREATE DOMAIN` -CockroachDB does not support `CREATE DOMAIN`. Tracking issue: [cockroachdb/cockroach#108659](https://github.com/cockroachdb/cockroach/issues/108659). +CockroachDB does not support `CREATE DOMAIN`. ### PostgreSQL range types -CockroachDB does not support PostgreSQL range types. Tracking issue: [cockroachdb/cockroach#128638](https://github.com/cockroachdb/cockroach/issues/128638). +CockroachDB does not support PostgreSQL range types. ### Other unsupported features diff --git a/src/current/_includes/v24.2/backward-incompatible/alpha.1.md b/src/current/_includes/v24.2/backward-incompatible/alpha.1.md index 9a4f6dc554f..52890cecf72 100644 --- a/src/current/_includes/v24.2/backward-incompatible/alpha.1.md +++ b/src/current/_includes/v24.2/backward-incompatible/alpha.1.md @@ -1,15 +1,15 @@ -- CockroachDB no longer performs environment variable expansion in the parameter `--certs-dir`. Uses like `--certs-dir='$HOME/path'` (expansion by CockroachDB) can be replaced by `--certs-dir="$HOME/path"` (expansion by the Unix shell). [#81298][#81298] -- In the Cockroach CLI, [`BOOL` values](../v23.1/bool.html) are now formatted as `t` or `f` instead of `True` or `False`. [#81943][#81943] -- Removed the `cockroach quit` command. It has been deprecated since v20.1. To [shut down a node](../v23.1/node-shutdown.html) gracefully, send a `SIGTERM` signal to it. [#82988][#82988] -- Added a cluster version to allow the [Pebble storage engine](../v23.1/architecture/storage-layer.html#pebble) to recombine certain SSTables (specifically, user keys that are split across multiple files in a level of the [log-structured merge-tree](../v23.1/architecture/storage-layer.html#log-structured-merge-trees)). Recombining the split user keys is required for supporting the range keys feature. The migration to recombine the SSTables is expected to be short (split user keys are rare in practice), but will block subsequent migrations until all tables have been recombined. The `storage.marked-for-compaction-files` time series metric can show the progress of the migration. [#84887][#84887] +- CockroachDB no longer performs environment variable expansion in the parameter `--certs-dir`. Uses like `--certs-dir='$HOME/path'` (expansion by CockroachDB) can be replaced by `--certs-dir="$HOME/path"` (expansion by the Unix shell). #81298 +- In the Cockroach CLI, [`BOOL` values]({% link {{ page.version.version }}/bool.md %}) are now formatted as `t` or `f` instead of `True` or `False`. #81943 +- Removed the `cockroach quit` command. It has been deprecated since v20.1. To [shut down a node]({% link {{ page.version.version }}/node-shutdown.md %}) gracefully, send a `SIGTERM` signal to it. #82988 +- Added a cluster version to allow the [Pebble storage engine]({% link {{ page.version.version }}/architecture/storage-layer.md#pebble %}) to recombine certain SSTables (specifically, user keys that are split across multiple files in a level of the [log-structured merge-tree]({% link {{ page.version.version }}/architecture/storage-layer.md#log-structured-merge-trees %})). Recombining the split user keys is required for supporting the range keys feature. The migration to recombine the SSTables is expected to be short (split user keys are rare in practice), but will block subsequent migrations until all tables have been recombined. The `storage.marked-for-compaction-files` time series metric can show the progress of the migration. #84887 - Using a single TCP port listener for both RPC (node-node) and SQL client connections is now deprecated. This capability **will be removed** in the next version of CockroachDB. Instead, make one of the following configuration changes to your CockroachDB deployment: - Preferred: keep port `26257` for SQL, and allocate a new port, e.g., `26357`, for node-node RPC connections. For example, you might configure a node with the flags `--listen-addr=:26357 --sql-addr=:26257`, where subsequent nodes seeking to join would then use the flag `--join=othernode:26357,othernode:26257`. This will become the default configuration in the next version of CockroachDB. When using this mode of operation, care should be taken to use a `--join` flag that includes both the previous and new port numbers for other nodes, so that no network partition occurs during the upgrade. - - Optional: keep port `26257` for RPC, and allocate a new port, e.g., `26357`, for SQL connections. For example, you might configure a node with the flags `--listen-addr=:26257 --sql-addr=:26357`. When using this mode of operation, the `--join` flags do not need to be modified. However, SQL client apps or the SQL load balancer configuration (when in use) must be updated to use the new SQL port number. [#85671][#85671] -- If no `nullif` option is specified while using [`IMPORT CSV`](../v23.1/import.html), then a zero-length string in the input is now treated as `NULL`. The quoted empty string in the input is treated as an empty string. Similarly, if `nullif` is specified, then an unquoted value is treated as `NULL`, and a quoted value is treated as that string. These changes were made to make `IMPORT CSV` behave more similarly to `COPY CSV`. If the previous behavior (i.e., treating either quoted or unquoted values that match the `nullif` setting as `NULL`) is desired, you can use the new `allow_quoted_null` option in the `IMPORT` statement. [#84487][#84487] -- [`COPY FROM`](../v23.1/copy.html) operations are now atomic by default instead of being segmented into 100 row transactions. Set the `copy_from_atomic_enabled` session setting to `false` for the previous behavior. [#85986][#85986] -- The `GRANT` privilege has been removed and replaced by the more granular [`WITH GRANT OPTION`]({% link v24.2/grant.md %}#grant-privileges-with-the-option-to-grant-to-others), which provides control over which privileges are allowed to be granted. [#81310][#81310] -- Removed the ability to cast `int`, `int2`, and `int8` to a `0` length `BIT` or `VARBIT`. [#81266][#81266] -- Removed the deprecated `GRANT` privilege. [#81310][#81310] -- Removed the `ttl_automatic_column` storage parameter. The `crdb_internal_expiration` column is created when `ttl_expire_after` is set and removed when `ttl_expire_after` is reset. [#83134][#83134] -- Removed the byte string parameter in the `crdb_internal.schedule_sql_stats_compaction` function. [#82560][#82560] -- Changed the default value of the `enable_implicit_transaction_for_batch_statements` to `true`. This means that a [batch of statements]({% link v24.2/transactions.md %}#batched-statements) sent in one string separated by semicolons is treated as an implicit transaction. [#76834][#76834] + - Optional: keep port `26257` for RPC, and allocate a new port, e.g., `26357`, for SQL connections. For example, you might configure a node with the flags `--listen-addr=:26257 --sql-addr=:26357`. When using this mode of operation, the `--join` flags do not need to be modified. However, SQL client apps or the SQL load balancer configuration (when in use) must be updated to use the new SQL port number. #85671 +- If no `nullif` option is specified while using [`IMPORT CSV`]({% link {{ page.version.version }}/import.md %}), then a zero-length string in the input is now treated as `NULL`. The quoted empty string in the input is treated as an empty string. Similarly, if `nullif` is specified, then an unquoted value is treated as `NULL`, and a quoted value is treated as that string. These changes were made to make `IMPORT CSV` behave more similarly to `COPY CSV`. If the previous behavior (i.e., treating either quoted or unquoted values that match the `nullif` setting as `NULL`) is desired, you can use the new `allow_quoted_null` option in the `IMPORT` statement. #84487 +- [`COPY FROM`]({% link {{ page.version.version }}/copy.md %}) operations are now atomic by default instead of being segmented into 100 row transactions. Set the `copy_from_atomic_enabled` session setting to `false` for the previous behavior. #85986 +- The `GRANT` privilege has been removed and replaced by the more granular [`WITH GRANT OPTION`]({% link v24.2/grant.md %}#grant-privileges-with-the-option-to-grant-to-others), which provides control over which privileges are allowed to be granted. #81310 +- Removed the ability to cast `int`, `int2`, and `int8` to a `0` length `BIT` or `VARBIT`. #81266 +- Removed the deprecated `GRANT` privilege. #81310 +- Removed the `ttl_automatic_column` storage parameter. The `crdb_internal_expiration` column is created when `ttl_expire_after` is set and removed when `ttl_expire_after` is reset. #83134 +- Removed the byte string parameter in the `crdb_internal.schedule_sql_stats_compaction` function. #82560 +- Changed the default value of the `enable_implicit_transaction_for_batch_statements` to `true`. This means that a [batch of statements]({% link v24.2/transactions.md %}#batched-statements) sent in one string separated by semicolons is treated as an implicit transaction. #76834 diff --git a/src/current/_includes/v24.2/cdc/avro-udt-composite.md b/src/current/_includes/v24.2/cdc/avro-udt-composite.md index 7a34fbd3253..637cf76abb1 100644 --- a/src/current/_includes/v24.2/cdc/avro-udt-composite.md +++ b/src/current/_includes/v24.2/cdc/avro-udt-composite.md @@ -1 +1 @@ -A changefeed in [Avro format]({% link {{ page.version.version }}/changefeed-messages.md %}#avro) will not be able to serialize [user-defined composite (tuple) types](create-type.html). [#102903](https://github.com/cockroachdb/cockroach/issues/102903) \ No newline at end of file +A changefeed in [Avro format]({% link {{ page.version.version }}/changefeed-messages.md %}#avro) will not be able to serialize [user-defined composite (tuple) types](create-type.html). \ No newline at end of file diff --git a/src/current/_includes/v24.2/cdc/csv-udt-composite.md b/src/current/_includes/v24.2/cdc/csv-udt-composite.md index 834bddd8366..f32008f9fc9 100644 --- a/src/current/_includes/v24.2/cdc/csv-udt-composite.md +++ b/src/current/_includes/v24.2/cdc/csv-udt-composite.md @@ -1 +1 @@ -A changefeed emitting [CSV]({% link {{ page.version.version }}/changefeed-messages.md %}#csv) will include `AS` labels in the message format when the changefeed serializes a [user-defined composite type]({% link {{ page.version.version }}/create-type.md %}). [#102905](https://github.com/cockroachdb/cockroach/issues/102905) \ No newline at end of file +A changefeed emitting [CSV]({% link {{ page.version.version }}/changefeed-messages.md %}#csv) will include `AS` labels in the message format when the changefeed serializes a [user-defined composite type]({% link {{ page.version.version }}/create-type.md %}). \ No newline at end of file diff --git a/src/current/_includes/v24.2/faq/what-is-crdb.md b/src/current/_includes/v24.2/faq/what-is-crdb.md index 28857ed61fa..c99dc2c4c8d 100644 --- a/src/current/_includes/v24.2/faq/what-is-crdb.md +++ b/src/current/_includes/v24.2/faq/what-is-crdb.md @@ -1,6 +1,6 @@ CockroachDB is a [distributed SQL](https://www.cockroachlabs.com/blog/what-is-distributed-sql/) database built on a transactional and strongly-consistent key-value store. It **scales** horizontally; **survives** disk, machine, rack, and even datacenter failures with minimal latency disruption and no manual intervention; supports **strongly-consistent** ACID transactions; and provides a familiar **SQL** API for structuring, manipulating, and querying data. -CockroachDB is inspired by Google's [Spanner](http://research.google.com/archive/spanner.html) and [F1](http://research.google.com/pubs/pub38125.html) technologies, and the [source code](https://github.com/cockroachdb/cockroach) is freely available. +CockroachDB is inspired by Google's [Spanner](http://research.google.com/archive/spanner.html) and [F1](http://research.google.com/pubs/pub38125.html) technologies. {{site.data.alerts.callout_success}} For a deeper dive into CockroachDB's capabilities and how it fits into the database landscape, take the free [**Intro to Distributed SQL and CockroachDB**](https://university.cockroachlabs.com/courses/course-v1:crl+intro-to-distributed-sql-and-cockroachdb+self-paced/about) course on Cockroach University. diff --git a/src/current/_includes/v24.2/finalization-required/119894.md b/src/current/_includes/v24.2/finalization-required/119894.md index f2b393c3c0e..f5177dcd523 100644 --- a/src/current/_includes/v24.2/finalization-required/119894.md +++ b/src/current/_includes/v24.2/finalization-required/119894.md @@ -1 +1 @@ -[Splits](https://cockroachlabs.com/docs/{{ include.version }}/architecture/distribution-layer#range-splits) no longer hold [latches](https://cockroachlabs.com/docs/architecture/distribution-layer.#latch-manager) for time proportional to the range size while computing [MVCC](https://cockroachlabs.com/docs/{{ include.version }}/architecture/storage-layer#mvcc) statistics. Instead, MVCC statistics are pre-computed before the critical section of the split. As a side effect, the resulting statistics are no longer 100% accurate because they may correctly distribute writes concurrent with the split. To mitigate against this potential inaccuracy, and to prevent the statistics from drifting after successive splits, the existing stored statistics are re-computed and corrected if needed during the non-critical section of the split. [#119894](https://github.com/cockroachdb/cockroach/pull/119894) +[Splits](https://cockroachlabs.com/docs/{{ include.version }}/architecture/distribution-layer#range-splits) no longer hold [latches](https://cockroachlabs.com/docs/architecture/distribution-layer.#latch-manager) for time proportional to the range size while computing [MVCC](https://cockroachlabs.com/docs/{{ include.version }}/architecture/storage-layer#mvcc) statistics. Instead, MVCC statistics are pre-computed before the critical section of the split. As a side effect, the resulting statistics are no longer 100% accurate because they may correctly distribute writes concurrent with the split. To mitigate against this potential inaccuracy, and to prevent the statistics from drifting after successive splits, the existing stored statistics are re-computed and corrected if needed during the non-critical section of the split. #119894 diff --git a/src/current/_includes/v24.2/prod-deployment/decommission-pre-flight-checks.md b/src/current/_includes/v24.2/prod-deployment/decommission-pre-flight-checks.md index b267379384b..5b3b626f70d 100644 --- a/src/current/_includes/v24.2/prod-deployment/decommission-pre-flight-checks.md +++ b/src/current/_includes/v24.2/prod-deployment/decommission-pre-flight-checks.md @@ -14,5 +14,5 @@ Failed running "node decommission" These checks can be skipped by [passing the flag `--checks=skip` to `cockroach node decommission`]({% link {{ page.version.version }}/cockroach-node.md %}#decommission-checks). {{site.data.alerts.callout_info}} -The amount of remaining disk space on other nodes in the cluster is not yet considered as part of the decommissioning pre-flight checks. For more information, see [cockroachdb/cockroach#71757](https://github.com/cockroachdb/cockroach/issues/71757) +The amount of remaining disk space on other nodes in the cluster is not yet considered as part of the decommissioning pre-flight checks. {{site.data.alerts.end}} diff --git a/src/current/_includes/v24.2/sql/savepoints-and-high-priority-transactions.md b/src/current/_includes/v24.2/sql/savepoints-and-high-priority-transactions.md index c6de489e641..ce124bc3209 100644 --- a/src/current/_includes/v24.2/sql/savepoints-and-high-priority-transactions.md +++ b/src/current/_includes/v24.2/sql/savepoints-and-high-priority-transactions.md @@ -1 +1 @@ -[`ROLLBACK TO SAVEPOINT`]({% link {{ page.version.version }}/rollback-transaction.md %}#rollback-a-nested-transaction) (for either regular savepoints or "restart savepoints" defined with `cockroach_restart`) causes a "feature not supported" error after a DDL statement in a [`HIGH PRIORITY` transaction]({% link {{ page.version.version }}/transactions.md %}#transaction-priorities), in order to avoid a transaction deadlock. For more information, see GitHub issue [#46414](https://www.github.com/cockroachdb/cockroach/issues/46414). +[`ROLLBACK TO SAVEPOINT`]({% link {{ page.version.version }}/rollback-transaction.md %}#rollback-a-nested-transaction) (for either regular savepoints or "restart savepoints" defined with `cockroach_restart`) causes a "feature not supported" error after a DDL statement in a [`HIGH PRIORITY` transaction]({% link {{ page.version.version }}/transactions.md %}#transaction-priorities), in order to avoid a transaction deadlock. diff --git a/src/current/_includes/v24.3/backward-incompatible/alpha.1.md b/src/current/_includes/v24.3/backward-incompatible/alpha.1.md index 8d4004422ad..f10881f0418 100644 --- a/src/current/_includes/v24.3/backward-incompatible/alpha.1.md +++ b/src/current/_includes/v24.3/backward-incompatible/alpha.1.md @@ -1,15 +1,15 @@ -- CockroachDB no longer performs environment variable expansion in the parameter `--certs-dir`. Uses like `--certs-dir='$HOME/path'` (expansion by CockroachDB) can be replaced by `--certs-dir="$HOME/path"` (expansion by the Unix shell). [#81298][#81298] -- In the Cockroach CLI, [`BOOL` values]({% link {{ page.version.version }}/bool.md %}) are now formatted as `t` or `f` instead of `True` or `False`. [#81943][#81943] -- Removed the `cockroach quit` command. It has been deprecated since v20.1. To [shut down a node]({% link {{ page.version.version }}/node-shutdown.md %}) gracefully, send a `SIGTERM` signal to it. [#82988][#82988] -- Added a cluster version to allow the [Pebble storage engine]({% link {{ page.version.version }}/architecture/storage-layer.md#pebble %}) to recombine certain SSTables (specifically, user keys that are split across multiple files in a level of the [log-structured merge-tree]({% link {{ page.version.version }}/architecture/storage-layer.md#log-structured-merge-trees %})). Recombining the split user keys is required for supporting the range keys feature. The migration to recombine the SSTables is expected to be short (split user keys are rare in practice), but will block subsequent migrations until all tables have been recombined. The `storage.marked-for-compaction-files` time series metric can show the progress of the migration. [#84887][#84887] +- CockroachDB no longer performs environment variable expansion in the parameter `--certs-dir`. Uses like `--certs-dir='$HOME/path'` (expansion by CockroachDB) can be replaced by `--certs-dir="$HOME/path"` (expansion by the Unix shell). #81298 +- In the Cockroach CLI, [`BOOL` values]({% link {{ page.version.version }}/bool.md %}) are now formatted as `t` or `f` instead of `True` or `False`. #81943 +- Removed the `cockroach quit` command. It has been deprecated since v20.1. To [shut down a node]({% link {{ page.version.version }}/node-shutdown.md %}) gracefully, send a `SIGTERM` signal to it. #82988 +- Added a cluster version to allow the [Pebble storage engine]({% link {{ page.version.version }}/architecture/storage-layer.md#pebble %}) to recombine certain SSTables (specifically, user keys that are split across multiple files in a level of the [log-structured merge-tree]({% link {{ page.version.version }}/architecture/storage-layer.md#log-structured-merge-trees %})). Recombining the split user keys is required for supporting the range keys feature. The migration to recombine the SSTables is expected to be short (split user keys are rare in practice), but will block subsequent migrations until all tables have been recombined. The `storage.marked-for-compaction-files` time series metric can show the progress of the migration. #84887 - Using a single TCP port listener for both RPC (node-node) and SQL client connections is now deprecated. This capability **will be removed** in the next version of CockroachDB. Instead, make one of the following configuration changes to your CockroachDB deployment: - Preferred: keep port `26257` for SQL, and allocate a new port, e.g., `26357`, for node-node RPC connections. For example, you might configure a node with the flags `--listen-addr=:26357 --sql-addr=:26257`, where subsequent nodes seeking to join would then use the flag `--join=othernode:26357,othernode:26257`. This will become the default configuration in the next version of CockroachDB. When using this mode of operation, care should be taken to use a `--join` flag that includes both the previous and new port numbers for other nodes, so that no network partition occurs during the upgrade. - - Optional: keep port `26257` for RPC, and allocate a new port, e.g., `26357`, for SQL connections. For example, you might configure a node with the flags `--listen-addr=:26257 --sql-addr=:26357`. When using this mode of operation, the `--join` flags do not need to be modified. However, SQL client apps or the SQL load balancer configuration (when in use) must be updated to use the new SQL port number. [#85671][#85671] -- If no `nullif` option is specified while using [`IMPORT CSV`]({% link {{ page.version.version }}/import.md %}), then a zero-length string in the input is now treated as `NULL`. The quoted empty string in the input is treated as an empty string. Similarly, if `nullif` is specified, then an unquoted value is treated as `NULL`, and a quoted value is treated as that string. These changes were made to make `IMPORT CSV` behave more similarly to `COPY CSV`. If the previous behavior (i.e., treating either quoted or unquoted values that match the `nullif` setting as `NULL`) is desired, you can use the new `allow_quoted_null` option in the `IMPORT` statement. [#84487][#84487] -- [`COPY FROM`]({% link {{ page.version.version }}/copy.md %}) operations are now atomic by default instead of being segmented into 100 row transactions. Set the `copy_from_atomic_enabled` session setting to `false` for the previous behavior. [#85986][#85986] -- The `GRANT` privilege has been removed and replaced by the more granular [`WITH GRANT OPTION`]({% link {{ page.version.version }}/grant.md %}#grant-privileges-with-the-option-to-grant-to-others), which provides control over which privileges are allowed to be granted. [#81310][#81310] -- Removed the ability to cast `int`, `int2`, and `int8` to a `0` length `BIT` or `VARBIT`. [#81266][#81266] -- Removed the deprecated `GRANT` privilege. [#81310][#81310] -- Removed the `ttl_automatic_column` storage parameter. The `crdb_internal_expiration` column is created when `ttl_expire_after` is set and removed when `ttl_expire_after` is reset. [#83134][#83134] -- Removed the byte string parameter in the `crdb_internal.schedule_sql_stats_compaction` function. [#82560][#82560] -- Changed the default value of the `enable_implicit_transaction_for_batch_statements` to `true`. This means that a [batch of statements]({% link {{ page.version.version }}/transactions.md %}#batched-statements) sent in one string separated by semicolons is treated as an implicit transaction. [#76834][#76834] + - Optional: keep port `26257` for RPC, and allocate a new port, e.g., `26357`, for SQL connections. For example, you might configure a node with the flags `--listen-addr=:26257 --sql-addr=:26357`. When using this mode of operation, the `--join` flags do not need to be modified. However, SQL client apps or the SQL load balancer configuration (when in use) must be updated to use the new SQL port number. #85671 +- If no `nullif` option is specified while using [`IMPORT CSV`]({% link {{ page.version.version }}/import.md %}), then a zero-length string in the input is now treated as `NULL`. The quoted empty string in the input is treated as an empty string. Similarly, if `nullif` is specified, then an unquoted value is treated as `NULL`, and a quoted value is treated as that string. These changes were made to make `IMPORT CSV` behave more similarly to `COPY CSV`. If the previous behavior (i.e., treating either quoted or unquoted values that match the `nullif` setting as `NULL`) is desired, you can use the new `allow_quoted_null` option in the `IMPORT` statement. #84487 +- [`COPY FROM`]({% link {{ page.version.version }}/copy.md %}) operations are now atomic by default instead of being segmented into 100 row transactions. Set the `copy_from_atomic_enabled` session setting to `false` for the previous behavior. #85986 +- The `GRANT` privilege has been removed and replaced by the more granular [`WITH GRANT OPTION`]({% link {{ page.version.version }}/grant.md %}#grant-privileges-with-the-option-to-grant-to-others), which provides control over which privileges are allowed to be granted. #81310 +- Removed the ability to cast `int`, `int2`, and `int8` to a `0` length `BIT` or `VARBIT`. #81266 +- Removed the deprecated `GRANT` privilege. #81310 +- Removed the `ttl_automatic_column` storage parameter. The `crdb_internal_expiration` column is created when `ttl_expire_after` is set and removed when `ttl_expire_after` is reset. #83134 +- Removed the byte string parameter in the `crdb_internal.schedule_sql_stats_compaction` function. #82560 +- Changed the default value of the `enable_implicit_transaction_for_batch_statements` to `true`. This means that a [batch of statements]({% link {{ page.version.version }}/transactions.md %}#batched-statements) sent in one string separated by semicolons is treated as an implicit transaction. #76834 diff --git a/src/current/_includes/v24.3/cdc/avro-udt-composite.md b/src/current/_includes/v24.3/cdc/avro-udt-composite.md index 7a34fbd3253..637cf76abb1 100644 --- a/src/current/_includes/v24.3/cdc/avro-udt-composite.md +++ b/src/current/_includes/v24.3/cdc/avro-udt-composite.md @@ -1 +1 @@ -A changefeed in [Avro format]({% link {{ page.version.version }}/changefeed-messages.md %}#avro) will not be able to serialize [user-defined composite (tuple) types](create-type.html). [#102903](https://github.com/cockroachdb/cockroach/issues/102903) \ No newline at end of file +A changefeed in [Avro format]({% link {{ page.version.version }}/changefeed-messages.md %}#avro) will not be able to serialize [user-defined composite (tuple) types](create-type.html). \ No newline at end of file diff --git a/src/current/_includes/v24.3/cdc/csv-udt-composite.md b/src/current/_includes/v24.3/cdc/csv-udt-composite.md index 834bddd8366..f32008f9fc9 100644 --- a/src/current/_includes/v24.3/cdc/csv-udt-composite.md +++ b/src/current/_includes/v24.3/cdc/csv-udt-composite.md @@ -1 +1 @@ -A changefeed emitting [CSV]({% link {{ page.version.version }}/changefeed-messages.md %}#csv) will include `AS` labels in the message format when the changefeed serializes a [user-defined composite type]({% link {{ page.version.version }}/create-type.md %}). [#102905](https://github.com/cockroachdb/cockroach/issues/102905) \ No newline at end of file +A changefeed emitting [CSV]({% link {{ page.version.version }}/changefeed-messages.md %}#csv) will include `AS` labels in the message format when the changefeed serializes a [user-defined composite type]({% link {{ page.version.version }}/create-type.md %}). \ No newline at end of file diff --git a/src/current/_includes/v24.3/faq/what-is-crdb.md b/src/current/_includes/v24.3/faq/what-is-crdb.md index 28857ed61fa..c99dc2c4c8d 100644 --- a/src/current/_includes/v24.3/faq/what-is-crdb.md +++ b/src/current/_includes/v24.3/faq/what-is-crdb.md @@ -1,6 +1,6 @@ CockroachDB is a [distributed SQL](https://www.cockroachlabs.com/blog/what-is-distributed-sql/) database built on a transactional and strongly-consistent key-value store. It **scales** horizontally; **survives** disk, machine, rack, and even datacenter failures with minimal latency disruption and no manual intervention; supports **strongly-consistent** ACID transactions; and provides a familiar **SQL** API for structuring, manipulating, and querying data. -CockroachDB is inspired by Google's [Spanner](http://research.google.com/archive/spanner.html) and [F1](http://research.google.com/pubs/pub38125.html) technologies, and the [source code](https://github.com/cockroachdb/cockroach) is freely available. +CockroachDB is inspired by Google's [Spanner](http://research.google.com/archive/spanner.html) and [F1](http://research.google.com/pubs/pub38125.html) technologies. {{site.data.alerts.callout_success}} For a deeper dive into CockroachDB's capabilities and how it fits into the database landscape, take the free [**Intro to Distributed SQL and CockroachDB**](https://university.cockroachlabs.com/courses/course-v1:crl+intro-to-distributed-sql-and-cockroachdb+self-paced/about) course on Cockroach University. diff --git a/src/current/_includes/v24.3/finalization-required/119894.md b/src/current/_includes/v24.3/finalization-required/119894.md index f2b393c3c0e..f5177dcd523 100644 --- a/src/current/_includes/v24.3/finalization-required/119894.md +++ b/src/current/_includes/v24.3/finalization-required/119894.md @@ -1 +1 @@ -[Splits](https://cockroachlabs.com/docs/{{ include.version }}/architecture/distribution-layer#range-splits) no longer hold [latches](https://cockroachlabs.com/docs/architecture/distribution-layer.#latch-manager) for time proportional to the range size while computing [MVCC](https://cockroachlabs.com/docs/{{ include.version }}/architecture/storage-layer#mvcc) statistics. Instead, MVCC statistics are pre-computed before the critical section of the split. As a side effect, the resulting statistics are no longer 100% accurate because they may correctly distribute writes concurrent with the split. To mitigate against this potential inaccuracy, and to prevent the statistics from drifting after successive splits, the existing stored statistics are re-computed and corrected if needed during the non-critical section of the split. [#119894](https://github.com/cockroachdb/cockroach/pull/119894) +[Splits](https://cockroachlabs.com/docs/{{ include.version }}/architecture/distribution-layer#range-splits) no longer hold [latches](https://cockroachlabs.com/docs/architecture/distribution-layer.#latch-manager) for time proportional to the range size while computing [MVCC](https://cockroachlabs.com/docs/{{ include.version }}/architecture/storage-layer#mvcc) statistics. Instead, MVCC statistics are pre-computed before the critical section of the split. As a side effect, the resulting statistics are no longer 100% accurate because they may correctly distribute writes concurrent with the split. To mitigate against this potential inaccuracy, and to prevent the statistics from drifting after successive splits, the existing stored statistics are re-computed and corrected if needed during the non-critical section of the split. #119894 diff --git a/src/current/_includes/v24.3/prod-deployment/decommission-pre-flight-checks.md b/src/current/_includes/v24.3/prod-deployment/decommission-pre-flight-checks.md index b267379384b..5b3b626f70d 100644 --- a/src/current/_includes/v24.3/prod-deployment/decommission-pre-flight-checks.md +++ b/src/current/_includes/v24.3/prod-deployment/decommission-pre-flight-checks.md @@ -14,5 +14,5 @@ Failed running "node decommission" These checks can be skipped by [passing the flag `--checks=skip` to `cockroach node decommission`]({% link {{ page.version.version }}/cockroach-node.md %}#decommission-checks). {{site.data.alerts.callout_info}} -The amount of remaining disk space on other nodes in the cluster is not yet considered as part of the decommissioning pre-flight checks. For more information, see [cockroachdb/cockroach#71757](https://github.com/cockroachdb/cockroach/issues/71757) +The amount of remaining disk space on other nodes in the cluster is not yet considered as part of the decommissioning pre-flight checks. {{site.data.alerts.end}} diff --git a/src/current/_includes/v24.3/sql/savepoints-and-high-priority-transactions.md b/src/current/_includes/v24.3/sql/savepoints-and-high-priority-transactions.md index c6de489e641..ce124bc3209 100644 --- a/src/current/_includes/v24.3/sql/savepoints-and-high-priority-transactions.md +++ b/src/current/_includes/v24.3/sql/savepoints-and-high-priority-transactions.md @@ -1 +1 @@ -[`ROLLBACK TO SAVEPOINT`]({% link {{ page.version.version }}/rollback-transaction.md %}#rollback-a-nested-transaction) (for either regular savepoints or "restart savepoints" defined with `cockroach_restart`) causes a "feature not supported" error after a DDL statement in a [`HIGH PRIORITY` transaction]({% link {{ page.version.version }}/transactions.md %}#transaction-priorities), in order to avoid a transaction deadlock. For more information, see GitHub issue [#46414](https://www.github.com/cockroachdb/cockroach/issues/46414). +[`ROLLBACK TO SAVEPOINT`]({% link {{ page.version.version }}/rollback-transaction.md %}#rollback-a-nested-transaction) (for either regular savepoints or "restart savepoints" defined with `cockroach_restart`) causes a "feature not supported" error after a DDL statement in a [`HIGH PRIORITY` transaction]({% link {{ page.version.version }}/transactions.md %}#transaction-priorities), in order to avoid a transaction deadlock. diff --git a/src/current/_includes/v24.3/sql/unsupported-postgres-features.md b/src/current/_includes/v24.3/sql/unsupported-postgres-features.md index a89650e38e9..2f91c9397a6 100644 --- a/src/current/_includes/v24.3/sql/unsupported-postgres-features.md +++ b/src/current/_includes/v24.3/sql/unsupported-postgres-features.md @@ -1,10 +1,10 @@ ### `CREATE DOMAIN` -CockroachDB does not support `CREATE DOMAIN`. Tracking issue: [cockroachdb/cockroach#108659](https://github.com/cockroachdb/cockroach/issues/108659). +CockroachDB does not support `CREATE DOMAIN`. ### PostgreSQL range types -CockroachDB does not support PostgreSQL range types. Tracking issue: [cockroachdb/cockroach#128638](https://github.com/cockroachdb/cockroach/issues/128638). +CockroachDB does not support PostgreSQL range types. ### Other unsupported features diff --git a/src/current/_includes/v25.1/backward-incompatible/alpha.1.md b/src/current/_includes/v25.1/backward-incompatible/alpha.1.md index ef251b7cf5b..793ec4fc058 100644 --- a/src/current/_includes/v25.1/backward-incompatible/alpha.1.md +++ b/src/current/_includes/v25.1/backward-incompatible/alpha.1.md @@ -1,15 +1,15 @@ -- CockroachDB no longer performs environment variable expansion in the parameter `--certs-dir`. Uses like `--certs-dir='$HOME/path'` (expansion by CockroachDB) can be replaced by `--certs-dir="$HOME/path"` (expansion by the Unix shell). [#81298][#81298] -- In the Cockroach CLI, [`BOOL` values](../v23.1/bool.html) are now formatted as `t` or `f` instead of `True` or `False`. [#81943][#81943] -- Removed the `cockroach quit` command. It has been deprecated since v20.1. To [shut down a node](../v23.1/node-shutdown.html) gracefully, send a `SIGTERM` signal to it. [#82988][#82988] -- Added a cluster version to allow the [Pebble storage engine](../v23.1/architecture/storage-layer.html#pebble) to recombine certain SSTables (specifically, user keys that are split across multiple files in a level of the [log-structured merge-tree](../v23.1/architecture/storage-layer.html#log-structured-merge-trees)). Recombining the split user keys is required for supporting the range keys feature. The migration to recombine the SSTables is expected to be short (split user keys are rare in practice), but will block subsequent migrations until all tables have been recombined. The `storage.marked-for-compaction-files` time series metric can show the progress of the migration. [#84887][#84887] +- CockroachDB no longer performs environment variable expansion in the parameter `--certs-dir`. Uses like `--certs-dir='$HOME/path'` (expansion by CockroachDB) can be replaced by `--certs-dir="$HOME/path"` (expansion by the Unix shell). #81298 +- In the Cockroach CLI, [`BOOL` values]({% link {{ page.version.version }}/bool.md %}) are now formatted as `t` or `f` instead of `True` or `False`. #81943 +- Removed the `cockroach quit` command. It has been deprecated since v20.1. To [shut down a node]({% link {{ page.version.version }}/node-shutdown.md %}) gracefully, send a `SIGTERM` signal to it. #82988 +- Added a cluster version to allow the [Pebble storage engine]({% link {{ page.version.version }}/architecture/storage-layer.md#pebble %}) to recombine certain SSTables (specifically, user keys that are split across multiple files in a level of the [log-structured merge-tree]({% link {{ page.version.version }}/architecture/storage-layer.md#log-structured-merge-trees %})). Recombining the split user keys is required for supporting the range keys feature. The migration to recombine the SSTables is expected to be short (split user keys are rare in practice), but will block subsequent migrations until all tables have been recombined. The `storage.marked-for-compaction-files` time series metric can show the progress of the migration. #84887 - Using a single TCP port listener for both RPC (node-node) and SQL client connections is now deprecated. This capability **will be removed** in the next version of CockroachDB. Instead, make one of the following configuration changes to your CockroachDB deployment: - Preferred: keep port `26257` for SQL, and allocate a new port, e.g., `26357`, for node-node RPC connections. For example, you might configure a node with the flags `--listen-addr=:26357 --sql-addr=:26257`, where subsequent nodes seeking to join would then use the flag `--join=othernode:26357,othernode:26257`. This will become the default configuration in the next version of CockroachDB. When using this mode of operation, care should be taken to use a `--join` flag that includes both the previous and new port numbers for other nodes, so that no network partition occurs during the upgrade. - - Optional: keep port `26257` for RPC, and allocate a new port, e.g., `26357`, for SQL connections. For example, you might configure a node with the flags `--listen-addr=:26257 --sql-addr=:26357`. When using this mode of operation, the `--join` flags do not need to be modified. However, SQL client apps or the SQL load balancer configuration (when in use) must be updated to use the new SQL port number. [#85671][#85671] -- If no `nullif` option is specified while using [`IMPORT CSV`](../v23.1/import.html), then a zero-length string in the input is now treated as `NULL`. The quoted empty string in the input is treated as an empty string. Similarly, if `nullif` is specified, then an unquoted value is treated as `NULL`, and a quoted value is treated as that string. These changes were made to make `IMPORT CSV` behave more similarly to `COPY CSV`. If the previous behavior (i.e., treating either quoted or unquoted values that match the `nullif` setting as `NULL`) is desired, you can use the new `allow_quoted_null` option in the `IMPORT` statement. [#84487][#84487] -- [`COPY FROM`](../v23.1/copy.html) operations are now atomic by default instead of being segmented into 100 row transactions. Set the `copy_from_atomic_enabled` session setting to `false` for the previous behavior. [#85986][#85986] -- The `GRANT` privilege has been removed and replaced by the more granular [`WITH GRANT OPTION`]({% link v25.1/grant.md %}#grant-privileges-with-the-option-to-grant-to-others), which provides control over which privileges are allowed to be granted. [#81310][#81310] -- Removed the ability to cast `int`, `int2`, and `int8` to a `0` length `BIT` or `VARBIT`. [#81266][#81266] -- Removed the deprecated `GRANT` privilege. [#81310][#81310] -- Removed the `ttl_automatic_column` storage parameter. The `crdb_internal_expiration` column is created when `ttl_expire_after` is set and removed when `ttl_expire_after` is reset. [#83134][#83134] -- Removed the byte string parameter in the `crdb_internal.schedule_sql_stats_compaction` function. [#82560][#82560] -- Changed the default value of the `enable_implicit_transaction_for_batch_statements` to `true`. This means that a [batch of statements]({% link v25.1/transactions.md %}#batched-statements) sent in one string separated by semicolons is treated as an implicit transaction. [#76834][#76834] + - Optional: keep port `26257` for RPC, and allocate a new port, e.g., `26357`, for SQL connections. For example, you might configure a node with the flags `--listen-addr=:26257 --sql-addr=:26357`. When using this mode of operation, the `--join` flags do not need to be modified. However, SQL client apps or the SQL load balancer configuration (when in use) must be updated to use the new SQL port number. #85671 +- If no `nullif` option is specified while using [`IMPORT CSV`]({% link {{ page.version.version }}/import.md %}), then a zero-length string in the input is now treated as `NULL`. The quoted empty string in the input is treated as an empty string. Similarly, if `nullif` is specified, then an unquoted value is treated as `NULL`, and a quoted value is treated as that string. These changes were made to make `IMPORT CSV` behave more similarly to `COPY CSV`. If the previous behavior (i.e., treating either quoted or unquoted values that match the `nullif` setting as `NULL`) is desired, you can use the new `allow_quoted_null` option in the `IMPORT` statement. #84487 +- [`COPY FROM`]({% link {{ page.version.version }}/copy.md %}) operations are now atomic by default instead of being segmented into 100 row transactions. Set the `copy_from_atomic_enabled` session setting to `false` for the previous behavior. #85986 +- The `GRANT` privilege has been removed and replaced by the more granular [`WITH GRANT OPTION`]({% link v25.1/grant.md %}#grant-privileges-with-the-option-to-grant-to-others), which provides control over which privileges are allowed to be granted. #81310 +- Removed the ability to cast `int`, `int2`, and `int8` to a `0` length `BIT` or `VARBIT`. #81266 +- Removed the deprecated `GRANT` privilege. #81310 +- Removed the `ttl_automatic_column` storage parameter. The `crdb_internal_expiration` column is created when `ttl_expire_after` is set and removed when `ttl_expire_after` is reset. #83134 +- Removed the byte string parameter in the `crdb_internal.schedule_sql_stats_compaction` function. #82560 +- Changed the default value of the `enable_implicit_transaction_for_batch_statements` to `true`. This means that a [batch of statements]({% link v25.1/transactions.md %}#batched-statements) sent in one string separated by semicolons is treated as an implicit transaction. #76834 diff --git a/src/current/_includes/v25.1/cdc/avro-udt-composite.md b/src/current/_includes/v25.1/cdc/avro-udt-composite.md index 7a34fbd3253..637cf76abb1 100644 --- a/src/current/_includes/v25.1/cdc/avro-udt-composite.md +++ b/src/current/_includes/v25.1/cdc/avro-udt-composite.md @@ -1 +1 @@ -A changefeed in [Avro format]({% link {{ page.version.version }}/changefeed-messages.md %}#avro) will not be able to serialize [user-defined composite (tuple) types](create-type.html). [#102903](https://github.com/cockroachdb/cockroach/issues/102903) \ No newline at end of file +A changefeed in [Avro format]({% link {{ page.version.version }}/changefeed-messages.md %}#avro) will not be able to serialize [user-defined composite (tuple) types](create-type.html). \ No newline at end of file diff --git a/src/current/_includes/v25.1/cdc/csv-udt-composite.md b/src/current/_includes/v25.1/cdc/csv-udt-composite.md index 834bddd8366..f32008f9fc9 100644 --- a/src/current/_includes/v25.1/cdc/csv-udt-composite.md +++ b/src/current/_includes/v25.1/cdc/csv-udt-composite.md @@ -1 +1 @@ -A changefeed emitting [CSV]({% link {{ page.version.version }}/changefeed-messages.md %}#csv) will include `AS` labels in the message format when the changefeed serializes a [user-defined composite type]({% link {{ page.version.version }}/create-type.md %}). [#102905](https://github.com/cockroachdb/cockroach/issues/102905) \ No newline at end of file +A changefeed emitting [CSV]({% link {{ page.version.version }}/changefeed-messages.md %}#csv) will include `AS` labels in the message format when the changefeed serializes a [user-defined composite type]({% link {{ page.version.version }}/create-type.md %}). \ No newline at end of file diff --git a/src/current/_includes/v25.1/faq/what-is-crdb.md b/src/current/_includes/v25.1/faq/what-is-crdb.md index 28857ed61fa..c99dc2c4c8d 100644 --- a/src/current/_includes/v25.1/faq/what-is-crdb.md +++ b/src/current/_includes/v25.1/faq/what-is-crdb.md @@ -1,6 +1,6 @@ CockroachDB is a [distributed SQL](https://www.cockroachlabs.com/blog/what-is-distributed-sql/) database built on a transactional and strongly-consistent key-value store. It **scales** horizontally; **survives** disk, machine, rack, and even datacenter failures with minimal latency disruption and no manual intervention; supports **strongly-consistent** ACID transactions; and provides a familiar **SQL** API for structuring, manipulating, and querying data. -CockroachDB is inspired by Google's [Spanner](http://research.google.com/archive/spanner.html) and [F1](http://research.google.com/pubs/pub38125.html) technologies, and the [source code](https://github.com/cockroachdb/cockroach) is freely available. +CockroachDB is inspired by Google's [Spanner](http://research.google.com/archive/spanner.html) and [F1](http://research.google.com/pubs/pub38125.html) technologies. {{site.data.alerts.callout_success}} For a deeper dive into CockroachDB's capabilities and how it fits into the database landscape, take the free [**Intro to Distributed SQL and CockroachDB**](https://university.cockroachlabs.com/courses/course-v1:crl+intro-to-distributed-sql-and-cockroachdb+self-paced/about) course on Cockroach University. diff --git a/src/current/_includes/v25.1/finalization-required/119894.md b/src/current/_includes/v25.1/finalization-required/119894.md index f2b393c3c0e..f5177dcd523 100644 --- a/src/current/_includes/v25.1/finalization-required/119894.md +++ b/src/current/_includes/v25.1/finalization-required/119894.md @@ -1 +1 @@ -[Splits](https://cockroachlabs.com/docs/{{ include.version }}/architecture/distribution-layer#range-splits) no longer hold [latches](https://cockroachlabs.com/docs/architecture/distribution-layer.#latch-manager) for time proportional to the range size while computing [MVCC](https://cockroachlabs.com/docs/{{ include.version }}/architecture/storage-layer#mvcc) statistics. Instead, MVCC statistics are pre-computed before the critical section of the split. As a side effect, the resulting statistics are no longer 100% accurate because they may correctly distribute writes concurrent with the split. To mitigate against this potential inaccuracy, and to prevent the statistics from drifting after successive splits, the existing stored statistics are re-computed and corrected if needed during the non-critical section of the split. [#119894](https://github.com/cockroachdb/cockroach/pull/119894) +[Splits](https://cockroachlabs.com/docs/{{ include.version }}/architecture/distribution-layer#range-splits) no longer hold [latches](https://cockroachlabs.com/docs/architecture/distribution-layer.#latch-manager) for time proportional to the range size while computing [MVCC](https://cockroachlabs.com/docs/{{ include.version }}/architecture/storage-layer#mvcc) statistics. Instead, MVCC statistics are pre-computed before the critical section of the split. As a side effect, the resulting statistics are no longer 100% accurate because they may correctly distribute writes concurrent with the split. To mitigate against this potential inaccuracy, and to prevent the statistics from drifting after successive splits, the existing stored statistics are re-computed and corrected if needed during the non-critical section of the split. #119894 diff --git a/src/current/_includes/v25.1/prod-deployment/decommission-pre-flight-checks.md b/src/current/_includes/v25.1/prod-deployment/decommission-pre-flight-checks.md index b267379384b..5b3b626f70d 100644 --- a/src/current/_includes/v25.1/prod-deployment/decommission-pre-flight-checks.md +++ b/src/current/_includes/v25.1/prod-deployment/decommission-pre-flight-checks.md @@ -14,5 +14,5 @@ Failed running "node decommission" These checks can be skipped by [passing the flag `--checks=skip` to `cockroach node decommission`]({% link {{ page.version.version }}/cockroach-node.md %}#decommission-checks). {{site.data.alerts.callout_info}} -The amount of remaining disk space on other nodes in the cluster is not yet considered as part of the decommissioning pre-flight checks. For more information, see [cockroachdb/cockroach#71757](https://github.com/cockroachdb/cockroach/issues/71757) +The amount of remaining disk space on other nodes in the cluster is not yet considered as part of the decommissioning pre-flight checks. {{site.data.alerts.end}} diff --git a/src/current/_includes/v25.1/sql/savepoints-and-high-priority-transactions.md b/src/current/_includes/v25.1/sql/savepoints-and-high-priority-transactions.md index c6de489e641..ce124bc3209 100644 --- a/src/current/_includes/v25.1/sql/savepoints-and-high-priority-transactions.md +++ b/src/current/_includes/v25.1/sql/savepoints-and-high-priority-transactions.md @@ -1 +1 @@ -[`ROLLBACK TO SAVEPOINT`]({% link {{ page.version.version }}/rollback-transaction.md %}#rollback-a-nested-transaction) (for either regular savepoints or "restart savepoints" defined with `cockroach_restart`) causes a "feature not supported" error after a DDL statement in a [`HIGH PRIORITY` transaction]({% link {{ page.version.version }}/transactions.md %}#transaction-priorities), in order to avoid a transaction deadlock. For more information, see GitHub issue [#46414](https://www.github.com/cockroachdb/cockroach/issues/46414). +[`ROLLBACK TO SAVEPOINT`]({% link {{ page.version.version }}/rollback-transaction.md %}#rollback-a-nested-transaction) (for either regular savepoints or "restart savepoints" defined with `cockroach_restart`) causes a "feature not supported" error after a DDL statement in a [`HIGH PRIORITY` transaction]({% link {{ page.version.version }}/transactions.md %}#transaction-priorities), in order to avoid a transaction deadlock. diff --git a/src/current/_includes/v25.2/backward-incompatible/alpha.1.md b/src/current/_includes/v25.2/backward-incompatible/alpha.1.md index dff3b4ea3c5..b829e09f5ae 100644 --- a/src/current/_includes/v25.2/backward-incompatible/alpha.1.md +++ b/src/current/_includes/v25.2/backward-incompatible/alpha.1.md @@ -1,15 +1,15 @@ -- CockroachDB no longer performs environment variable expansion in the parameter `--certs-dir`. Uses like `--certs-dir='$HOME/path'` (expansion by CockroachDB) can be replaced by `--certs-dir="$HOME/path"` (expansion by the Unix shell). [#81298][#81298] -- In the Cockroach CLI, [`BOOL` values](../v23.1/bool.html) are now formatted as `t` or `f` instead of `True` or `False`. [#81943][#81943] -- Removed the `cockroach quit` command. It has been deprecated since v20.1. To [shut down a node](../v23.1/node-shutdown.html) gracefully, send a `SIGTERM` signal to it. [#82988][#82988] -- Added a cluster version to allow the [Pebble storage engine](../v23.1/architecture/storage-layer.html#pebble) to recombine certain SSTables (specifically, user keys that are split across multiple files in a level of the [log-structured merge-tree](../v23.1/architecture/storage-layer.html#log-structured-merge-trees)). Recombining the split user keys is required for supporting the range keys feature. The migration to recombine the SSTables is expected to be short (split user keys are rare in practice), but will block subsequent migrations until all tables have been recombined. The `storage.marked-for-compaction-files` time series metric can show the progress of the migration. [#84887][#84887] +- CockroachDB no longer performs environment variable expansion in the parameter `--certs-dir`. Uses like `--certs-dir='$HOME/path'` (expansion by CockroachDB) can be replaced by `--certs-dir="$HOME/path"` (expansion by the Unix shell). #81298 +- In the Cockroach CLI, [`BOOL` values]({% link {{ page.version.version }}/bool.md %}) are now formatted as `t` or `f` instead of `True` or `False`. #81943 +- Removed the `cockroach quit` command. It has been deprecated since v20.1. To [shut down a node]({% link {{ page.version.version }}/node-shutdown.md %}) gracefully, send a `SIGTERM` signal to it. #82988 +- Added a cluster version to allow the [Pebble storage engine]({% link {{ page.version.version }}/architecture/storage-layer.md#pebble %}) to recombine certain SSTables (specifically, user keys that are split across multiple files in a level of the [log-structured merge-tree]({% link {{ page.version.version }}/architecture/storage-layer.md#log-structured-merge-trees %})). Recombining the split user keys is required for supporting the range keys feature. The migration to recombine the SSTables is expected to be short (split user keys are rare in practice), but will block subsequent migrations until all tables have been recombined. The `storage.marked-for-compaction-files` time series metric can show the progress of the migration. #84887 - Using a single TCP port listener for both RPC (node-node) and SQL client connections is now deprecated. This capability **will be removed** in the next version of CockroachDB. Instead, make one of the following configuration changes to your CockroachDB deployment: - Preferred: keep port `26257` for SQL, and allocate a new port, e.g., `26357`, for node-node RPC connections. For example, you might configure a node with the flags `--listen-addr=:26357 --sql-addr=:26257`, where subsequent nodes seeking to join would then use the flag `--join=othernode:26357,othernode:26257`. This will become the default configuration in the next version of CockroachDB. When using this mode of operation, care should be taken to use a `--join` flag that includes both the previous and new port numbers for other nodes, so that no network partition occurs during the upgrade. - - Optional: keep port `26257` for RPC, and allocate a new port, e.g., `26357`, for SQL connections. For example, you might configure a node with the flags `--listen-addr=:26257 --sql-addr=:26357`. When using this mode of operation, the `--join` flags do not need to be modified. However, SQL client apps or the SQL load balancer configuration (when in use) must be updated to use the new SQL port number. [#85671][#85671] -- If no `nullif` option is specified while using [`IMPORT CSV`](../v23.1/import.html), then a zero-length string in the input is now treated as `NULL`. The quoted empty string in the input is treated as an empty string. Similarly, if `nullif` is specified, then an unquoted value is treated as `NULL`, and a quoted value is treated as that string. These changes were made to make `IMPORT CSV` behave more similarly to `COPY CSV`. If the previous behavior (i.e., treating either quoted or unquoted values that match the `nullif` setting as `NULL`) is desired, you can use the new `allow_quoted_null` option in the `IMPORT` statement. [#84487][#84487] -- [`COPY FROM`](../v23.1/copy.html) operations are now atomic by default instead of being segmented into 100 row transactions. Set the `copy_from_atomic_enabled` session setting to `false` for the previous behavior. [#85986][#85986] -- The `GRANT` privilege has been removed and replaced by the more granular [`WITH GRANT OPTION`]({% link v25.2/grant.md %}#grant-privileges-with-the-option-to-grant-to-others), which provides control over which privileges are allowed to be granted. [#81310][#81310] -- Removed the ability to cast `int`, `int2`, and `int8` to a `0` length `BIT` or `VARBIT`. [#81266][#81266] -- Removed the deprecated `GRANT` privilege. [#81310][#81310] -- Removed the `ttl_automatic_column` storage parameter. The `crdb_internal_expiration` column is created when `ttl_expire_after` is set and removed when `ttl_expire_after` is reset. [#83134][#83134] -- Removed the byte string parameter in the `crdb_internal.schedule_sql_stats_compaction` function. [#82560][#82560] -- Changed the default value of the `enable_implicit_transaction_for_batch_statements` to `true`. This means that a [batch of statements]({% link v25.2/transactions.md %}#batched-statements) sent in one string separated by semicolons is treated as an implicit transaction. [#76834][#76834] + - Optional: keep port `26257` for RPC, and allocate a new port, e.g., `26357`, for SQL connections. For example, you might configure a node with the flags `--listen-addr=:26257 --sql-addr=:26357`. When using this mode of operation, the `--join` flags do not need to be modified. However, SQL client apps or the SQL load balancer configuration (when in use) must be updated to use the new SQL port number. #85671 +- If no `nullif` option is specified while using [`IMPORT CSV`]({% link {{ page.version.version }}/import.md %}), then a zero-length string in the input is now treated as `NULL`. The quoted empty string in the input is treated as an empty string. Similarly, if `nullif` is specified, then an unquoted value is treated as `NULL`, and a quoted value is treated as that string. These changes were made to make `IMPORT CSV` behave more similarly to `COPY CSV`. If the previous behavior (i.e., treating either quoted or unquoted values that match the `nullif` setting as `NULL`) is desired, you can use the new `allow_quoted_null` option in the `IMPORT` statement. #84487 +- [`COPY FROM`]({% link {{ page.version.version }}/copy.md %}) operations are now atomic by default instead of being segmented into 100 row transactions. Set the `copy_from_atomic_enabled` session setting to `false` for the previous behavior. #85986 +- The `GRANT` privilege has been removed and replaced by the more granular [`WITH GRANT OPTION`]({% link v25.2/grant.md %}#grant-privileges-with-the-option-to-grant-to-others), which provides control over which privileges are allowed to be granted. #81310 +- Removed the ability to cast `int`, `int2`, and `int8` to a `0` length `BIT` or `VARBIT`. #81266 +- Removed the deprecated `GRANT` privilege. #81310 +- Removed the `ttl_automatic_column` storage parameter. The `crdb_internal_expiration` column is created when `ttl_expire_after` is set and removed when `ttl_expire_after` is reset. #83134 +- Removed the byte string parameter in the `crdb_internal.schedule_sql_stats_compaction` function. #82560 +- Changed the default value of the `enable_implicit_transaction_for_batch_statements` to `true`. This means that a [batch of statements]({% link v25.2/transactions.md %}#batched-statements) sent in one string separated by semicolons is treated as an implicit transaction. #76834 diff --git a/src/current/_includes/v25.2/cdc/avro-udt-composite.md b/src/current/_includes/v25.2/cdc/avro-udt-composite.md index 7a34fbd3253..637cf76abb1 100644 --- a/src/current/_includes/v25.2/cdc/avro-udt-composite.md +++ b/src/current/_includes/v25.2/cdc/avro-udt-composite.md @@ -1 +1 @@ -A changefeed in [Avro format]({% link {{ page.version.version }}/changefeed-messages.md %}#avro) will not be able to serialize [user-defined composite (tuple) types](create-type.html). [#102903](https://github.com/cockroachdb/cockroach/issues/102903) \ No newline at end of file +A changefeed in [Avro format]({% link {{ page.version.version }}/changefeed-messages.md %}#avro) will not be able to serialize [user-defined composite (tuple) types](create-type.html). \ No newline at end of file diff --git a/src/current/_includes/v25.2/cdc/csv-udt-composite.md b/src/current/_includes/v25.2/cdc/csv-udt-composite.md index 834bddd8366..f32008f9fc9 100644 --- a/src/current/_includes/v25.2/cdc/csv-udt-composite.md +++ b/src/current/_includes/v25.2/cdc/csv-udt-composite.md @@ -1 +1 @@ -A changefeed emitting [CSV]({% link {{ page.version.version }}/changefeed-messages.md %}#csv) will include `AS` labels in the message format when the changefeed serializes a [user-defined composite type]({% link {{ page.version.version }}/create-type.md %}). [#102905](https://github.com/cockroachdb/cockroach/issues/102905) \ No newline at end of file +A changefeed emitting [CSV]({% link {{ page.version.version }}/changefeed-messages.md %}#csv) will include `AS` labels in the message format when the changefeed serializes a [user-defined composite type]({% link {{ page.version.version }}/create-type.md %}). \ No newline at end of file diff --git a/src/current/_includes/v25.2/faq/what-is-crdb.md b/src/current/_includes/v25.2/faq/what-is-crdb.md index 28857ed61fa..c99dc2c4c8d 100644 --- a/src/current/_includes/v25.2/faq/what-is-crdb.md +++ b/src/current/_includes/v25.2/faq/what-is-crdb.md @@ -1,6 +1,6 @@ CockroachDB is a [distributed SQL](https://www.cockroachlabs.com/blog/what-is-distributed-sql/) database built on a transactional and strongly-consistent key-value store. It **scales** horizontally; **survives** disk, machine, rack, and even datacenter failures with minimal latency disruption and no manual intervention; supports **strongly-consistent** ACID transactions; and provides a familiar **SQL** API for structuring, manipulating, and querying data. -CockroachDB is inspired by Google's [Spanner](http://research.google.com/archive/spanner.html) and [F1](http://research.google.com/pubs/pub38125.html) technologies, and the [source code](https://github.com/cockroachdb/cockroach) is freely available. +CockroachDB is inspired by Google's [Spanner](http://research.google.com/archive/spanner.html) and [F1](http://research.google.com/pubs/pub38125.html) technologies. {{site.data.alerts.callout_success}} For a deeper dive into CockroachDB's capabilities and how it fits into the database landscape, take the free [**Intro to Distributed SQL and CockroachDB**](https://university.cockroachlabs.com/courses/course-v1:crl+intro-to-distributed-sql-and-cockroachdb+self-paced/about) course on Cockroach University. diff --git a/src/current/_includes/v25.2/finalization-required/119894.md b/src/current/_includes/v25.2/finalization-required/119894.md index f2b393c3c0e..f5177dcd523 100644 --- a/src/current/_includes/v25.2/finalization-required/119894.md +++ b/src/current/_includes/v25.2/finalization-required/119894.md @@ -1 +1 @@ -[Splits](https://cockroachlabs.com/docs/{{ include.version }}/architecture/distribution-layer#range-splits) no longer hold [latches](https://cockroachlabs.com/docs/architecture/distribution-layer.#latch-manager) for time proportional to the range size while computing [MVCC](https://cockroachlabs.com/docs/{{ include.version }}/architecture/storage-layer#mvcc) statistics. Instead, MVCC statistics are pre-computed before the critical section of the split. As a side effect, the resulting statistics are no longer 100% accurate because they may correctly distribute writes concurrent with the split. To mitigate against this potential inaccuracy, and to prevent the statistics from drifting after successive splits, the existing stored statistics are re-computed and corrected if needed during the non-critical section of the split. [#119894](https://github.com/cockroachdb/cockroach/pull/119894) +[Splits](https://cockroachlabs.com/docs/{{ include.version }}/architecture/distribution-layer#range-splits) no longer hold [latches](https://cockroachlabs.com/docs/architecture/distribution-layer.#latch-manager) for time proportional to the range size while computing [MVCC](https://cockroachlabs.com/docs/{{ include.version }}/architecture/storage-layer#mvcc) statistics. Instead, MVCC statistics are pre-computed before the critical section of the split. As a side effect, the resulting statistics are no longer 100% accurate because they may correctly distribute writes concurrent with the split. To mitigate against this potential inaccuracy, and to prevent the statistics from drifting after successive splits, the existing stored statistics are re-computed and corrected if needed during the non-critical section of the split. #119894 diff --git a/src/current/_includes/v25.2/prod-deployment/decommission-pre-flight-checks.md b/src/current/_includes/v25.2/prod-deployment/decommission-pre-flight-checks.md index b267379384b..5b3b626f70d 100644 --- a/src/current/_includes/v25.2/prod-deployment/decommission-pre-flight-checks.md +++ b/src/current/_includes/v25.2/prod-deployment/decommission-pre-flight-checks.md @@ -14,5 +14,5 @@ Failed running "node decommission" These checks can be skipped by [passing the flag `--checks=skip` to `cockroach node decommission`]({% link {{ page.version.version }}/cockroach-node.md %}#decommission-checks). {{site.data.alerts.callout_info}} -The amount of remaining disk space on other nodes in the cluster is not yet considered as part of the decommissioning pre-flight checks. For more information, see [cockroachdb/cockroach#71757](https://github.com/cockroachdb/cockroach/issues/71757) +The amount of remaining disk space on other nodes in the cluster is not yet considered as part of the decommissioning pre-flight checks. {{site.data.alerts.end}} diff --git a/src/current/_includes/v25.2/sql/savepoints-and-high-priority-transactions.md b/src/current/_includes/v25.2/sql/savepoints-and-high-priority-transactions.md index c6de489e641..ce124bc3209 100644 --- a/src/current/_includes/v25.2/sql/savepoints-and-high-priority-transactions.md +++ b/src/current/_includes/v25.2/sql/savepoints-and-high-priority-transactions.md @@ -1 +1 @@ -[`ROLLBACK TO SAVEPOINT`]({% link {{ page.version.version }}/rollback-transaction.md %}#rollback-a-nested-transaction) (for either regular savepoints or "restart savepoints" defined with `cockroach_restart`) causes a "feature not supported" error after a DDL statement in a [`HIGH PRIORITY` transaction]({% link {{ page.version.version }}/transactions.md %}#transaction-priorities), in order to avoid a transaction deadlock. For more information, see GitHub issue [#46414](https://www.github.com/cockroachdb/cockroach/issues/46414). +[`ROLLBACK TO SAVEPOINT`]({% link {{ page.version.version }}/rollback-transaction.md %}#rollback-a-nested-transaction) (for either regular savepoints or "restart savepoints" defined with `cockroach_restart`) causes a "feature not supported" error after a DDL statement in a [`HIGH PRIORITY` transaction]({% link {{ page.version.version }}/transactions.md %}#transaction-priorities), in order to avoid a transaction deadlock. diff --git a/src/current/_includes/v25.2/sql/unsupported-postgres-features.md b/src/current/_includes/v25.2/sql/unsupported-postgres-features.md index a89650e38e9..2f91c9397a6 100644 --- a/src/current/_includes/v25.2/sql/unsupported-postgres-features.md +++ b/src/current/_includes/v25.2/sql/unsupported-postgres-features.md @@ -1,10 +1,10 @@ ### `CREATE DOMAIN` -CockroachDB does not support `CREATE DOMAIN`. Tracking issue: [cockroachdb/cockroach#108659](https://github.com/cockroachdb/cockroach/issues/108659). +CockroachDB does not support `CREATE DOMAIN`. ### PostgreSQL range types -CockroachDB does not support PostgreSQL range types. Tracking issue: [cockroachdb/cockroach#128638](https://github.com/cockroachdb/cockroach/issues/128638). +CockroachDB does not support PostgreSQL range types. ### Other unsupported features diff --git a/src/current/_includes/v25.3/backward-incompatible/alpha.1.md b/src/current/_includes/v25.3/backward-incompatible/alpha.1.md index b8b1f37d137..3c5cffe8af9 100644 --- a/src/current/_includes/v25.3/backward-incompatible/alpha.1.md +++ b/src/current/_includes/v25.3/backward-incompatible/alpha.1.md @@ -1,15 +1,15 @@ -- CockroachDB no longer performs environment variable expansion in the parameter `--certs-dir`. Uses like `--certs-dir='$HOME/path'` (expansion by CockroachDB) can be replaced by `--certs-dir="$HOME/path"` (expansion by the Unix shell). [#81298][#81298] -- In the Cockroach CLI, [`BOOL` values](../v23.1/bool.html) are now formatted as `t` or `f` instead of `True` or `False`. [#81943][#81943] -- Removed the `cockroach quit` command. It has been deprecated since v20.1. To [shut down a node](../v23.1/node-shutdown.html) gracefully, send a `SIGTERM` signal to it. [#82988][#82988] -- Added a cluster version to allow the [Pebble storage engine](../v23.1/architecture/storage-layer.html#pebble) to recombine certain SSTables (specifically, user keys that are split across multiple files in a level of the [log-structured merge-tree](../v23.1/architecture/storage-layer.html#log-structured-merge-trees)). Recombining the split user keys is required for supporting the range keys feature. The migration to recombine the SSTables is expected to be short (split user keys are rare in practice), but will block subsequent migrations until all tables have been recombined. The `storage.marked-for-compaction-files` time series metric can show the progress of the migration. [#84887][#84887] +- CockroachDB no longer performs environment variable expansion in the parameter `--certs-dir`. Uses like `--certs-dir='$HOME/path'` (expansion by CockroachDB) can be replaced by `--certs-dir="$HOME/path"` (expansion by the Unix shell). #81298 +- In the Cockroach CLI, [`BOOL` values]({% link {{ page.version.version }}/bool.md %}) are now formatted as `t` or `f` instead of `True` or `False`. #81943 +- Removed the `cockroach quit` command. It has been deprecated since v20.1. To [shut down a node]({% link {{ page.version.version }}/node-shutdown.md %}) gracefully, send a `SIGTERM` signal to it. #82988 +- Added a cluster version to allow the [Pebble storage engine]({% link {{ page.version.version }}/architecture/storage-layer.md#pebble %}) to recombine certain SSTables (specifically, user keys that are split across multiple files in a level of the [log-structured merge-tree]({% link {{ page.version.version }}/architecture/storage-layer.md#log-structured-merge-trees %})). Recombining the split user keys is required for supporting the range keys feature. The migration to recombine the SSTables is expected to be short (split user keys are rare in practice), but will block subsequent migrations until all tables have been recombined. The `storage.marked-for-compaction-files` time series metric can show the progress of the migration. #84887 - Using a single TCP port listener for both RPC (node-node) and SQL client connections is now deprecated. This capability **will be removed** in the next version of CockroachDB. Instead, make one of the following configuration changes to your CockroachDB deployment: - Preferred: keep port `26257` for SQL, and allocate a new port, e.g., `26357`, for node-node RPC connections. For example, you might configure a node with the flags `--listen-addr=:26357 --sql-addr=:26257`, where subsequent nodes seeking to join would then use the flag `--join=othernode:26357,othernode:26257`. This will become the default configuration in the next version of CockroachDB. When using this mode of operation, care should be taken to use a `--join` flag that includes both the previous and new port numbers for other nodes, so that no network partition occurs during the upgrade. - - Optional: keep port `26257` for RPC, and allocate a new port, e.g., `26357`, for SQL connections. For example, you might configure a node with the flags `--listen-addr=:26257 --sql-addr=:26357`. When using this mode of operation, the `--join` flags do not need to be modified. However, SQL client apps or the SQL load balancer configuration (when in use) must be updated to use the new SQL port number. [#85671][#85671] -- If no `nullif` option is specified while using [`IMPORT CSV`](../v23.1/import.html), then a zero-length string in the input is now treated as `NULL`. The quoted empty string in the input is treated as an empty string. Similarly, if `nullif` is specified, then an unquoted value is treated as `NULL`, and a quoted value is treated as that string. These changes were made to make `IMPORT CSV` behave more similarly to `COPY CSV`. If the previous behavior (i.e., treating either quoted or unquoted values that match the `nullif` setting as `NULL`) is desired, you can use the new `allow_quoted_null` option in the `IMPORT` statement. [#84487][#84487] -- [`COPY FROM`](../v23.1/copy.html) operations are now atomic by default instead of being segmented into 100 row transactions. Set the `copy_from_atomic_enabled` session setting to `false` for the previous behavior. [#85986][#85986] -- The `GRANT` privilege has been removed and replaced by the more granular [`WITH GRANT OPTION`]({% link v25.3/grant.md %}#grant-privileges-with-the-option-to-grant-to-others), which provides control over which privileges are allowed to be granted. [#81310][#81310] -- Removed the ability to cast `int`, `int2`, and `int8` to a `0` length `BIT` or `VARBIT`. [#81266][#81266] -- Removed the deprecated `GRANT` privilege. [#81310][#81310] -- Removed the `ttl_automatic_column` storage parameter. The `crdb_internal_expiration` column is created when `ttl_expire_after` is set and removed when `ttl_expire_after` is reset. [#83134][#83134] -- Removed the byte string parameter in the `crdb_internal.schedule_sql_stats_compaction` function. [#82560][#82560] -- Changed the default value of the `enable_implicit_transaction_for_batch_statements` to `true`. This means that a [batch of statements]({% link v25.3/transactions.md %}#batched-statements) sent in one string separated by semicolons is treated as an implicit transaction. [#76834][#76834] + - Optional: keep port `26257` for RPC, and allocate a new port, e.g., `26357`, for SQL connections. For example, you might configure a node with the flags `--listen-addr=:26257 --sql-addr=:26357`. When using this mode of operation, the `--join` flags do not need to be modified. However, SQL client apps or the SQL load balancer configuration (when in use) must be updated to use the new SQL port number. #85671 +- If no `nullif` option is specified while using [`IMPORT CSV`]({% link {{ page.version.version }}/import.md %}), then a zero-length string in the input is now treated as `NULL`. The quoted empty string in the input is treated as an empty string. Similarly, if `nullif` is specified, then an unquoted value is treated as `NULL`, and a quoted value is treated as that string. These changes were made to make `IMPORT CSV` behave more similarly to `COPY CSV`. If the previous behavior (i.e., treating either quoted or unquoted values that match the `nullif` setting as `NULL`) is desired, you can use the new `allow_quoted_null` option in the `IMPORT` statement. #84487 +- [`COPY FROM`]({% link {{ page.version.version }}/copy.md %}) operations are now atomic by default instead of being segmented into 100 row transactions. Set the `copy_from_atomic_enabled` session setting to `false` for the previous behavior. #85986 +- The `GRANT` privilege has been removed and replaced by the more granular [`WITH GRANT OPTION`]({% link v25.3/grant.md %}#grant-privileges-with-the-option-to-grant-to-others), which provides control over which privileges are allowed to be granted. #81310 +- Removed the ability to cast `int`, `int2`, and `int8` to a `0` length `BIT` or `VARBIT`. #81266 +- Removed the deprecated `GRANT` privilege. #81310 +- Removed the `ttl_automatic_column` storage parameter. The `crdb_internal_expiration` column is created when `ttl_expire_after` is set and removed when `ttl_expire_after` is reset. #83134 +- Removed the byte string parameter in the `crdb_internal.schedule_sql_stats_compaction` function. #82560 +- Changed the default value of the `enable_implicit_transaction_for_batch_statements` to `true`. This means that a [batch of statements]({% link v25.3/transactions.md %}#batched-statements) sent in one string separated by semicolons is treated as an implicit transaction. #76834 diff --git a/src/current/_includes/v25.3/cdc/avro-udt-composite.md b/src/current/_includes/v25.3/cdc/avro-udt-composite.md index 7a34fbd3253..637cf76abb1 100644 --- a/src/current/_includes/v25.3/cdc/avro-udt-composite.md +++ b/src/current/_includes/v25.3/cdc/avro-udt-composite.md @@ -1 +1 @@ -A changefeed in [Avro format]({% link {{ page.version.version }}/changefeed-messages.md %}#avro) will not be able to serialize [user-defined composite (tuple) types](create-type.html). [#102903](https://github.com/cockroachdb/cockroach/issues/102903) \ No newline at end of file +A changefeed in [Avro format]({% link {{ page.version.version }}/changefeed-messages.md %}#avro) will not be able to serialize [user-defined composite (tuple) types](create-type.html). \ No newline at end of file diff --git a/src/current/_includes/v25.3/cdc/csv-udt-composite.md b/src/current/_includes/v25.3/cdc/csv-udt-composite.md index 834bddd8366..f32008f9fc9 100644 --- a/src/current/_includes/v25.3/cdc/csv-udt-composite.md +++ b/src/current/_includes/v25.3/cdc/csv-udt-composite.md @@ -1 +1 @@ -A changefeed emitting [CSV]({% link {{ page.version.version }}/changefeed-messages.md %}#csv) will include `AS` labels in the message format when the changefeed serializes a [user-defined composite type]({% link {{ page.version.version }}/create-type.md %}). [#102905](https://github.com/cockroachdb/cockroach/issues/102905) \ No newline at end of file +A changefeed emitting [CSV]({% link {{ page.version.version }}/changefeed-messages.md %}#csv) will include `AS` labels in the message format when the changefeed serializes a [user-defined composite type]({% link {{ page.version.version }}/create-type.md %}). \ No newline at end of file diff --git a/src/current/_includes/v25.3/faq/what-is-crdb.md b/src/current/_includes/v25.3/faq/what-is-crdb.md index 28857ed61fa..c99dc2c4c8d 100644 --- a/src/current/_includes/v25.3/faq/what-is-crdb.md +++ b/src/current/_includes/v25.3/faq/what-is-crdb.md @@ -1,6 +1,6 @@ CockroachDB is a [distributed SQL](https://www.cockroachlabs.com/blog/what-is-distributed-sql/) database built on a transactional and strongly-consistent key-value store. It **scales** horizontally; **survives** disk, machine, rack, and even datacenter failures with minimal latency disruption and no manual intervention; supports **strongly-consistent** ACID transactions; and provides a familiar **SQL** API for structuring, manipulating, and querying data. -CockroachDB is inspired by Google's [Spanner](http://research.google.com/archive/spanner.html) and [F1](http://research.google.com/pubs/pub38125.html) technologies, and the [source code](https://github.com/cockroachdb/cockroach) is freely available. +CockroachDB is inspired by Google's [Spanner](http://research.google.com/archive/spanner.html) and [F1](http://research.google.com/pubs/pub38125.html) technologies. {{site.data.alerts.callout_success}} For a deeper dive into CockroachDB's capabilities and how it fits into the database landscape, take the free [**Intro to Distributed SQL and CockroachDB**](https://university.cockroachlabs.com/courses/course-v1:crl+intro-to-distributed-sql-and-cockroachdb+self-paced/about) course on Cockroach University. diff --git a/src/current/_includes/v25.3/finalization-required/119894.md b/src/current/_includes/v25.3/finalization-required/119894.md index f2b393c3c0e..f5177dcd523 100644 --- a/src/current/_includes/v25.3/finalization-required/119894.md +++ b/src/current/_includes/v25.3/finalization-required/119894.md @@ -1 +1 @@ -[Splits](https://cockroachlabs.com/docs/{{ include.version }}/architecture/distribution-layer#range-splits) no longer hold [latches](https://cockroachlabs.com/docs/architecture/distribution-layer.#latch-manager) for time proportional to the range size while computing [MVCC](https://cockroachlabs.com/docs/{{ include.version }}/architecture/storage-layer#mvcc) statistics. Instead, MVCC statistics are pre-computed before the critical section of the split. As a side effect, the resulting statistics are no longer 100% accurate because they may correctly distribute writes concurrent with the split. To mitigate against this potential inaccuracy, and to prevent the statistics from drifting after successive splits, the existing stored statistics are re-computed and corrected if needed during the non-critical section of the split. [#119894](https://github.com/cockroachdb/cockroach/pull/119894) +[Splits](https://cockroachlabs.com/docs/{{ include.version }}/architecture/distribution-layer#range-splits) no longer hold [latches](https://cockroachlabs.com/docs/architecture/distribution-layer.#latch-manager) for time proportional to the range size while computing [MVCC](https://cockroachlabs.com/docs/{{ include.version }}/architecture/storage-layer#mvcc) statistics. Instead, MVCC statistics are pre-computed before the critical section of the split. As a side effect, the resulting statistics are no longer 100% accurate because they may correctly distribute writes concurrent with the split. To mitigate against this potential inaccuracy, and to prevent the statistics from drifting after successive splits, the existing stored statistics are re-computed and corrected if needed during the non-critical section of the split. #119894 diff --git a/src/current/_includes/v25.3/prod-deployment/decommission-pre-flight-checks.md b/src/current/_includes/v25.3/prod-deployment/decommission-pre-flight-checks.md index b267379384b..5b3b626f70d 100644 --- a/src/current/_includes/v25.3/prod-deployment/decommission-pre-flight-checks.md +++ b/src/current/_includes/v25.3/prod-deployment/decommission-pre-flight-checks.md @@ -14,5 +14,5 @@ Failed running "node decommission" These checks can be skipped by [passing the flag `--checks=skip` to `cockroach node decommission`]({% link {{ page.version.version }}/cockroach-node.md %}#decommission-checks). {{site.data.alerts.callout_info}} -The amount of remaining disk space on other nodes in the cluster is not yet considered as part of the decommissioning pre-flight checks. For more information, see [cockroachdb/cockroach#71757](https://github.com/cockroachdb/cockroach/issues/71757) +The amount of remaining disk space on other nodes in the cluster is not yet considered as part of the decommissioning pre-flight checks. {{site.data.alerts.end}} diff --git a/src/current/_includes/v25.3/sql/savepoints-and-high-priority-transactions.md b/src/current/_includes/v25.3/sql/savepoints-and-high-priority-transactions.md index c6de489e641..ce124bc3209 100644 --- a/src/current/_includes/v25.3/sql/savepoints-and-high-priority-transactions.md +++ b/src/current/_includes/v25.3/sql/savepoints-and-high-priority-transactions.md @@ -1 +1 @@ -[`ROLLBACK TO SAVEPOINT`]({% link {{ page.version.version }}/rollback-transaction.md %}#rollback-a-nested-transaction) (for either regular savepoints or "restart savepoints" defined with `cockroach_restart`) causes a "feature not supported" error after a DDL statement in a [`HIGH PRIORITY` transaction]({% link {{ page.version.version }}/transactions.md %}#transaction-priorities), in order to avoid a transaction deadlock. For more information, see GitHub issue [#46414](https://www.github.com/cockroachdb/cockroach/issues/46414). +[`ROLLBACK TO SAVEPOINT`]({% link {{ page.version.version }}/rollback-transaction.md %}#rollback-a-nested-transaction) (for either regular savepoints or "restart savepoints" defined with `cockroach_restart`) causes a "feature not supported" error after a DDL statement in a [`HIGH PRIORITY` transaction]({% link {{ page.version.version }}/transactions.md %}#transaction-priorities), in order to avoid a transaction deadlock. diff --git a/src/current/_includes/v25.4/backward-incompatible/alpha.1.md b/src/current/_includes/v25.4/backward-incompatible/alpha.1.md index 8d4004422ad..f10881f0418 100644 --- a/src/current/_includes/v25.4/backward-incompatible/alpha.1.md +++ b/src/current/_includes/v25.4/backward-incompatible/alpha.1.md @@ -1,15 +1,15 @@ -- CockroachDB no longer performs environment variable expansion in the parameter `--certs-dir`. Uses like `--certs-dir='$HOME/path'` (expansion by CockroachDB) can be replaced by `--certs-dir="$HOME/path"` (expansion by the Unix shell). [#81298][#81298] -- In the Cockroach CLI, [`BOOL` values]({% link {{ page.version.version }}/bool.md %}) are now formatted as `t` or `f` instead of `True` or `False`. [#81943][#81943] -- Removed the `cockroach quit` command. It has been deprecated since v20.1. To [shut down a node]({% link {{ page.version.version }}/node-shutdown.md %}) gracefully, send a `SIGTERM` signal to it. [#82988][#82988] -- Added a cluster version to allow the [Pebble storage engine]({% link {{ page.version.version }}/architecture/storage-layer.md#pebble %}) to recombine certain SSTables (specifically, user keys that are split across multiple files in a level of the [log-structured merge-tree]({% link {{ page.version.version }}/architecture/storage-layer.md#log-structured-merge-trees %})). Recombining the split user keys is required for supporting the range keys feature. The migration to recombine the SSTables is expected to be short (split user keys are rare in practice), but will block subsequent migrations until all tables have been recombined. The `storage.marked-for-compaction-files` time series metric can show the progress of the migration. [#84887][#84887] +- CockroachDB no longer performs environment variable expansion in the parameter `--certs-dir`. Uses like `--certs-dir='$HOME/path'` (expansion by CockroachDB) can be replaced by `--certs-dir="$HOME/path"` (expansion by the Unix shell). #81298 +- In the Cockroach CLI, [`BOOL` values]({% link {{ page.version.version }}/bool.md %}) are now formatted as `t` or `f` instead of `True` or `False`. #81943 +- Removed the `cockroach quit` command. It has been deprecated since v20.1. To [shut down a node]({% link {{ page.version.version }}/node-shutdown.md %}) gracefully, send a `SIGTERM` signal to it. #82988 +- Added a cluster version to allow the [Pebble storage engine]({% link {{ page.version.version }}/architecture/storage-layer.md#pebble %}) to recombine certain SSTables (specifically, user keys that are split across multiple files in a level of the [log-structured merge-tree]({% link {{ page.version.version }}/architecture/storage-layer.md#log-structured-merge-trees %})). Recombining the split user keys is required for supporting the range keys feature. The migration to recombine the SSTables is expected to be short (split user keys are rare in practice), but will block subsequent migrations until all tables have been recombined. The `storage.marked-for-compaction-files` time series metric can show the progress of the migration. #84887 - Using a single TCP port listener for both RPC (node-node) and SQL client connections is now deprecated. This capability **will be removed** in the next version of CockroachDB. Instead, make one of the following configuration changes to your CockroachDB deployment: - Preferred: keep port `26257` for SQL, and allocate a new port, e.g., `26357`, for node-node RPC connections. For example, you might configure a node with the flags `--listen-addr=:26357 --sql-addr=:26257`, where subsequent nodes seeking to join would then use the flag `--join=othernode:26357,othernode:26257`. This will become the default configuration in the next version of CockroachDB. When using this mode of operation, care should be taken to use a `--join` flag that includes both the previous and new port numbers for other nodes, so that no network partition occurs during the upgrade. - - Optional: keep port `26257` for RPC, and allocate a new port, e.g., `26357`, for SQL connections. For example, you might configure a node with the flags `--listen-addr=:26257 --sql-addr=:26357`. When using this mode of operation, the `--join` flags do not need to be modified. However, SQL client apps or the SQL load balancer configuration (when in use) must be updated to use the new SQL port number. [#85671][#85671] -- If no `nullif` option is specified while using [`IMPORT CSV`]({% link {{ page.version.version }}/import.md %}), then a zero-length string in the input is now treated as `NULL`. The quoted empty string in the input is treated as an empty string. Similarly, if `nullif` is specified, then an unquoted value is treated as `NULL`, and a quoted value is treated as that string. These changes were made to make `IMPORT CSV` behave more similarly to `COPY CSV`. If the previous behavior (i.e., treating either quoted or unquoted values that match the `nullif` setting as `NULL`) is desired, you can use the new `allow_quoted_null` option in the `IMPORT` statement. [#84487][#84487] -- [`COPY FROM`]({% link {{ page.version.version }}/copy.md %}) operations are now atomic by default instead of being segmented into 100 row transactions. Set the `copy_from_atomic_enabled` session setting to `false` for the previous behavior. [#85986][#85986] -- The `GRANT` privilege has been removed and replaced by the more granular [`WITH GRANT OPTION`]({% link {{ page.version.version }}/grant.md %}#grant-privileges-with-the-option-to-grant-to-others), which provides control over which privileges are allowed to be granted. [#81310][#81310] -- Removed the ability to cast `int`, `int2`, and `int8` to a `0` length `BIT` or `VARBIT`. [#81266][#81266] -- Removed the deprecated `GRANT` privilege. [#81310][#81310] -- Removed the `ttl_automatic_column` storage parameter. The `crdb_internal_expiration` column is created when `ttl_expire_after` is set and removed when `ttl_expire_after` is reset. [#83134][#83134] -- Removed the byte string parameter in the `crdb_internal.schedule_sql_stats_compaction` function. [#82560][#82560] -- Changed the default value of the `enable_implicit_transaction_for_batch_statements` to `true`. This means that a [batch of statements]({% link {{ page.version.version }}/transactions.md %}#batched-statements) sent in one string separated by semicolons is treated as an implicit transaction. [#76834][#76834] + - Optional: keep port `26257` for RPC, and allocate a new port, e.g., `26357`, for SQL connections. For example, you might configure a node with the flags `--listen-addr=:26257 --sql-addr=:26357`. When using this mode of operation, the `--join` flags do not need to be modified. However, SQL client apps or the SQL load balancer configuration (when in use) must be updated to use the new SQL port number. #85671 +- If no `nullif` option is specified while using [`IMPORT CSV`]({% link {{ page.version.version }}/import.md %}), then a zero-length string in the input is now treated as `NULL`. The quoted empty string in the input is treated as an empty string. Similarly, if `nullif` is specified, then an unquoted value is treated as `NULL`, and a quoted value is treated as that string. These changes were made to make `IMPORT CSV` behave more similarly to `COPY CSV`. If the previous behavior (i.e., treating either quoted or unquoted values that match the `nullif` setting as `NULL`) is desired, you can use the new `allow_quoted_null` option in the `IMPORT` statement. #84487 +- [`COPY FROM`]({% link {{ page.version.version }}/copy.md %}) operations are now atomic by default instead of being segmented into 100 row transactions. Set the `copy_from_atomic_enabled` session setting to `false` for the previous behavior. #85986 +- The `GRANT` privilege has been removed and replaced by the more granular [`WITH GRANT OPTION`]({% link {{ page.version.version }}/grant.md %}#grant-privileges-with-the-option-to-grant-to-others), which provides control over which privileges are allowed to be granted. #81310 +- Removed the ability to cast `int`, `int2`, and `int8` to a `0` length `BIT` or `VARBIT`. #81266 +- Removed the deprecated `GRANT` privilege. #81310 +- Removed the `ttl_automatic_column` storage parameter. The `crdb_internal_expiration` column is created when `ttl_expire_after` is set and removed when `ttl_expire_after` is reset. #83134 +- Removed the byte string parameter in the `crdb_internal.schedule_sql_stats_compaction` function. #82560 +- Changed the default value of the `enable_implicit_transaction_for_batch_statements` to `true`. This means that a [batch of statements]({% link {{ page.version.version }}/transactions.md %}#batched-statements) sent in one string separated by semicolons is treated as an implicit transaction. #76834 diff --git a/src/current/_includes/v25.4/cdc/avro-udt-composite.md b/src/current/_includes/v25.4/cdc/avro-udt-composite.md index 7a34fbd3253..637cf76abb1 100644 --- a/src/current/_includes/v25.4/cdc/avro-udt-composite.md +++ b/src/current/_includes/v25.4/cdc/avro-udt-composite.md @@ -1 +1 @@ -A changefeed in [Avro format]({% link {{ page.version.version }}/changefeed-messages.md %}#avro) will not be able to serialize [user-defined composite (tuple) types](create-type.html). [#102903](https://github.com/cockroachdb/cockroach/issues/102903) \ No newline at end of file +A changefeed in [Avro format]({% link {{ page.version.version }}/changefeed-messages.md %}#avro) will not be able to serialize [user-defined composite (tuple) types](create-type.html). \ No newline at end of file diff --git a/src/current/_includes/v25.4/cdc/csv-udt-composite.md b/src/current/_includes/v25.4/cdc/csv-udt-composite.md index 834bddd8366..f32008f9fc9 100644 --- a/src/current/_includes/v25.4/cdc/csv-udt-composite.md +++ b/src/current/_includes/v25.4/cdc/csv-udt-composite.md @@ -1 +1 @@ -A changefeed emitting [CSV]({% link {{ page.version.version }}/changefeed-messages.md %}#csv) will include `AS` labels in the message format when the changefeed serializes a [user-defined composite type]({% link {{ page.version.version }}/create-type.md %}). [#102905](https://github.com/cockroachdb/cockroach/issues/102905) \ No newline at end of file +A changefeed emitting [CSV]({% link {{ page.version.version }}/changefeed-messages.md %}#csv) will include `AS` labels in the message format when the changefeed serializes a [user-defined composite type]({% link {{ page.version.version }}/create-type.md %}). \ No newline at end of file diff --git a/src/current/_includes/v25.4/faq/what-is-crdb.md b/src/current/_includes/v25.4/faq/what-is-crdb.md index 28857ed61fa..c99dc2c4c8d 100644 --- a/src/current/_includes/v25.4/faq/what-is-crdb.md +++ b/src/current/_includes/v25.4/faq/what-is-crdb.md @@ -1,6 +1,6 @@ CockroachDB is a [distributed SQL](https://www.cockroachlabs.com/blog/what-is-distributed-sql/) database built on a transactional and strongly-consistent key-value store. It **scales** horizontally; **survives** disk, machine, rack, and even datacenter failures with minimal latency disruption and no manual intervention; supports **strongly-consistent** ACID transactions; and provides a familiar **SQL** API for structuring, manipulating, and querying data. -CockroachDB is inspired by Google's [Spanner](http://research.google.com/archive/spanner.html) and [F1](http://research.google.com/pubs/pub38125.html) technologies, and the [source code](https://github.com/cockroachdb/cockroach) is freely available. +CockroachDB is inspired by Google's [Spanner](http://research.google.com/archive/spanner.html) and [F1](http://research.google.com/pubs/pub38125.html) technologies. {{site.data.alerts.callout_success}} For a deeper dive into CockroachDB's capabilities and how it fits into the database landscape, take the free [**Intro to Distributed SQL and CockroachDB**](https://university.cockroachlabs.com/courses/course-v1:crl+intro-to-distributed-sql-and-cockroachdb+self-paced/about) course on Cockroach University. diff --git a/src/current/_includes/v25.4/finalization-required/119894.md b/src/current/_includes/v25.4/finalization-required/119894.md index f2b393c3c0e..f5177dcd523 100644 --- a/src/current/_includes/v25.4/finalization-required/119894.md +++ b/src/current/_includes/v25.4/finalization-required/119894.md @@ -1 +1 @@ -[Splits](https://cockroachlabs.com/docs/{{ include.version }}/architecture/distribution-layer#range-splits) no longer hold [latches](https://cockroachlabs.com/docs/architecture/distribution-layer.#latch-manager) for time proportional to the range size while computing [MVCC](https://cockroachlabs.com/docs/{{ include.version }}/architecture/storage-layer#mvcc) statistics. Instead, MVCC statistics are pre-computed before the critical section of the split. As a side effect, the resulting statistics are no longer 100% accurate because they may correctly distribute writes concurrent with the split. To mitigate against this potential inaccuracy, and to prevent the statistics from drifting after successive splits, the existing stored statistics are re-computed and corrected if needed during the non-critical section of the split. [#119894](https://github.com/cockroachdb/cockroach/pull/119894) +[Splits](https://cockroachlabs.com/docs/{{ include.version }}/architecture/distribution-layer#range-splits) no longer hold [latches](https://cockroachlabs.com/docs/architecture/distribution-layer.#latch-manager) for time proportional to the range size while computing [MVCC](https://cockroachlabs.com/docs/{{ include.version }}/architecture/storage-layer#mvcc) statistics. Instead, MVCC statistics are pre-computed before the critical section of the split. As a side effect, the resulting statistics are no longer 100% accurate because they may correctly distribute writes concurrent with the split. To mitigate against this potential inaccuracy, and to prevent the statistics from drifting after successive splits, the existing stored statistics are re-computed and corrected if needed during the non-critical section of the split. #119894 diff --git a/src/current/_includes/v25.4/prod-deployment/decommission-pre-flight-checks.md b/src/current/_includes/v25.4/prod-deployment/decommission-pre-flight-checks.md index b267379384b..5b3b626f70d 100644 --- a/src/current/_includes/v25.4/prod-deployment/decommission-pre-flight-checks.md +++ b/src/current/_includes/v25.4/prod-deployment/decommission-pre-flight-checks.md @@ -14,5 +14,5 @@ Failed running "node decommission" These checks can be skipped by [passing the flag `--checks=skip` to `cockroach node decommission`]({% link {{ page.version.version }}/cockroach-node.md %}#decommission-checks). {{site.data.alerts.callout_info}} -The amount of remaining disk space on other nodes in the cluster is not yet considered as part of the decommissioning pre-flight checks. For more information, see [cockroachdb/cockroach#71757](https://github.com/cockroachdb/cockroach/issues/71757) +The amount of remaining disk space on other nodes in the cluster is not yet considered as part of the decommissioning pre-flight checks. {{site.data.alerts.end}} diff --git a/src/current/_includes/v25.4/sql/savepoints-and-high-priority-transactions.md b/src/current/_includes/v25.4/sql/savepoints-and-high-priority-transactions.md index c6de489e641..ce124bc3209 100644 --- a/src/current/_includes/v25.4/sql/savepoints-and-high-priority-transactions.md +++ b/src/current/_includes/v25.4/sql/savepoints-and-high-priority-transactions.md @@ -1 +1 @@ -[`ROLLBACK TO SAVEPOINT`]({% link {{ page.version.version }}/rollback-transaction.md %}#rollback-a-nested-transaction) (for either regular savepoints or "restart savepoints" defined with `cockroach_restart`) causes a "feature not supported" error after a DDL statement in a [`HIGH PRIORITY` transaction]({% link {{ page.version.version }}/transactions.md %}#transaction-priorities), in order to avoid a transaction deadlock. For more information, see GitHub issue [#46414](https://www.github.com/cockroachdb/cockroach/issues/46414). +[`ROLLBACK TO SAVEPOINT`]({% link {{ page.version.version }}/rollback-transaction.md %}#rollback-a-nested-transaction) (for either regular savepoints or "restart savepoints" defined with `cockroach_restart`) causes a "feature not supported" error after a DDL statement in a [`HIGH PRIORITY` transaction]({% link {{ page.version.version }}/transactions.md %}#transaction-priorities), in order to avoid a transaction deadlock. diff --git a/src/current/_includes/v25.4/sql/unsupported-postgres-features.md b/src/current/_includes/v25.4/sql/unsupported-postgres-features.md index a89650e38e9..2f91c9397a6 100644 --- a/src/current/_includes/v25.4/sql/unsupported-postgres-features.md +++ b/src/current/_includes/v25.4/sql/unsupported-postgres-features.md @@ -1,10 +1,10 @@ ### `CREATE DOMAIN` -CockroachDB does not support `CREATE DOMAIN`. Tracking issue: [cockroachdb/cockroach#108659](https://github.com/cockroachdb/cockroach/issues/108659). +CockroachDB does not support `CREATE DOMAIN`. ### PostgreSQL range types -CockroachDB does not support PostgreSQL range types. Tracking issue: [cockroachdb/cockroach#128638](https://github.com/cockroachdb/cockroach/issues/128638). +CockroachDB does not support PostgreSQL range types. ### Other unsupported features diff --git a/src/current/_includes/v26.1/backward-incompatible/alpha.1.md b/src/current/_includes/v26.1/backward-incompatible/alpha.1.md index 8d4004422ad..f10881f0418 100644 --- a/src/current/_includes/v26.1/backward-incompatible/alpha.1.md +++ b/src/current/_includes/v26.1/backward-incompatible/alpha.1.md @@ -1,15 +1,15 @@ -- CockroachDB no longer performs environment variable expansion in the parameter `--certs-dir`. Uses like `--certs-dir='$HOME/path'` (expansion by CockroachDB) can be replaced by `--certs-dir="$HOME/path"` (expansion by the Unix shell). [#81298][#81298] -- In the Cockroach CLI, [`BOOL` values]({% link {{ page.version.version }}/bool.md %}) are now formatted as `t` or `f` instead of `True` or `False`. [#81943][#81943] -- Removed the `cockroach quit` command. It has been deprecated since v20.1. To [shut down a node]({% link {{ page.version.version }}/node-shutdown.md %}) gracefully, send a `SIGTERM` signal to it. [#82988][#82988] -- Added a cluster version to allow the [Pebble storage engine]({% link {{ page.version.version }}/architecture/storage-layer.md#pebble %}) to recombine certain SSTables (specifically, user keys that are split across multiple files in a level of the [log-structured merge-tree]({% link {{ page.version.version }}/architecture/storage-layer.md#log-structured-merge-trees %})). Recombining the split user keys is required for supporting the range keys feature. The migration to recombine the SSTables is expected to be short (split user keys are rare in practice), but will block subsequent migrations until all tables have been recombined. The `storage.marked-for-compaction-files` time series metric can show the progress of the migration. [#84887][#84887] +- CockroachDB no longer performs environment variable expansion in the parameter `--certs-dir`. Uses like `--certs-dir='$HOME/path'` (expansion by CockroachDB) can be replaced by `--certs-dir="$HOME/path"` (expansion by the Unix shell). #81298 +- In the Cockroach CLI, [`BOOL` values]({% link {{ page.version.version }}/bool.md %}) are now formatted as `t` or `f` instead of `True` or `False`. #81943 +- Removed the `cockroach quit` command. It has been deprecated since v20.1. To [shut down a node]({% link {{ page.version.version }}/node-shutdown.md %}) gracefully, send a `SIGTERM` signal to it. #82988 +- Added a cluster version to allow the [Pebble storage engine]({% link {{ page.version.version }}/architecture/storage-layer.md#pebble %}) to recombine certain SSTables (specifically, user keys that are split across multiple files in a level of the [log-structured merge-tree]({% link {{ page.version.version }}/architecture/storage-layer.md#log-structured-merge-trees %})). Recombining the split user keys is required for supporting the range keys feature. The migration to recombine the SSTables is expected to be short (split user keys are rare in practice), but will block subsequent migrations until all tables have been recombined. The `storage.marked-for-compaction-files` time series metric can show the progress of the migration. #84887 - Using a single TCP port listener for both RPC (node-node) and SQL client connections is now deprecated. This capability **will be removed** in the next version of CockroachDB. Instead, make one of the following configuration changes to your CockroachDB deployment: - Preferred: keep port `26257` for SQL, and allocate a new port, e.g., `26357`, for node-node RPC connections. For example, you might configure a node with the flags `--listen-addr=:26357 --sql-addr=:26257`, where subsequent nodes seeking to join would then use the flag `--join=othernode:26357,othernode:26257`. This will become the default configuration in the next version of CockroachDB. When using this mode of operation, care should be taken to use a `--join` flag that includes both the previous and new port numbers for other nodes, so that no network partition occurs during the upgrade. - - Optional: keep port `26257` for RPC, and allocate a new port, e.g., `26357`, for SQL connections. For example, you might configure a node with the flags `--listen-addr=:26257 --sql-addr=:26357`. When using this mode of operation, the `--join` flags do not need to be modified. However, SQL client apps or the SQL load balancer configuration (when in use) must be updated to use the new SQL port number. [#85671][#85671] -- If no `nullif` option is specified while using [`IMPORT CSV`]({% link {{ page.version.version }}/import.md %}), then a zero-length string in the input is now treated as `NULL`. The quoted empty string in the input is treated as an empty string. Similarly, if `nullif` is specified, then an unquoted value is treated as `NULL`, and a quoted value is treated as that string. These changes were made to make `IMPORT CSV` behave more similarly to `COPY CSV`. If the previous behavior (i.e., treating either quoted or unquoted values that match the `nullif` setting as `NULL`) is desired, you can use the new `allow_quoted_null` option in the `IMPORT` statement. [#84487][#84487] -- [`COPY FROM`]({% link {{ page.version.version }}/copy.md %}) operations are now atomic by default instead of being segmented into 100 row transactions. Set the `copy_from_atomic_enabled` session setting to `false` for the previous behavior. [#85986][#85986] -- The `GRANT` privilege has been removed and replaced by the more granular [`WITH GRANT OPTION`]({% link {{ page.version.version }}/grant.md %}#grant-privileges-with-the-option-to-grant-to-others), which provides control over which privileges are allowed to be granted. [#81310][#81310] -- Removed the ability to cast `int`, `int2`, and `int8` to a `0` length `BIT` or `VARBIT`. [#81266][#81266] -- Removed the deprecated `GRANT` privilege. [#81310][#81310] -- Removed the `ttl_automatic_column` storage parameter. The `crdb_internal_expiration` column is created when `ttl_expire_after` is set and removed when `ttl_expire_after` is reset. [#83134][#83134] -- Removed the byte string parameter in the `crdb_internal.schedule_sql_stats_compaction` function. [#82560][#82560] -- Changed the default value of the `enable_implicit_transaction_for_batch_statements` to `true`. This means that a [batch of statements]({% link {{ page.version.version }}/transactions.md %}#batched-statements) sent in one string separated by semicolons is treated as an implicit transaction. [#76834][#76834] + - Optional: keep port `26257` for RPC, and allocate a new port, e.g., `26357`, for SQL connections. For example, you might configure a node with the flags `--listen-addr=:26257 --sql-addr=:26357`. When using this mode of operation, the `--join` flags do not need to be modified. However, SQL client apps or the SQL load balancer configuration (when in use) must be updated to use the new SQL port number. #85671 +- If no `nullif` option is specified while using [`IMPORT CSV`]({% link {{ page.version.version }}/import.md %}), then a zero-length string in the input is now treated as `NULL`. The quoted empty string in the input is treated as an empty string. Similarly, if `nullif` is specified, then an unquoted value is treated as `NULL`, and a quoted value is treated as that string. These changes were made to make `IMPORT CSV` behave more similarly to `COPY CSV`. If the previous behavior (i.e., treating either quoted or unquoted values that match the `nullif` setting as `NULL`) is desired, you can use the new `allow_quoted_null` option in the `IMPORT` statement. #84487 +- [`COPY FROM`]({% link {{ page.version.version }}/copy.md %}) operations are now atomic by default instead of being segmented into 100 row transactions. Set the `copy_from_atomic_enabled` session setting to `false` for the previous behavior. #85986 +- The `GRANT` privilege has been removed and replaced by the more granular [`WITH GRANT OPTION`]({% link {{ page.version.version }}/grant.md %}#grant-privileges-with-the-option-to-grant-to-others), which provides control over which privileges are allowed to be granted. #81310 +- Removed the ability to cast `int`, `int2`, and `int8` to a `0` length `BIT` or `VARBIT`. #81266 +- Removed the deprecated `GRANT` privilege. #81310 +- Removed the `ttl_automatic_column` storage parameter. The `crdb_internal_expiration` column is created when `ttl_expire_after` is set and removed when `ttl_expire_after` is reset. #83134 +- Removed the byte string parameter in the `crdb_internal.schedule_sql_stats_compaction` function. #82560 +- Changed the default value of the `enable_implicit_transaction_for_batch_statements` to `true`. This means that a [batch of statements]({% link {{ page.version.version }}/transactions.md %}#batched-statements) sent in one string separated by semicolons is treated as an implicit transaction. #76834 diff --git a/src/current/_includes/v26.1/cdc/avro-udt-composite.md b/src/current/_includes/v26.1/cdc/avro-udt-composite.md index 7a34fbd3253..637cf76abb1 100644 --- a/src/current/_includes/v26.1/cdc/avro-udt-composite.md +++ b/src/current/_includes/v26.1/cdc/avro-udt-composite.md @@ -1 +1 @@ -A changefeed in [Avro format]({% link {{ page.version.version }}/changefeed-messages.md %}#avro) will not be able to serialize [user-defined composite (tuple) types](create-type.html). [#102903](https://github.com/cockroachdb/cockroach/issues/102903) \ No newline at end of file +A changefeed in [Avro format]({% link {{ page.version.version }}/changefeed-messages.md %}#avro) will not be able to serialize [user-defined composite (tuple) types](create-type.html). \ No newline at end of file diff --git a/src/current/_includes/v26.1/cdc/csv-udt-composite.md b/src/current/_includes/v26.1/cdc/csv-udt-composite.md index 834bddd8366..f32008f9fc9 100644 --- a/src/current/_includes/v26.1/cdc/csv-udt-composite.md +++ b/src/current/_includes/v26.1/cdc/csv-udt-composite.md @@ -1 +1 @@ -A changefeed emitting [CSV]({% link {{ page.version.version }}/changefeed-messages.md %}#csv) will include `AS` labels in the message format when the changefeed serializes a [user-defined composite type]({% link {{ page.version.version }}/create-type.md %}). [#102905](https://github.com/cockroachdb/cockroach/issues/102905) \ No newline at end of file +A changefeed emitting [CSV]({% link {{ page.version.version }}/changefeed-messages.md %}#csv) will include `AS` labels in the message format when the changefeed serializes a [user-defined composite type]({% link {{ page.version.version }}/create-type.md %}). \ No newline at end of file diff --git a/src/current/_includes/v26.1/faq/what-is-crdb.md b/src/current/_includes/v26.1/faq/what-is-crdb.md index 28857ed61fa..c99dc2c4c8d 100644 --- a/src/current/_includes/v26.1/faq/what-is-crdb.md +++ b/src/current/_includes/v26.1/faq/what-is-crdb.md @@ -1,6 +1,6 @@ CockroachDB is a [distributed SQL](https://www.cockroachlabs.com/blog/what-is-distributed-sql/) database built on a transactional and strongly-consistent key-value store. It **scales** horizontally; **survives** disk, machine, rack, and even datacenter failures with minimal latency disruption and no manual intervention; supports **strongly-consistent** ACID transactions; and provides a familiar **SQL** API for structuring, manipulating, and querying data. -CockroachDB is inspired by Google's [Spanner](http://research.google.com/archive/spanner.html) and [F1](http://research.google.com/pubs/pub38125.html) technologies, and the [source code](https://github.com/cockroachdb/cockroach) is freely available. +CockroachDB is inspired by Google's [Spanner](http://research.google.com/archive/spanner.html) and [F1](http://research.google.com/pubs/pub38125.html) technologies. {{site.data.alerts.callout_success}} For a deeper dive into CockroachDB's capabilities and how it fits into the database landscape, take the free [**Intro to Distributed SQL and CockroachDB**](https://university.cockroachlabs.com/courses/course-v1:crl+intro-to-distributed-sql-and-cockroachdb+self-paced/about) course on Cockroach University. diff --git a/src/current/_includes/v26.1/finalization-required/119894.md b/src/current/_includes/v26.1/finalization-required/119894.md index f2b393c3c0e..f5177dcd523 100644 --- a/src/current/_includes/v26.1/finalization-required/119894.md +++ b/src/current/_includes/v26.1/finalization-required/119894.md @@ -1 +1 @@ -[Splits](https://cockroachlabs.com/docs/{{ include.version }}/architecture/distribution-layer#range-splits) no longer hold [latches](https://cockroachlabs.com/docs/architecture/distribution-layer.#latch-manager) for time proportional to the range size while computing [MVCC](https://cockroachlabs.com/docs/{{ include.version }}/architecture/storage-layer#mvcc) statistics. Instead, MVCC statistics are pre-computed before the critical section of the split. As a side effect, the resulting statistics are no longer 100% accurate because they may correctly distribute writes concurrent with the split. To mitigate against this potential inaccuracy, and to prevent the statistics from drifting after successive splits, the existing stored statistics are re-computed and corrected if needed during the non-critical section of the split. [#119894](https://github.com/cockroachdb/cockroach/pull/119894) +[Splits](https://cockroachlabs.com/docs/{{ include.version }}/architecture/distribution-layer#range-splits) no longer hold [latches](https://cockroachlabs.com/docs/architecture/distribution-layer.#latch-manager) for time proportional to the range size while computing [MVCC](https://cockroachlabs.com/docs/{{ include.version }}/architecture/storage-layer#mvcc) statistics. Instead, MVCC statistics are pre-computed before the critical section of the split. As a side effect, the resulting statistics are no longer 100% accurate because they may correctly distribute writes concurrent with the split. To mitigate against this potential inaccuracy, and to prevent the statistics from drifting after successive splits, the existing stored statistics are re-computed and corrected if needed during the non-critical section of the split. #119894 diff --git a/src/current/_includes/v26.1/prod-deployment/decommission-pre-flight-checks.md b/src/current/_includes/v26.1/prod-deployment/decommission-pre-flight-checks.md index b267379384b..5b3b626f70d 100644 --- a/src/current/_includes/v26.1/prod-deployment/decommission-pre-flight-checks.md +++ b/src/current/_includes/v26.1/prod-deployment/decommission-pre-flight-checks.md @@ -14,5 +14,5 @@ Failed running "node decommission" These checks can be skipped by [passing the flag `--checks=skip` to `cockroach node decommission`]({% link {{ page.version.version }}/cockroach-node.md %}#decommission-checks). {{site.data.alerts.callout_info}} -The amount of remaining disk space on other nodes in the cluster is not yet considered as part of the decommissioning pre-flight checks. For more information, see [cockroachdb/cockroach#71757](https://github.com/cockroachdb/cockroach/issues/71757) +The amount of remaining disk space on other nodes in the cluster is not yet considered as part of the decommissioning pre-flight checks. {{site.data.alerts.end}} diff --git a/src/current/_includes/v26.1/sql/savepoints-and-high-priority-transactions.md b/src/current/_includes/v26.1/sql/savepoints-and-high-priority-transactions.md index c6de489e641..ce124bc3209 100644 --- a/src/current/_includes/v26.1/sql/savepoints-and-high-priority-transactions.md +++ b/src/current/_includes/v26.1/sql/savepoints-and-high-priority-transactions.md @@ -1 +1 @@ -[`ROLLBACK TO SAVEPOINT`]({% link {{ page.version.version }}/rollback-transaction.md %}#rollback-a-nested-transaction) (for either regular savepoints or "restart savepoints" defined with `cockroach_restart`) causes a "feature not supported" error after a DDL statement in a [`HIGH PRIORITY` transaction]({% link {{ page.version.version }}/transactions.md %}#transaction-priorities), in order to avoid a transaction deadlock. For more information, see GitHub issue [#46414](https://www.github.com/cockroachdb/cockroach/issues/46414). +[`ROLLBACK TO SAVEPOINT`]({% link {{ page.version.version }}/rollback-transaction.md %}#rollback-a-nested-transaction) (for either regular savepoints or "restart savepoints" defined with `cockroach_restart`) causes a "feature not supported" error after a DDL statement in a [`HIGH PRIORITY` transaction]({% link {{ page.version.version }}/transactions.md %}#transaction-priorities), in order to avoid a transaction deadlock. diff --git a/src/current/_includes/v26.1/sql/unsupported-postgres-features.md b/src/current/_includes/v26.1/sql/unsupported-postgres-features.md index a89650e38e9..2f91c9397a6 100644 --- a/src/current/_includes/v26.1/sql/unsupported-postgres-features.md +++ b/src/current/_includes/v26.1/sql/unsupported-postgres-features.md @@ -1,10 +1,10 @@ ### `CREATE DOMAIN` -CockroachDB does not support `CREATE DOMAIN`. Tracking issue: [cockroachdb/cockroach#108659](https://github.com/cockroachdb/cockroach/issues/108659). +CockroachDB does not support `CREATE DOMAIN`. ### PostgreSQL range types -CockroachDB does not support PostgreSQL range types. Tracking issue: [cockroachdb/cockroach#128638](https://github.com/cockroachdb/cockroach/issues/128638). +CockroachDB does not support PostgreSQL range types. ### Other unsupported features diff --git a/src/current/_includes/v26.2/backward-incompatible/alpha.1.md b/src/current/_includes/v26.2/backward-incompatible/alpha.1.md index 8d4004422ad..f10881f0418 100644 --- a/src/current/_includes/v26.2/backward-incompatible/alpha.1.md +++ b/src/current/_includes/v26.2/backward-incompatible/alpha.1.md @@ -1,15 +1,15 @@ -- CockroachDB no longer performs environment variable expansion in the parameter `--certs-dir`. Uses like `--certs-dir='$HOME/path'` (expansion by CockroachDB) can be replaced by `--certs-dir="$HOME/path"` (expansion by the Unix shell). [#81298][#81298] -- In the Cockroach CLI, [`BOOL` values]({% link {{ page.version.version }}/bool.md %}) are now formatted as `t` or `f` instead of `True` or `False`. [#81943][#81943] -- Removed the `cockroach quit` command. It has been deprecated since v20.1. To [shut down a node]({% link {{ page.version.version }}/node-shutdown.md %}) gracefully, send a `SIGTERM` signal to it. [#82988][#82988] -- Added a cluster version to allow the [Pebble storage engine]({% link {{ page.version.version }}/architecture/storage-layer.md#pebble %}) to recombine certain SSTables (specifically, user keys that are split across multiple files in a level of the [log-structured merge-tree]({% link {{ page.version.version }}/architecture/storage-layer.md#log-structured-merge-trees %})). Recombining the split user keys is required for supporting the range keys feature. The migration to recombine the SSTables is expected to be short (split user keys are rare in practice), but will block subsequent migrations until all tables have been recombined. The `storage.marked-for-compaction-files` time series metric can show the progress of the migration. [#84887][#84887] +- CockroachDB no longer performs environment variable expansion in the parameter `--certs-dir`. Uses like `--certs-dir='$HOME/path'` (expansion by CockroachDB) can be replaced by `--certs-dir="$HOME/path"` (expansion by the Unix shell). #81298 +- In the Cockroach CLI, [`BOOL` values]({% link {{ page.version.version }}/bool.md %}) are now formatted as `t` or `f` instead of `True` or `False`. #81943 +- Removed the `cockroach quit` command. It has been deprecated since v20.1. To [shut down a node]({% link {{ page.version.version }}/node-shutdown.md %}) gracefully, send a `SIGTERM` signal to it. #82988 +- Added a cluster version to allow the [Pebble storage engine]({% link {{ page.version.version }}/architecture/storage-layer.md#pebble %}) to recombine certain SSTables (specifically, user keys that are split across multiple files in a level of the [log-structured merge-tree]({% link {{ page.version.version }}/architecture/storage-layer.md#log-structured-merge-trees %})). Recombining the split user keys is required for supporting the range keys feature. The migration to recombine the SSTables is expected to be short (split user keys are rare in practice), but will block subsequent migrations until all tables have been recombined. The `storage.marked-for-compaction-files` time series metric can show the progress of the migration. #84887 - Using a single TCP port listener for both RPC (node-node) and SQL client connections is now deprecated. This capability **will be removed** in the next version of CockroachDB. Instead, make one of the following configuration changes to your CockroachDB deployment: - Preferred: keep port `26257` for SQL, and allocate a new port, e.g., `26357`, for node-node RPC connections. For example, you might configure a node with the flags `--listen-addr=:26357 --sql-addr=:26257`, where subsequent nodes seeking to join would then use the flag `--join=othernode:26357,othernode:26257`. This will become the default configuration in the next version of CockroachDB. When using this mode of operation, care should be taken to use a `--join` flag that includes both the previous and new port numbers for other nodes, so that no network partition occurs during the upgrade. - - Optional: keep port `26257` for RPC, and allocate a new port, e.g., `26357`, for SQL connections. For example, you might configure a node with the flags `--listen-addr=:26257 --sql-addr=:26357`. When using this mode of operation, the `--join` flags do not need to be modified. However, SQL client apps or the SQL load balancer configuration (when in use) must be updated to use the new SQL port number. [#85671][#85671] -- If no `nullif` option is specified while using [`IMPORT CSV`]({% link {{ page.version.version }}/import.md %}), then a zero-length string in the input is now treated as `NULL`. The quoted empty string in the input is treated as an empty string. Similarly, if `nullif` is specified, then an unquoted value is treated as `NULL`, and a quoted value is treated as that string. These changes were made to make `IMPORT CSV` behave more similarly to `COPY CSV`. If the previous behavior (i.e., treating either quoted or unquoted values that match the `nullif` setting as `NULL`) is desired, you can use the new `allow_quoted_null` option in the `IMPORT` statement. [#84487][#84487] -- [`COPY FROM`]({% link {{ page.version.version }}/copy.md %}) operations are now atomic by default instead of being segmented into 100 row transactions. Set the `copy_from_atomic_enabled` session setting to `false` for the previous behavior. [#85986][#85986] -- The `GRANT` privilege has been removed and replaced by the more granular [`WITH GRANT OPTION`]({% link {{ page.version.version }}/grant.md %}#grant-privileges-with-the-option-to-grant-to-others), which provides control over which privileges are allowed to be granted. [#81310][#81310] -- Removed the ability to cast `int`, `int2`, and `int8` to a `0` length `BIT` or `VARBIT`. [#81266][#81266] -- Removed the deprecated `GRANT` privilege. [#81310][#81310] -- Removed the `ttl_automatic_column` storage parameter. The `crdb_internal_expiration` column is created when `ttl_expire_after` is set and removed when `ttl_expire_after` is reset. [#83134][#83134] -- Removed the byte string parameter in the `crdb_internal.schedule_sql_stats_compaction` function. [#82560][#82560] -- Changed the default value of the `enable_implicit_transaction_for_batch_statements` to `true`. This means that a [batch of statements]({% link {{ page.version.version }}/transactions.md %}#batched-statements) sent in one string separated by semicolons is treated as an implicit transaction. [#76834][#76834] + - Optional: keep port `26257` for RPC, and allocate a new port, e.g., `26357`, for SQL connections. For example, you might configure a node with the flags `--listen-addr=:26257 --sql-addr=:26357`. When using this mode of operation, the `--join` flags do not need to be modified. However, SQL client apps or the SQL load balancer configuration (when in use) must be updated to use the new SQL port number. #85671 +- If no `nullif` option is specified while using [`IMPORT CSV`]({% link {{ page.version.version }}/import.md %}), then a zero-length string in the input is now treated as `NULL`. The quoted empty string in the input is treated as an empty string. Similarly, if `nullif` is specified, then an unquoted value is treated as `NULL`, and a quoted value is treated as that string. These changes were made to make `IMPORT CSV` behave more similarly to `COPY CSV`. If the previous behavior (i.e., treating either quoted or unquoted values that match the `nullif` setting as `NULL`) is desired, you can use the new `allow_quoted_null` option in the `IMPORT` statement. #84487 +- [`COPY FROM`]({% link {{ page.version.version }}/copy.md %}) operations are now atomic by default instead of being segmented into 100 row transactions. Set the `copy_from_atomic_enabled` session setting to `false` for the previous behavior. #85986 +- The `GRANT` privilege has been removed and replaced by the more granular [`WITH GRANT OPTION`]({% link {{ page.version.version }}/grant.md %}#grant-privileges-with-the-option-to-grant-to-others), which provides control over which privileges are allowed to be granted. #81310 +- Removed the ability to cast `int`, `int2`, and `int8` to a `0` length `BIT` or `VARBIT`. #81266 +- Removed the deprecated `GRANT` privilege. #81310 +- Removed the `ttl_automatic_column` storage parameter. The `crdb_internal_expiration` column is created when `ttl_expire_after` is set and removed when `ttl_expire_after` is reset. #83134 +- Removed the byte string parameter in the `crdb_internal.schedule_sql_stats_compaction` function. #82560 +- Changed the default value of the `enable_implicit_transaction_for_batch_statements` to `true`. This means that a [batch of statements]({% link {{ page.version.version }}/transactions.md %}#batched-statements) sent in one string separated by semicolons is treated as an implicit transaction. #76834 diff --git a/src/current/_includes/v26.2/cdc/avro-udt-composite.md b/src/current/_includes/v26.2/cdc/avro-udt-composite.md index 7a34fbd3253..637cf76abb1 100644 --- a/src/current/_includes/v26.2/cdc/avro-udt-composite.md +++ b/src/current/_includes/v26.2/cdc/avro-udt-composite.md @@ -1 +1 @@ -A changefeed in [Avro format]({% link {{ page.version.version }}/changefeed-messages.md %}#avro) will not be able to serialize [user-defined composite (tuple) types](create-type.html). [#102903](https://github.com/cockroachdb/cockroach/issues/102903) \ No newline at end of file +A changefeed in [Avro format]({% link {{ page.version.version }}/changefeed-messages.md %}#avro) will not be able to serialize [user-defined composite (tuple) types](create-type.html). \ No newline at end of file diff --git a/src/current/_includes/v26.2/cdc/csv-udt-composite.md b/src/current/_includes/v26.2/cdc/csv-udt-composite.md index 834bddd8366..f32008f9fc9 100644 --- a/src/current/_includes/v26.2/cdc/csv-udt-composite.md +++ b/src/current/_includes/v26.2/cdc/csv-udt-composite.md @@ -1 +1 @@ -A changefeed emitting [CSV]({% link {{ page.version.version }}/changefeed-messages.md %}#csv) will include `AS` labels in the message format when the changefeed serializes a [user-defined composite type]({% link {{ page.version.version }}/create-type.md %}). [#102905](https://github.com/cockroachdb/cockroach/issues/102905) \ No newline at end of file +A changefeed emitting [CSV]({% link {{ page.version.version }}/changefeed-messages.md %}#csv) will include `AS` labels in the message format when the changefeed serializes a [user-defined composite type]({% link {{ page.version.version }}/create-type.md %}). \ No newline at end of file diff --git a/src/current/_includes/v26.2/faq/what-is-crdb.md b/src/current/_includes/v26.2/faq/what-is-crdb.md index 28857ed61fa..c99dc2c4c8d 100644 --- a/src/current/_includes/v26.2/faq/what-is-crdb.md +++ b/src/current/_includes/v26.2/faq/what-is-crdb.md @@ -1,6 +1,6 @@ CockroachDB is a [distributed SQL](https://www.cockroachlabs.com/blog/what-is-distributed-sql/) database built on a transactional and strongly-consistent key-value store. It **scales** horizontally; **survives** disk, machine, rack, and even datacenter failures with minimal latency disruption and no manual intervention; supports **strongly-consistent** ACID transactions; and provides a familiar **SQL** API for structuring, manipulating, and querying data. -CockroachDB is inspired by Google's [Spanner](http://research.google.com/archive/spanner.html) and [F1](http://research.google.com/pubs/pub38125.html) technologies, and the [source code](https://github.com/cockroachdb/cockroach) is freely available. +CockroachDB is inspired by Google's [Spanner](http://research.google.com/archive/spanner.html) and [F1](http://research.google.com/pubs/pub38125.html) technologies. {{site.data.alerts.callout_success}} For a deeper dive into CockroachDB's capabilities and how it fits into the database landscape, take the free [**Intro to Distributed SQL and CockroachDB**](https://university.cockroachlabs.com/courses/course-v1:crl+intro-to-distributed-sql-and-cockroachdb+self-paced/about) course on Cockroach University. diff --git a/src/current/_includes/v26.2/finalization-required/119894.md b/src/current/_includes/v26.2/finalization-required/119894.md index f2b393c3c0e..f5177dcd523 100644 --- a/src/current/_includes/v26.2/finalization-required/119894.md +++ b/src/current/_includes/v26.2/finalization-required/119894.md @@ -1 +1 @@ -[Splits](https://cockroachlabs.com/docs/{{ include.version }}/architecture/distribution-layer#range-splits) no longer hold [latches](https://cockroachlabs.com/docs/architecture/distribution-layer.#latch-manager) for time proportional to the range size while computing [MVCC](https://cockroachlabs.com/docs/{{ include.version }}/architecture/storage-layer#mvcc) statistics. Instead, MVCC statistics are pre-computed before the critical section of the split. As a side effect, the resulting statistics are no longer 100% accurate because they may correctly distribute writes concurrent with the split. To mitigate against this potential inaccuracy, and to prevent the statistics from drifting after successive splits, the existing stored statistics are re-computed and corrected if needed during the non-critical section of the split. [#119894](https://github.com/cockroachdb/cockroach/pull/119894) +[Splits](https://cockroachlabs.com/docs/{{ include.version }}/architecture/distribution-layer#range-splits) no longer hold [latches](https://cockroachlabs.com/docs/architecture/distribution-layer.#latch-manager) for time proportional to the range size while computing [MVCC](https://cockroachlabs.com/docs/{{ include.version }}/architecture/storage-layer#mvcc) statistics. Instead, MVCC statistics are pre-computed before the critical section of the split. As a side effect, the resulting statistics are no longer 100% accurate because they may correctly distribute writes concurrent with the split. To mitigate against this potential inaccuracy, and to prevent the statistics from drifting after successive splits, the existing stored statistics are re-computed and corrected if needed during the non-critical section of the split. #119894 diff --git a/src/current/_includes/v26.2/prod-deployment/decommission-pre-flight-checks.md b/src/current/_includes/v26.2/prod-deployment/decommission-pre-flight-checks.md index b267379384b..5b3b626f70d 100644 --- a/src/current/_includes/v26.2/prod-deployment/decommission-pre-flight-checks.md +++ b/src/current/_includes/v26.2/prod-deployment/decommission-pre-flight-checks.md @@ -14,5 +14,5 @@ Failed running "node decommission" These checks can be skipped by [passing the flag `--checks=skip` to `cockroach node decommission`]({% link {{ page.version.version }}/cockroach-node.md %}#decommission-checks). {{site.data.alerts.callout_info}} -The amount of remaining disk space on other nodes in the cluster is not yet considered as part of the decommissioning pre-flight checks. For more information, see [cockroachdb/cockroach#71757](https://github.com/cockroachdb/cockroach/issues/71757) +The amount of remaining disk space on other nodes in the cluster is not yet considered as part of the decommissioning pre-flight checks. {{site.data.alerts.end}} diff --git a/src/current/_includes/v26.2/sql/savepoints-and-high-priority-transactions.md b/src/current/_includes/v26.2/sql/savepoints-and-high-priority-transactions.md index c6de489e641..ce124bc3209 100644 --- a/src/current/_includes/v26.2/sql/savepoints-and-high-priority-transactions.md +++ b/src/current/_includes/v26.2/sql/savepoints-and-high-priority-transactions.md @@ -1 +1 @@ -[`ROLLBACK TO SAVEPOINT`]({% link {{ page.version.version }}/rollback-transaction.md %}#rollback-a-nested-transaction) (for either regular savepoints or "restart savepoints" defined with `cockroach_restart`) causes a "feature not supported" error after a DDL statement in a [`HIGH PRIORITY` transaction]({% link {{ page.version.version }}/transactions.md %}#transaction-priorities), in order to avoid a transaction deadlock. For more information, see GitHub issue [#46414](https://www.github.com/cockroachdb/cockroach/issues/46414). +[`ROLLBACK TO SAVEPOINT`]({% link {{ page.version.version }}/rollback-transaction.md %}#rollback-a-nested-transaction) (for either regular savepoints or "restart savepoints" defined with `cockroach_restart`) causes a "feature not supported" error after a DDL statement in a [`HIGH PRIORITY` transaction]({% link {{ page.version.version }}/transactions.md %}#transaction-priorities), in order to avoid a transaction deadlock. diff --git a/src/current/_includes/v26.2/sql/unsupported-postgres-features.md b/src/current/_includes/v26.2/sql/unsupported-postgres-features.md index a89650e38e9..2f91c9397a6 100644 --- a/src/current/_includes/v26.2/sql/unsupported-postgres-features.md +++ b/src/current/_includes/v26.2/sql/unsupported-postgres-features.md @@ -1,10 +1,10 @@ ### `CREATE DOMAIN` -CockroachDB does not support `CREATE DOMAIN`. Tracking issue: [cockroachdb/cockroach#108659](https://github.com/cockroachdb/cockroach/issues/108659). +CockroachDB does not support `CREATE DOMAIN`. ### PostgreSQL range types -CockroachDB does not support PostgreSQL range types. Tracking issue: [cockroachdb/cockroach#128638](https://github.com/cockroachdb/cockroach/issues/128638). +CockroachDB does not support PostgreSQL range types. ### Other unsupported features diff --git a/src/current/_includes/v26.3/cdc/avro-udt-composite.md b/src/current/_includes/v26.3/cdc/avro-udt-composite.md index 7a34fbd3253..637cf76abb1 100644 --- a/src/current/_includes/v26.3/cdc/avro-udt-composite.md +++ b/src/current/_includes/v26.3/cdc/avro-udt-composite.md @@ -1 +1 @@ -A changefeed in [Avro format]({% link {{ page.version.version }}/changefeed-messages.md %}#avro) will not be able to serialize [user-defined composite (tuple) types](create-type.html). [#102903](https://github.com/cockroachdb/cockroach/issues/102903) \ No newline at end of file +A changefeed in [Avro format]({% link {{ page.version.version }}/changefeed-messages.md %}#avro) will not be able to serialize [user-defined composite (tuple) types](create-type.html). \ No newline at end of file diff --git a/src/current/_includes/v26.3/cdc/csv-udt-composite.md b/src/current/_includes/v26.3/cdc/csv-udt-composite.md index 834bddd8366..f32008f9fc9 100644 --- a/src/current/_includes/v26.3/cdc/csv-udt-composite.md +++ b/src/current/_includes/v26.3/cdc/csv-udt-composite.md @@ -1 +1 @@ -A changefeed emitting [CSV]({% link {{ page.version.version }}/changefeed-messages.md %}#csv) will include `AS` labels in the message format when the changefeed serializes a [user-defined composite type]({% link {{ page.version.version }}/create-type.md %}). [#102905](https://github.com/cockroachdb/cockroach/issues/102905) \ No newline at end of file +A changefeed emitting [CSV]({% link {{ page.version.version }}/changefeed-messages.md %}#csv) will include `AS` labels in the message format when the changefeed serializes a [user-defined composite type]({% link {{ page.version.version }}/create-type.md %}). \ No newline at end of file diff --git a/src/current/_includes/v26.3/faq/what-is-crdb.md b/src/current/_includes/v26.3/faq/what-is-crdb.md index 28857ed61fa..c99dc2c4c8d 100644 --- a/src/current/_includes/v26.3/faq/what-is-crdb.md +++ b/src/current/_includes/v26.3/faq/what-is-crdb.md @@ -1,6 +1,6 @@ CockroachDB is a [distributed SQL](https://www.cockroachlabs.com/blog/what-is-distributed-sql/) database built on a transactional and strongly-consistent key-value store. It **scales** horizontally; **survives** disk, machine, rack, and even datacenter failures with minimal latency disruption and no manual intervention; supports **strongly-consistent** ACID transactions; and provides a familiar **SQL** API for structuring, manipulating, and querying data. -CockroachDB is inspired by Google's [Spanner](http://research.google.com/archive/spanner.html) and [F1](http://research.google.com/pubs/pub38125.html) technologies, and the [source code](https://github.com/cockroachdb/cockroach) is freely available. +CockroachDB is inspired by Google's [Spanner](http://research.google.com/archive/spanner.html) and [F1](http://research.google.com/pubs/pub38125.html) technologies. {{site.data.alerts.callout_success}} For a deeper dive into CockroachDB's capabilities and how it fits into the database landscape, take the free [**Intro to Distributed SQL and CockroachDB**](https://university.cockroachlabs.com/courses/course-v1:crl+intro-to-distributed-sql-and-cockroachdb+self-paced/about) course on Cockroach University. diff --git a/src/current/_includes/v26.3/finalization-required/119894.md b/src/current/_includes/v26.3/finalization-required/119894.md index f2b393c3c0e..f5177dcd523 100644 --- a/src/current/_includes/v26.3/finalization-required/119894.md +++ b/src/current/_includes/v26.3/finalization-required/119894.md @@ -1 +1 @@ -[Splits](https://cockroachlabs.com/docs/{{ include.version }}/architecture/distribution-layer#range-splits) no longer hold [latches](https://cockroachlabs.com/docs/architecture/distribution-layer.#latch-manager) for time proportional to the range size while computing [MVCC](https://cockroachlabs.com/docs/{{ include.version }}/architecture/storage-layer#mvcc) statistics. Instead, MVCC statistics are pre-computed before the critical section of the split. As a side effect, the resulting statistics are no longer 100% accurate because they may correctly distribute writes concurrent with the split. To mitigate against this potential inaccuracy, and to prevent the statistics from drifting after successive splits, the existing stored statistics are re-computed and corrected if needed during the non-critical section of the split. [#119894](https://github.com/cockroachdb/cockroach/pull/119894) +[Splits](https://cockroachlabs.com/docs/{{ include.version }}/architecture/distribution-layer#range-splits) no longer hold [latches](https://cockroachlabs.com/docs/architecture/distribution-layer.#latch-manager) for time proportional to the range size while computing [MVCC](https://cockroachlabs.com/docs/{{ include.version }}/architecture/storage-layer#mvcc) statistics. Instead, MVCC statistics are pre-computed before the critical section of the split. As a side effect, the resulting statistics are no longer 100% accurate because they may correctly distribute writes concurrent with the split. To mitigate against this potential inaccuracy, and to prevent the statistics from drifting after successive splits, the existing stored statistics are re-computed and corrected if needed during the non-critical section of the split. #119894 diff --git a/src/current/_includes/v26.3/prod-deployment/decommission-pre-flight-checks.md b/src/current/_includes/v26.3/prod-deployment/decommission-pre-flight-checks.md index b267379384b..0d2f6c8ce12 100644 --- a/src/current/_includes/v26.3/prod-deployment/decommission-pre-flight-checks.md +++ b/src/current/_includes/v26.3/prod-deployment/decommission-pre-flight-checks.md @@ -14,5 +14,4 @@ Failed running "node decommission" These checks can be skipped by [passing the flag `--checks=skip` to `cockroach node decommission`]({% link {{ page.version.version }}/cockroach-node.md %}#decommission-checks). {{site.data.alerts.callout_info}} -The amount of remaining disk space on other nodes in the cluster is not yet considered as part of the decommissioning pre-flight checks. For more information, see [cockroachdb/cockroach#71757](https://github.com/cockroachdb/cockroach/issues/71757) -{{site.data.alerts.end}} +The amount of remaining disk space on other nodes in the cluster is not yet considered as part of the decommissioning pre-flight checks.{{site.data.alerts.end}} diff --git a/src/current/_includes/v26.3/sql/savepoints-and-high-priority-transactions.md b/src/current/_includes/v26.3/sql/savepoints-and-high-priority-transactions.md index c6de489e641..a88303bbb68 100644 --- a/src/current/_includes/v26.3/sql/savepoints-and-high-priority-transactions.md +++ b/src/current/_includes/v26.3/sql/savepoints-and-high-priority-transactions.md @@ -1 +1 @@ -[`ROLLBACK TO SAVEPOINT`]({% link {{ page.version.version }}/rollback-transaction.md %}#rollback-a-nested-transaction) (for either regular savepoints or "restart savepoints" defined with `cockroach_restart`) causes a "feature not supported" error after a DDL statement in a [`HIGH PRIORITY` transaction]({% link {{ page.version.version }}/transactions.md %}#transaction-priorities), in order to avoid a transaction deadlock. For more information, see GitHub issue [#46414](https://www.github.com/cockroachdb/cockroach/issues/46414). +[`ROLLBACK TO SAVEPOINT`]({% link {{ page.version.version }}/rollback-transaction.md %}#rollback-a-nested-transaction) (for either regular savepoints or "restart savepoints" defined with `cockroach_restart`) causes a "feature not supported" error after a DDL statement in a [`HIGH PRIORITY` transaction]({% link {{ page.version.version }}/transactions.md %}#transaction-priorities), in order to avoid a transaction deadlock. \ No newline at end of file diff --git a/src/current/_includes/v26.3/sql/unsupported-postgres-features.md b/src/current/_includes/v26.3/sql/unsupported-postgres-features.md index a89650e38e9..ea692d19324 100644 --- a/src/current/_includes/v26.3/sql/unsupported-postgres-features.md +++ b/src/current/_includes/v26.3/sql/unsupported-postgres-features.md @@ -1,11 +1,9 @@ ### `CREATE DOMAIN` -CockroachDB does not support `CREATE DOMAIN`. Tracking issue: [cockroachdb/cockroach#108659](https://github.com/cockroachdb/cockroach/issues/108659). - +CockroachDB does not support `CREATE DOMAIN`. ### PostgreSQL range types -CockroachDB does not support PostgreSQL range types. Tracking issue: [cockroachdb/cockroach#128638](https://github.com/cockroachdb/cockroach/issues/128638). - +CockroachDB does not support PostgreSQL range types. ### Other unsupported features - Events. diff --git a/src/current/v23.1/alter-changefeed.md b/src/current/v23.1/alter-changefeed.md index 15a860c7010..116ca16e4bf 100644 --- a/src/current/v23.1/alter-changefeed.md +++ b/src/current/v23.1/alter-changefeed.md @@ -5,8 +5,6 @@ toc: true docs_area: reference.sql --- - - The `ALTER CHANGEFEED` statement modifies an existing [changefeed]({% link {{ page.version.version }}/change-data-capture-overview.md %}). You can use `ALTER CHANGEFEED` to do the following: - Add new target tables to a changefeed. @@ -238,8 +236,8 @@ For further discussion on using the `FAMILY` keyword and `split_column_families` ## Known limitations -- It is necessary to [`PAUSE`]({% link {{ page.version.version }}/pause-job.md %}) the changefeed before performing any `ALTER CHANGEFEED` statement. [Tracking GitHub Issue](https://github.com/cockroachdb/cockroach/issues/77171) -- `ALTER CHANGEFEED` will accept duplicate targets without sending an error. [Tracking GitHub Issue](https://github.com/cockroachdb/cockroach/issues/78285) +- It is necessary to [`PAUSE`]({% link {{ page.version.version }}/pause-job.md %}) the changefeed before performing any `ALTER CHANGEFEED` statement. +- `ALTER CHANGEFEED` will accept duplicate targets without sending an error. - {% include {{ page.version.version }}/known-limitations/alter-changefeed-cdc-queries.md %} - CockroachDB does not keep track of the [`initial_scan`]({% link {{ page.version.version }}/create-changefeed.md %}#initial-scan) option applied to tables when it is set to `yes` or `only`. For example: diff --git a/src/current/v23.1/alter-table.md b/src/current/v23.1/alter-table.md index c7628b37115..46f6f088eb4 100644 --- a/src/current/v23.1/alter-table.md +++ b/src/current/v23.1/alter-table.md @@ -264,8 +264,7 @@ For examples, see [Drop columns](#drop-columns). #### Known limitations -- CockroachDB prevents a column from being dropped if it is referenced by a [partial index]({% link {{ page.version.version }}/partial-indexes.md %}) predicate. To drop such a column, the partial indexes need to be dropped first using [`DROP INDEX`]({% link {{ page.version.version }}/drop-index.md %}). See [tracking issue](https://github.com/cockroachdb/cockroach/issues/97813). - +- CockroachDB prevents a column from being dropped if it is referenced by a [partial index]({% link {{ page.version.version }}/partial-indexes.md %}) predicate. To drop such a column, the partial indexes need to be dropped first using [`DROP INDEX`]({% link {{ page.version.version }}/drop-index.md %}). #### Required privileges The user must have the `CREATE` [privilege]({% link {{ page.version.version }}/security-reference/authorization.md %}#managing-privileges) on the table. @@ -1168,7 +1167,7 @@ Suppose that you want to add `name` to the composite primary key of the `users` NOTICE: primary key changes are finalized asynchronously; further schema changes on this table may be restricted until the job completes ~~~ -1. View the table structure: +1. View the table structure: {% include_cached copy-clipboard.html %} ~~~ sql @@ -1615,7 +1614,6 @@ To change the data type from `DECIMAL` to `STRING`: (1 row) ~~~ - #### Change a column type's precision The [TPC-C]({% link {{ page.version.version }}/performance-benchmarking-with-tpcc-small.md %}) `customer` table contains a column `c_balance` of type `DECIMAL(12,2)`: diff --git a/src/current/v23.1/alter-view.md b/src/current/v23.1/alter-view.md index 47de30984d8..5f9064c56b2 100644 --- a/src/current/v23.1/alter-view.md +++ b/src/current/v23.1/alter-view.md @@ -36,7 +36,7 @@ Parameter | Description CockroachDB does not currently support: - Changing the [`SELECT`]({% link {{ page.version.version }}/select-clause.md %}) statement executed by a view. Instead, you must drop the existing view and create a new view. -- Renaming a view that other views depend on. This feature may be added in the future (see [tracking issue](https://github.com/cockroachdb/cockroach/issues/10083)). +- Renaming a view that other views depend on. This feature may be added in the future ## Examples diff --git a/src/current/v23.1/cluster-setup-troubleshooting.md b/src/current/v23.1/cluster-setup-troubleshooting.md index bcb4dcb0828..dff775917ab 100644 --- a/src/current/v23.1/cluster-setup-troubleshooting.md +++ b/src/current/v23.1/cluster-setup-troubleshooting.md @@ -104,7 +104,7 @@ If you are trying to run all nodes on the same machine, you might get the follow #### Store directory already exists ~~~ -ERROR: could not cleanup temporary directories from record file: could not lock temporary directory /Users/amruta/go/src/github.com/cockroachdb/cockroach/cockroach-data/cockroach-temp301343769, may still be in use: IO error: While lock file: /Users/amruta/go/src/github.com/cockroachdb/cockroach/cockroach-data/cockroach-temp301343769/TEMP_DIR.LOCK: Resource temporarily unavailable +ERROR: could not cleanup temporary directories from record file: could not lock temporary directory /cockroach-data/cockroach-temp301343769, may still be in use: IO error: While lock file: /cockroach-data/cockroach-temp301343769/TEMP_DIR.LOCK: Resource temporarily unavailable ~~~ **Explanation:** When starting a new node on the same machine, the directory you choose to store the data in also contains metadata identifying the cluster the data came from. This causes conflicts when you've already started a node on the server and then tried to start another cluster using the same directory. diff --git a/src/current/v23.1/cockroachdb-feature-availability.md b/src/current/v23.1/cockroachdb-feature-availability.md index 53a57a145f3..10f11e07378 100644 --- a/src/current/v23.1/cockroachdb-feature-availability.md +++ b/src/current/v23.1/cockroachdb-feature-availability.md @@ -130,7 +130,7 @@ Example: ### Check for constraint violations with `SCRUB` -Checks the consistency of [`UNIQUE`]({% link {{ page.version.version }}/unique.md %}) indexes, [`CHECK`]({% link {{ page.version.version }}/check.md %}) constraints, and more. Partially implemented; see [cockroachdb/cockroach#10425](https://github.com/cockroachdb/cockroach/issues/10425) for details. +Checks the consistency of [`UNIQUE`]({% link {{ page.version.version }}/unique.md %}) indexes, [`CHECK`]({% link {{ page.version.version }}/check.md %}) constraints, and more. Partially implemented. {{site.data.alerts.callout_info}} This example uses the `users` table from our open-source, fictional peer-to-peer vehicle-sharing application, [MovR]({% link {{ page.version.version }}/movr.md %}). @@ -165,7 +165,7 @@ CockroachDB supports [altering the column types]({% link {{ page.version.version ### Temporary objects -[Temporary tables]({% link {{ page.version.version }}/temporary-tables.md %}), [temporary views]({% link {{ page.version.version }}/views.md %}#temporary-views), and [temporary sequences]({% link {{ page.version.version }}/create-sequence.md %}#temporary-sequences) are in preview in CockroachDB. If you create too many temporary objects in a session, the performance of DDL operations will degrade. Performance limitations could persist long after creating the temporary objects. For more details, see [cockroachdb/cockroach#46260](https://github.com/cockroachdb/cockroach/issues/46260). +[Temporary tables]({% link {{ page.version.version }}/temporary-tables.md %}), [temporary views]({% link {{ page.version.version }}/views.md %}#temporary-views), and [temporary sequences]({% link {{ page.version.version }}/create-sequence.md %}#temporary-sequences) are in preview in CockroachDB. If you create too many temporary objects in a session, the performance of DDL operations will degrade. Performance limitations could persist long after creating the temporary objects. To enable temporary objects, set the `experimental_enable_temp_tables` [session variable]({% link {{ page.version.version }}/show-vars.md %}) to `on`. diff --git a/src/current/v23.1/common-table-expressions.md b/src/current/v23.1/common-table-expressions.md index e9667131380..575077b70fd 100644 --- a/src/current/v23.1/common-table-expressions.md +++ b/src/current/v23.1/common-table-expressions.md @@ -444,7 +444,7 @@ SELECT COUNT(*) FROM temp; Because this pattern incurs the overhead of a new scan for each iteration, it is slower per row than a full scan. It is therefore faster than a full scan in cases (such as this one) where many rows are skipped, but is slower if they are not. {{site.data.alerts.callout_info}} -Some recursive CTEs are not not yet optimized. For details, see the [tracking issue](https://github.com/cockroachdb/cockroach/issues/89954). +Some recursive CTEs are not not yet optimized. {{site.data.alerts.end}} ## Correlated common table expressions diff --git a/src/current/v23.1/configure-replication-zones.md b/src/current/v23.1/configure-replication-zones.md index cbf8256b2b4..0131ce0191a 100644 --- a/src/current/v23.1/configure-replication-zones.md +++ b/src/current/v23.1/configure-replication-zones.md @@ -98,7 +98,7 @@ For more information, see the following subsections: The hierarchy of inheritance for zone configs can be visualized using the following outline-style diagram, in which each level of indentation denotes an inheritance relationship. -The only exception to this simple inheritance relationship is that due to a known limitation, sub-partitions do not inherit their values from their parent partitions. Instead, sub-partitions inherit their values from the parent table. For more information, see [cockroachdb/cockroach#75862](https://github.com/cockroachdb/cockroach/issues/75862). +The only exception to this simple inheritance relationship is that due to a known limitation, sub-partitions do not inherit their values from their parent partitions. Instead, sub-partitions inherit their values from the parent table. ``` - default @@ -106,7 +106,7 @@ The only exception to this simple inheritance relationship is that due to a know - table A.B - index A.B.1 - partition (row) 1 - - sub-partition 1.1 (NB. Sub-partitions inherit from tables, *not* partitions - see cockroachdb/cockroach#75862) + - sub-partition 1.1 (NB. Sub-partitions inherit from tables, *not* partitions) - sub-partition 1.1.1 - sub-partition 1.2 - table A.C @@ -127,7 +127,7 @@ From the whole-system perspective, the hierarchy of schema object zone configs c The following diagram presents the same set of schema objects as the previous outline-style diagram, but using boxes and lines joined with arrows that represent the "top-down" view. -Each box represents a schema object in the zone configuration inheritance hierarchy. Each solid line ends in an arrow that points from a parent object to its child object, which will inherit the parent's values unless those values are changed at the child level. The dotted lines between partitions and sub-partitions represent the known limitation mentioned previously that sub-partitions do not inherit their values from their parent partitions. Instead, sub-partitions inherit their values from the parent table. For more information about this limitation, see [cockroachdb/cockroach#75862](https://github.com/cockroachdb/cockroach/issues/75862). +Each box represents a schema object in the zone configuration inheritance hierarchy. Each solid line ends in an arrow that points from a parent object to its child object, which will inherit the parent's values unless those values are changed at the child level. The dotted lines between partitions and sub-partitions represent the known limitation mentioned previously that sub-partitions do not inherit their values from their parent partitions. Instead, sub-partitions inherit their values from the parent table. zone config inheritance diagram diff --git a/src/current/v23.1/create-sequence.md b/src/current/v23.1/create-sequence.md index eba6f3a07f7..f36f25383a3 100644 --- a/src/current/v23.1/create-sequence.md +++ b/src/current/v23.1/create-sequence.md @@ -58,7 +58,7 @@ CockroachDB supports the following [SQL sequence functions]({% link {{ page.vers CockroachDB supports session-scoped temporary sequences. Unlike persistent sequences, temporary sequences can only be accessed from the session in which they were created, and they are dropped at the end of the session. You can create temporary sequences on both persistent tables and [temporary tables]({% link {{ page.version.version }}/temporary-tables.md %}). {{site.data.alerts.callout_info}} -{% include feature-phases/preview.md %} For details, see the tracking issue [cockroachdb/cockroach#46260](https://github.com/cockroachdb/cockroach/issues/46260). +{% include feature-phases/preview.md %} {{site.data.alerts.end}} {{site.data.alerts.callout_info}} diff --git a/src/current/v23.1/create-table.md b/src/current/v23.1/create-table.md index 0976255a0d8..7cd07047b67 100644 --- a/src/current/v23.1/create-table.md +++ b/src/current/v23.1/create-table.md @@ -155,7 +155,7 @@ If you use `GENERATED BY DEFAULT AS IDENTITY` to define the identity column, any Note the following limitations of identity columns: -- `GENERATED ALWAYS AS IDENTITY`/`GENERATED BY DEFAULT AS IDENTITY` is supported in [`ALTER TABLE ... ADD COLUMN`]({% link {{ page.version.version }}/alter-table.md %}#add-column) statements only when the table being altered is empty, as [CockroachDB does not support back-filling sequential column data]({% link {{ page.version.version }}/known-limitations.md %}#adding-a-column-with-sequence-based-default-values). For more information, see the [Tracking GitHub Issue](https://github.com/cockroachdb/cockroach/issues/42508). +- `GENERATED ALWAYS AS IDENTITY`/`GENERATED BY DEFAULT AS IDENTITY` is supported in [`ALTER TABLE ... ADD COLUMN`]({% link {{ page.version.version }}/alter-table.md %}#add-column) statements only when the table being altered is empty, as [CockroachDB does not support back-filling sequential column data]({% link {{ page.version.version }}/known-limitations.md %}#adding-a-column-with-sequence-based-default-values). - Unlike PostgreSQL, CockroachDB does not support using the `OVERRIDING SYSTEM VALUE` clause in `INSERT`/`UPDATE`/`UPSERT` statements to overwrite `GENERATED ALWAYS AS IDENTITY` identity column values. For an example of an identity column, see [Create a table with an identity column](#create-a-table-with-an-identity-column). diff --git a/src/current/v23.1/disaster-recovery.md b/src/current/v23.1/disaster-recovery.md index 0b35574d349..2b2f6cea718 100644 --- a/src/current/v23.1/disaster-recovery.md +++ b/src/current/v23.1/disaster-recovery.md @@ -321,7 +321,7 @@ If your cluster is running, you do not have a backup that encapsulates the time If you have corrupted data in a database or table, [restore]({% link {{ page.version.version }}/restore.md %}) the object from a prior [backup]({% link {{ page.version.version }}/backup.md %}). If revision history is in the backup, you can restore from a [point in time]({% link {{ page.version.version }}/take-backups-with-revision-history-and-restore-from-a-point-in-time.md %}). -Instead of dropping the corrupted table or database, we recommend [renaming the table]({% link {{ page.version.version }}/alter-table.md %}#rename-to) or [renaming the database]({% link {{ page.version.version }}/alter-database.md %}#rename-to) so you have historical data to compare to later. If you drop a database, the database cannot be referenced with `AS OF SYSTEM TIME` queries (see [#51380](https://github.com/cockroachdb/cockroach/issues/51380) for more information), and you will need to take a backup that is backdated to the system time when the database still existed. +Instead of dropping the corrupted table or database, we recommend [renaming the table]({% link {{ page.version.version }}/alter-table.md %}#rename-to) or [renaming the database]({% link {{ page.version.version }}/alter-database.md %}#rename-to) so you have historical data to compare to later. If you drop a database, the database cannot be referenced with `AS OF SYSTEM TIME` queries, and you will need to take a backup that is backdated to the system time when the database still existed. {{site.data.alerts.callout_info}} If the table you are restoring has foreign keys, [careful consideration]({% link {{ page.version.version }}/restore.md %}#remove-the-foreign-key-before-restore) should be applied to make sure data integrity is maintained during the restore process. diff --git a/src/current/v23.1/foreign-key.md b/src/current/v23.1/foreign-key.md index d18599494af..ccebe4406c1 100644 --- a/src/current/v23.1/foreign-key.md +++ b/src/current/v23.1/foreign-key.md @@ -93,7 +93,7 @@ For matching purposes, composite foreign keys can be in one of three states: For examples showing how these key matching algorithms work, see [Match composite foreign keys with `MATCH SIMPLE` and `MATCH FULL`](#match-composite-foreign-keys-with-match-simple-and-match-full). {{site.data.alerts.callout_info}} -CockroachDB does not support `MATCH PARTIAL`. For more information, see issue [#20305](https://github.com/cockroachdb/cockroach/issues/20305). +CockroachDB does not support `MATCH PARTIAL`. {{site.data.alerts.end}} ### Foreign key actions diff --git a/src/current/v23.1/full-text-search.md b/src/current/v23.1/full-text-search.md index 2959def0e33..057729cecea 100644 --- a/src/current/v23.1/full-text-search.md +++ b/src/current/v23.1/full-text-search.md @@ -460,8 +460,6 @@ Some PostgreSQL syntax and features are unsupported. These include, but are not - `!! tsquery` comparisons. - `tsquery @> tsquery` and `tsquery <@ tsquery` comparisons. -For full details, see the [tracking issue](https://github.com/cockroachdb/cockroach/issues/41288). - ## See also - PostgreSQL documentation on [Full Text Search](https://www.postgresql.org/docs/current/textsearch.html) diff --git a/src/current/v23.1/install-cockroachdb-mac.md b/src/current/v23.1/install-cockroachdb-mac.md index 177c2863226..33d36be6d11 100644 --- a/src/current/v23.1/install-cockroachdb-mac.md +++ b/src/current/v23.1/install-cockroachdb-mac.md @@ -19,7 +19,7 @@ See [Release Notes]({% link releases/{{page.version.version}}.md %}) for what's {% comment %}v22.2.0+{% endcomment %} {{site.data.alerts.callout_danger}} -

On macOS ARM systems, spatial features are disabled due to an issue with macOS code signing for the GEOS libraries. Users needing spatial features on an ARM Mac may instead use Rosetta to run the Intel binary or use the Docker image distribution. Refer to GitHub tracking issue for more information.

+

On macOS ARM systems, spatial features are disabled due to an issue with macOS code signing for the GEOS libraries. Users needing spatial features on an ARM Mac may instead use Rosetta to run the Intel binary or use the Docker image distribution.

{{site.data.alerts.end}} {% capture arch_note_homebrew %}

For CockroachDB v22.2.x and above, Homebrew installs binaries for your system architecture, either Intel or ARM (Apple Silicon).

For previous releases, Homebrew installs Intel binaries. Intel binaries can run on ARM systems, but with a significant reduction in performance. CockroachDB on ARM for macOS is experimental and is not yet qualified for production use and not eligible for support or uptime SLA commitments.

{% endcapture %} diff --git a/src/current/v23.1/jsonb.md b/src/current/v23.1/jsonb.md index 221e075ee1d..4e46e042b44 100644 --- a/src/current/v23.1/jsonb.md +++ b/src/current/v23.1/jsonb.md @@ -89,12 +89,8 @@ To [index]({% link {{ page.version.version }}/indexes.md %}) a `JSONB` column yo - You cannot [order]({% link {{ page.version.version }}/order-by.md %}) queries using `JSONB` and `JSON`-typed columns. - [Tracking issue](https://github.com/cockroachdb/cockroach/issues/35706) - - If the execution of a [join]({% link {{ page.version.version }}/joins.md %}) query exceeds the limit set for [memory-buffering operations]({% link {{ page.version.version }}/vectorized-execution.md %}#disk-spilling-operations) (i.e., the value set for the `sql.distsql.temp_storage.workmem` [cluster setting]({% link {{ page.version.version }}/cluster-settings.md %})), CockroachDB will spill the intermediate results of computation to disk. If the join operation spills to disk, and at least one of the columns is of type `JSON`, CockroachDB returns the error `unable to encode table key: *tree.DJSON`. If the memory limit is not reached, then the query will be processed without error. - [Tracking issue](https://github.com/cockroachdb/cockroach/issues/35706) - ## Examples This section shows how to create tables with `JSONB` columns and use operators and functions to access and update `JSONB` data. For the full list of operators and functions, see [Operators]({% link {{ page.version.version }}/functions-and-operators.md %}#operators) and [JSONB functions]({% link {{ page.version.version }}/functions-and-operators.md %}#jsonb-functions). diff --git a/src/current/v23.1/known-limitations.md b/src/current/v23.1/known-limitations.md index 61251abbb9a..0bdcb6fec4d 100644 --- a/src/current/v23.1/known-limitations.md +++ b/src/current/v23.1/known-limitations.md @@ -14,32 +14,20 @@ This page describes newly identified limitations in the CockroachDB {{page.relea - [`EXPLAIN ANALYZE`]({% link {{ page.version.version }}/explain-analyze.md %}) does not collect inverted statistics on columns that are indexed with both forward and inverted indexes; only forward statistics are collected for those columns. - [Tracking GitHub issue](https://github.com/cockroachdb/cockroach/issues/92036) - - [`EXPLAIN ANALYZE`]({% link {{ page.version.version }}/explain-analyze.md %}) does not support the `AS OF SYSTEM TIME` syntax. Use [`CREATE STATISTICS ... AS OF SYSTEM TIME`]({% link {{ page.version.version }}/create-statistics.md %}#create-statistics-as-of-a-given-time) instead. - [Tracking GitHub issue](https://github.com/cockroachdb/cockroach/issues/96430) - ### Limitations for index recommendations - [Index]({% link {{ page.version.version }}/indexes.md %}) recommendations are not aware of [hash sharding]({% link {{ page.version.version }}/hash-sharded-indexes.md %}). - [Tracking GitHub issue](https://github.com/cockroachdb/cockroach/issues/84681) - - CockroachDB does not support [index]({% link {{ page.version.version }}/indexes.md %}) recommendations on [`REGIONAL BY ROW` tables]({% link {{ page.version.version }}/table-localities.md %}#regional-by-row-tables). - [Tracking GitHub issue](https://github.com/cockroachdb/cockroach/issues/84680) - ### Limitations for `SELECT FOR UPDATE` - [`SELECT FOR UPDATE`]({% link {{ page.version.version }}/select-for-update.md %}) places locks on each key scanned by the base index scan. This means that even if some of those keys are later filtered out by a predicate which could not be pushed into the scan, they will still be locked. - [Tracking GitHub issue](https://github.com/cockroachdb/cockroach/issues/75457) - - [`SELECT FOR UPDATE`]({% link {{ page.version.version }}/select-for-update.md %}) only places an unreplicated lock on the index being scanned by the query. This diverges from PostgreSQL, which aquires a lock on all indexes. - [Tracking GitHub issue](https://github.com/cockroachdb/cockroach/issues/57031) - ### Limitations for composite types - {% include {{page.version.version}}/cdc/types-udt-composite-general.md %} The following limitations apply: @@ -50,32 +38,22 @@ This page describes newly identified limitations in the CockroachDB {{page.relea [Common table expressions]({% link {{ page.version.version }}/common-table-expressions.md %}) (CTE), recursive or non-recursive, are not supported in [user-defined functions]({% link {{ page.version.version }}/user-defined-functions.md %}) (UDF). That is, you cannot use a `WITH` clause in the body of a UDF. -[Tracking GitHub issue](https://github.com/cockroachdb/cockroach/issues/92961) - ### Low estimated Request Units are rounded to zero The [Request Units]({% link cockroachcloud/plan-your-cluster-basic.md %}#request-units) (RUs) estimate surfaced in [`EXPLAIN ANALYZE`]({% link {{ page.version.version }}/explain-analyze.md %}) is displayed as an integer value. Because of this, fractional RU estimates, which represent very inexpensive queries, are rounded down to zero. -[Tracking GitHub issue](https://github.com/cockroachdb/cockroach/issues/100617) - ### `AS OF SYSTEM TIME` does not support placeholders CockroachDB does not support placeholders in [`AS OF SYSTEM TIME`]({% link {{ page.version.version }}/as-of-system-time.md %}). The time value must be embedded in the SQL string. -[Tracking GitHub issue](https://github.com/cockroachdb/cockroach/issues/30955) - ### `null_ordered_last` does not produce correct results with tuples By default, CockroachDB orders `NULL`s before all other values. For compatibility with PostgreSQL, the `null_ordered_last` [session variable]({% link {{ page.version.version }}/set-vars.md %}) was added, which changes the default to order `NULL`s after all other values. This works in most cases, due to some transformations CockroachDB makes in the optimizer to add extra ordering columns. However, it is broken when the ordering column is a tuple. -[Tracking GitHub issue](https://github.com/cockroachdb/cockroach/issues/93558) - ### Inverted join for `tsvector` and `tsquery` types is not supported CockroachDB cannot index-accelerate queries with `@@` predicates when both sides of the operator are variables. -[Tracking GitHub issue](https://github.com/cockroachdb/cockroach/issues/102731) - ### No guaranteed state switch from `DECOMMISSIONING` to `DECOMMISSIONED` if `node decommission` is interrupted There is no guaranteed state switch from `DECOMMISSIONING` to `DECOMMISSIONED` if [`node decommission`]({% link {{ page.version.version }}/cockroach-node.md %}) is interrupted in one of the following ways: @@ -85,8 +63,6 @@ There is no guaranteed state switch from `DECOMMISSIONING` to `DECOMMISSIONED` i This is because the state flip is effected by the CLI program at the end. Only the CLI (or its underlying API call) is able to finalize the "decommissioned" state. If the command is interrupted, or `--wait=none` is used, the state will only flip to "decommissioned" when the CLI program is run again after decommissioning has done all its work. -[Tracking GitHub issue](https://github.com/cockroachdb/cockroach/issues/94430) - ### Execution locality in changefeeds - {% include {{ page.version.version }}/known-limitations/cdc-execution-locality.md %} @@ -101,32 +77,20 @@ This is because the state flip is effected by the CLI program at the end. Only t - Expressions (column, index, constraint) in tables. - [Tracking GitHub issue](https://github.com/cockroachdb/cockroach/issues/87699) - - Views. - [Tracking GitHub issue](https://github.com/cockroachdb/cockroach/issues/87699) - - Other user-defined functions. - [Tracking GitHub issue](https://github.com/cockroachdb/cockroach/issues/93049) - #### Limitations on expressions allowed within UDFs The following are not currently allowed within the body of a [UDF]({% link {{ page.version.version }}/user-defined-functions.md %}): - Mutation statements such as `INSERT`, `UPDATE`, `DELETE`, and `UPSERT`. - [Tracking GitHub issue](https://github.com/cockroachdb/cockroach/issues/87289) - - Common table expressions (CTEs). - [Tracking GitHub issue](https://github.com/cockroachdb/cockroach/issues/92961) - - References to other user-defined functions. - [Tracking GitHub issue](https://github.com/cockroachdb/cockroach/issues/93049) - ### Table-level restore will not restore user-defined functions {% include {{ page.version.version }}/known-limitations/restore-udf.md %} @@ -135,8 +99,6 @@ The following are not currently allowed within the body of a [UDF]({% link {{ pa In cases where the partition definition includes a comparison with `NULL` and a query constraint, incorrect query plans are returned. However, this case uses non-standard partitioning which defines partitions which could never hold values, so it is not likely to occur in production environments. -[Tracking GitHub issue](https://github.com/cockroachdb/cockroach/issues/82774) - ### Limitations for `DROP OWNED BY` [`DROP OWNED BY`]({% link {{ page.version.version }}/drop-owned-by.md %}) drops all owned objects as well as any [grants]({% link {{ page.version.version }}/grant.md %}) on objects not owned by the [role]({% link {{ page.version.version }}/security-reference/authorization.md %}#roles). @@ -149,8 +111,6 @@ In cases where the partition definition includes a comparison with `NULL` and a [Spatial features]({% link {{ page.version.version }}/spatial-data-overview.md %}) are disabled due to an issue with macOS code signing for the [GEOS](https://libgeos.org/) libraries. Users needing spatial features on an ARM Mac may instead [use Rosetta](https://developer.apple.com/documentation/virtualization/running_intel_binaries_in_linux_vms_with_rosetta) to [run the Intel binary]({% link {{ page.version.version }}/install-cockroachdb-mac.md %}#install-binary) or use the [Docker image]({% link {{ page.version.version }}/install-cockroachdb-mac.md %}#use-docker) distribution. This is expected to be resolved in an upcoming 22.2 patch release. -[GitHub tracking issue](https://github.com/cockroachdb/cockroach/issues/93161) - ### Limited SQL cursor support {% include {{page.version.version}}/known-limitations/sql-cursors.md %} @@ -165,14 +125,10 @@ The following PostgreSQL syntax and features are currently unsupported for [trig {% include {{ page.version.version }}/sql/trigram-unsupported-syntax.md %} -[Tracking GitHub Issue](https://github.com/cockroachdb/cockroach/issues/41285) - ### A multi-region table cannot be restored into a non-multi-region table You cannot [restore]({% link {{ page.version.version }}/restore.md %}) a multi-region table into a non-multi-region table. -[Tracking GitHub Issue](https://github.com/cockroachdb/cockroach/issues/71502) - ### Statements containing multiple modification subqueries of the same table are disallowed Statements containing multiple modification subqueries mutating the same row could cause corruption. These statements are disallowed by default, but you can enable multiple modification subqueries with one the following: @@ -182,26 +138,18 @@ Statements containing multiple modification subqueries mutating the same row cou Note that if multiple mutations inside the same statement affect different tables with [`FOREIGN KEY`]({% link {{ page.version.version }}/foreign-key.md %}) relations and `ON CASCADE` clauses between them, the results will be different from what is expected in PostgreSQL. -[Tracking GitHub Issue](https://github.com/cockroachdb/cockroach/issues/70731) - ### `transaction_rows_read_err` and `transaction_rows_written_err` do not halt query execution The `transaction_rows_read_err` and `transaction_rows_written_err` [session settings]({% link {{ page.version.version }}/set-vars.md %}) limit the number of rows read or written by a single [transaction]({% link {{ page.version.version }}/transactions.md %}#limit-the-number-of-rows-written-or-read-in-a-transaction). These session settings will fail the transaction with an error, but not until the current query finishes executing and the results have been returned to the client. -[Tracking GitHub Issue](https://github.com/cockroachdb/cockroach/issues/70473) - ### `sql.guardrails.max_row_size_err` misses indexed virtual computed columns The `sql.guardrails.max_row_size_err` [cluster setting]({% link {{ page.version.version }}/cluster-settings.md %}) misses large rows caused by indexed virtual computed columns. This is because the guardrail only checks the size of primary key rows, not secondary index rows. -[Tracking GitHub Issue](https://github.com/cockroachdb/cockroach/issues/69540) - ### CockroachDB does not allow inverted indexes with `STORING` CockroachDB does not allow inverted indexes with a [`STORING` column]({% link {{ page.version.version }}/create-index.md %}#store-columns). -[Tracking GitHub Issue](https://github.com/cockroachdb/cockroach/issues/88278) - ### CockroachDB does not properly optimize some left and anti joins with GIN indexes [Left joins]({% link {{ page.version.version }}/joins.md %}#left-outer-joins) and anti joins involving [`JSONB`]({% link {{ page.version.version }}/jsonb.md %}), [`ARRAY`]({% link {{ page.version.version }}/array.md %}), or [spatial-typed]({% link {{ page.version.version }}/export-spatial-data.md %}) columns with a multi-column or [partitioned]({% link {{ page.version.version }}/alter-index.md %}#partition-by) [GIN index](inverted-indexes.html) will not take advantage of the index if the prefix columns of the index are unconstrained, or if they are constrained to multiple, constant values. @@ -351,16 +299,12 @@ UNION ALL SELECT * FROM t1 LEFT JOIN t2 ON st_contains(t1.geom, t2.geom) AND t2. (54 rows) ``` -[Tracking GitHub Issue](https://github.com/cockroachdb/cockroach/issues/59649) - ### Using `RESTORE` with multi-region table localities - {% include {{ page.version.version }}/known-limitations/restore-tables-non-multi-reg.md %} - {% include {{ page.version.version }}/known-limitations/restore-multiregion-match.md %} -[Tracking GitHub Issue](https://github.com/cockroachdb/cockroach/issues/71071) - ### `SET` does not `ROLLBACK` in a transaction {% include {{page.version.version}}/known-limitations/set-transaction-no-rollback.md %} @@ -395,8 +339,8 @@ UNION ALL SELECT * FROM t1 LEFT JOIN t2 ON st_contains(t1.geom, t2.geom) AND t2. {% include {{page.version.version}}/known-limitations/stats-refresh-upgrade.md %} {% include {{ page.version.version }}/known-limitations/forecasted-stats-limitations.md %} -- When a table is dropped, the related rows in `system.table_statistics` are not deleted. CockroachDB does not delete historical statistics. [Tracking GitHub issue](https://github.com/cockroachdb/cockroach/issues/94195) -- CockroachDB does not collect statistics for [virtual computed columns]({% link {{ page.version.version }}/computed-columns.md %}). This can prevent the [optimizer]({% link {{ page.version.version }}/cost-based-optimizer.md %}) from accurately calculating the cost of scanning an index on a virtual column, and, transitively, the cost of scanning an [expression index]({% link {{ page.version.version }}/expression-indexes.md %}). [Tracking GitHub issue](https://github.com/cockroachdb/cockroach/issues/68254) +- When a table is dropped, the related rows in `system.table_statistics` are not deleted. CockroachDB does not delete historical statistics. +- CockroachDB does not collect statistics for [virtual computed columns]({% link {{ page.version.version }}/computed-columns.md %}). This can prevent the [optimizer]({% link {{ page.version.version }}/cost-based-optimizer.md %}) from accurately calculating the cost of scanning an index on a virtual column, and, transitively, the cost of scanning an [expression index]({% link {{ page.version.version }}/expression-indexes.md %}). ### Differences in syntax and behavior between CockroachDB and PostgreSQL @@ -408,58 +352,36 @@ For a list of known differences in syntax and behavior between CockroachDB and P CockroachDB does not currently support multiple arbiter indexes for [`INSERT ON CONFLICT DO UPDATE`]({% link {{ page.version.version }}/insert.md %}#on-conflict-clause), and will return an error if there are multiple unique or exclusion constraints matching the `ON CONFLICT DO UPDATE` specification. -[Tracking GitHub Issue](https://github.com/cockroachdb/cockroach/issues/53170) - ### Spatial support limitations CockroachDB supports efficiently storing and querying [spatial data]({% link {{ page.version.version }}/export-spatial-data.md %}), with the following limitations: - Not all [PostGIS spatial functions](https://postgis.net/docs/reference.html) are supported. - [Tracking GitHub Issue](https://github.com/cockroachdb/cockroach/issues/49203) - - The `AddGeometryColumn` [spatial function]({% link {{ page.version.version }}/functions-and-operators.md %}#spatial-functions) only allows constant arguments. - [Tracking GitHub Issue](https://github.com/cockroachdb/cockroach/issues/49402) - - The `AddGeometryColumn` spatial function only allows the `true` value for its `use_typmod` parameter. - [Tracking GitHub Issue](https://github.com/cockroachdb/cockroach/issues/49448) - - CockroachDB does not support the `@` operator. Instead of using `@` in spatial expressions, we recommend using the inverse, with `~`. For example, instead of `a @ b`, use `b ~ a`. - [Tracking GitHub Issue](https://github.com/cockroachdb/cockroach/issues/56124) - - CockroachDB does not yet support [`INSERT`]({% link {{ page.version.version }}/insert.md %})s into the [`spatial_ref_sys` table]({% link {{ page.version.version }}/architecture/glossary.md %}#spatial-system-tables). This limitation also blocks the [`ogr2ogr -f PostgreSQL` file conversion command](https://gdal.org/programs/ogr2ogr.html#cmdoption-ogr2ogr-f). - [Tracking GitHub Issue](https://github.com/cockroachdb/cockroach/issues/55903) - - CockroachDB does not yet support Triangle or [`TIN`](https://wikipedia.org/wiki/Triangulated_irregular_network) spatial shapes. - [Tracking GitHub Issue](https://github.com/cockroachdb/cockroach/issues/56196) - - CockroachDB does not yet support Curve, MultiCurve, or CircularString spatial shapes. - [Tracking GitHub Issue](https://github.com/cockroachdb/cockroach/issues/56199) - - CockroachDB does not yet support [k-nearest neighbors](https://wikipedia.org/wiki/K-nearest_neighbors_algorithm). - [Tracking GitHub Issue](https://github.com/cockroachdb/cockroach/issues/55227) - - CockroachDB does not support using [schema name prefixes]({% link {{ page.version.version }}/sql-name-resolution.md %}#how-name-resolution-works) to refer to [data types]({% link {{ page.version.version }}/data-types.md %}) with type modifiers (e.g., `public.geometry(linestring, 4326)`). Instead, use fully-unqualified names to refer to data types with type modifiers (e.g., `geometry(linestring,4326)`). Note that, in [`IMPORT PGDUMP`]({% link molt/migrate-to-cockroachdb.md %}) output, [`GEOMETRY` and `GEOGRAPHY`]({% link {{ page.version.version }}/export-spatial-data.md %}) data type names are prefixed by `public.`. If the type has a type modifier, you must remove the `public.` from the type name in order for the statements to work in CockroachDB. - [Tracking GitHub Issue](https://github.com/cockroachdb/cockroach/issues/56492) - ### Enterprise `BACKUP` does not capture database/table/column comments The [`COMMENT ON`]({% link {{ page.version.version }}/comment-on.md %}) statement associates comments to databases, tables, or columns. However, the internal table (`system.comments`) in which these comments are stored is not captured by a [`BACKUP`]({% link {{ page.version.version }}/backup.md %}) of a table or database. As a workaround, take a cluster backup instead, as the `system.comments` table is included in cluster backups. -[Tracking GitHub Issue](https://github.com/cockroachdb/cockroach/issues/44396) - ### `SHOW BACKUP` does not support symlinks for nodelocal {% include {{page.version.version}}/known-limitations/show-backup-symlink.md %} @@ -474,30 +396,20 @@ The use of tables with very large primary or secondary index keys (>32KB) can re To work around this issue, we recommend limiting the size of primary and secondary keys to 4KB, which you must account for manually. Note that most columns are 8B (exceptions being `STRING` and `JSON`), which still allows for very complex key structures. -[Tracking GitHub Issue](https://github.com/cockroachdb/cockroach/issues/30515) - ### Using `LIKE...ESCAPE` in `WHERE` and `HAVING` constraints CockroachDB tries to optimize most comparisons operators in `WHERE` and `HAVING` clauses into constraints on SQL indexes by only accessing selected rows. This is done for `LIKE` clauses when a common prefix for all selected rows can be determined in the search pattern (e.g., `... LIKE 'Joe%'`). However, this optimization is not yet available if the `ESCAPE` keyword is also used. -[Tracking GitHub Issue](https://github.com/cockroachdb/cockroach/issues/30192) - -[Tracking GitHub Issue](https://github.com/cockroachdb/cockroach/issues/35706) - ### Current sequence value not checked when updating min/max value Altering the minimum or maximum value of a series does not check the current value of a series. This means that it is possible to silently set the maximum to a value less than, or a minimum value greater than, the current value. -[Tracking GitHub Issue](https://github.com/cockroachdb/cockroach/issues/23719) - ### Using `default_int_size` session variable in batch of statements When setting the `default_int_size` [session variable]({% link {{ page.version.version }}/set-vars.md %}) in a batch of statements such as `SET default_int_size='int4'; SELECT 1::IN`, the `default_int_size` variable will not take affect until the next statement. This happens because statement parsing takes place asynchronously from statement execution. As a workaround, set `default_int_size` via your database driver, or ensure that `SET default_int_size` is in its own statement. -[Tracking GitHub Issue](https://github.com/cockroachdb/cockroach/issues/32846) - ### `COPY` syntax not supported by CockroachDB {% include {{ page.version.version }}/known-limitations/copy-syntax.md %} @@ -510,8 +422,6 @@ As a workaround, set `default_int_size` via your database driver, or ensure that {% include {{ page.version.version }}/known-limitations/partitioning-with-placeholders.md %} -[Tracking GitHub Issue](https://github.com/cockroachdb/cockroach/issues/19464) - ### Dropping a single partition {% include {{ page.version.version }}/known-limitations/drop-single-partition.md %} @@ -545,8 +455,6 @@ ERROR: nextval(): unimplemented: cannot evaluate scalar expressions containing s SQLSTATE: 0A000 ~~~ -[Tracking GitHub Issue](https://github.com/cockroachdb/cockroach/issues/42508) - ### Available capacity metric in the DB Console {% include {{ page.version.version }}/misc/available-capacity-metric.md %} @@ -621,8 +529,6 @@ Many string operations are not properly overloaded for [collated strings]({% lin pq: unsupported binary operator: || ~~~ -[Tracking GitHub Issue](https://github.com/cockroachdb/cockroach/issues/10679) - ### Max size of a single column family When creating or updating a row, if the combined size of all values in a single [column family]({% link {{ page.version.version }}/column-families.md %}) exceeds the [max range size]({% link {{ page.version.version }}/configure-replication-zones.md %}#range-max-bytes) for the table, the operation may fail, or cluster performance may suffer. @@ -656,8 +562,6 @@ HINT: You have attempted to use a feature that is not yet implemented. See: https://github.com/cockroachdb/cockroach/issues/46414 ~~~ -[Tracking GitHub Issue](https://github.com/cockroachdb/cockroach/issues/46414) - ### CockroachDB does not test for all connection failure scenarios CockroachDB servers rely on the network to report when a TCP connection fails. In most scenarios when a connection fails, the network immediately reports a connection failure, resulting in a `Connection refused` error. @@ -668,20 +572,14 @@ However, if there is no host at the target IP address, or if a firewall rule blo - Configure any active network firewalls to allow node-to-node traffic. - Verify that orchestration tools (e.g., Kubernetes) are configured to use the correct network connection information. -[Tracking GitHub Issue](https://github.com/cockroachdb/cockroach/issues/53410) - ### Some column-dropping schema changes do not roll back properly Some [schema changes]({% link {{ page.version.version }}/online-schema-changes.md %}) that [drop columns]({% link {{ page.version.version }}/alter-table.md %}#drop-column) cannot be [rolled back]({% link {{ page.version.version }}/rollback-transaction.md %}) properly. In some cases, the rollback will succeed, but the column data might be partially or totally missing, or stale due to the asynchronous nature of the schema change. -[Tracking GitHub Issue](https://github.com/cockroachdb/cockroach/issues/46541) - In other cases, the rollback will fail in such a way that will never be cleaned up properly, leaving the table descriptor in a state where no other schema changes can be run successfully. -[Tracking GitHub Issue](https://github.com/cockroachdb/cockroach/issues/47712) - To reduce the chance that a column drop will roll back incorrectly: - Perform column drops in transactions separate from other schema changes. This ensures that other schema change failures will not cause the column drop to be rolled back. diff --git a/src/current/v23.1/partial-indexes.md b/src/current/v23.1/partial-indexes.md index ba2b096d089..2ef5d2df87f 100644 --- a/src/current/v23.1/partial-indexes.md +++ b/src/current/v23.1/partial-indexes.md @@ -88,9 +88,9 @@ You can force queries [to use a specific partial index]({% link {{ page.version. ## Known limitations -- CockroachDB does not currently support [`IMPORT`]({% link {{ page.version.version }}/import.md %}) statements on tables with partial indexes. See [tracking issue](https://github.com/cockroachdb/cockroach/issues/50225). -- CockroachDB does not currently support multiple arbiter indexes for `INSERT ON CONFLICT DO UPDATE`, and will return an error if there are multiple unique or exclusion constraints matching the `ON CONFLICT DO UPDATE` specification. See [tracking issue](https://github.com/cockroachdb/cockroach/issues/53170). -- CockroachDB prevents a column from being dropped using [`ALTER TABLE ... DROP COLUMN`]({% link {{ page.version.version }}/alter-table.md %}#drop-column) if it is referenced by a partial index predicate. To drop such a column, the partial indexes need to be dropped first using [`DROP INDEX`]({% link {{ page.version.version }}/drop-index.md %}). See [tracking issue](https://github.com/cockroachdb/cockroach/issues/97813). +- CockroachDB does not currently support [`IMPORT`]({% link {{ page.version.version }}/import.md %}) statements on tables with partial indexes. +- CockroachDB does not currently support multiple arbiter indexes for `INSERT ON CONFLICT DO UPDATE`, and will return an error if there are multiple unique or exclusion constraints matching the `ON CONFLICT DO UPDATE` specification. +- CockroachDB prevents a column from being dropped using [`ALTER TABLE ... DROP COLUMN`]({% link {{ page.version.version }}/alter-table.md %}#drop-column) if it is referenced by a partial index predicate. To drop such a column, the partial indexes need to be dropped first using [`DROP INDEX`]({% link {{ page.version.version }}/drop-index.md %}). ## Examples diff --git a/src/current/v23.1/postgresql-compatibility.md b/src/current/v23.1/postgresql-compatibility.md index e77ab6c2168..cedac7b7f14 100644 --- a/src/current/v23.1/postgresql-compatibility.md +++ b/src/current/v23.1/postgresql-compatibility.md @@ -27,7 +27,7 @@ The following PostgreSQL features are partially supported in CockroachDB {{ page ### Multiple active portals -CockroachDB {{ page.version.version }} supports pgwire's multiple active portals as a [preview feature]({% link {{ page.version.version }}/cockroachdb-feature-availability.md %}#features-in-preview). The feature is off by default, and can be enabled by setting the [session variable `multiple_active_portals_enabled`]({% link {{ page.version.version }}/set-vars.md %}#multiple-active-portals-enabled) to `true`. +CockroachDB {{ page.version.version }} supports pgwire's multiple active portals as a [preview feature]({% link {{ page.version.version }}/cockroachdb-feature-availability.md %}#features-in-preview). The feature is off by default, and can be enabled by setting the [session variable `multiple_active_portals_enabled`]({% link {{ page.version.version }}/set-vars.md %}#multiple-active-portals-enabled) to `true`. When set to `true`, multiple portals can be open at the same time, with their execution interleaved with each other. In other words, these portals can be paused. diff --git a/src/current/v23.1/query-spatial-data.md b/src/current/v23.1/query-spatial-data.md index b4e926c9384..1e8c0fbcc48 100644 --- a/src/current/v23.1/query-spatial-data.md +++ b/src/current/v23.1/query-spatial-data.md @@ -24,7 +24,7 @@ Just as CockroachDB strives for [PostgreSQL compatibility]({% link {{ page.versi CockroachDB does not implement the full list of PostGIS built-in functions and operators. Also, [spatial indexing works differently]({% link {{ page.version.version }}/spatial-indexes.md %}) (see the [Performance](#performance) section below). For a list of the spatial functions CockroachDB supports, see [Geospatial functions]({% link {{ page.version.version }}/functions-and-operators.md %}#spatial-functions). -If your application needs support for functions that are not yet implemented, check the [meta-issue for built-in function support on GitHub](https://github.com/cockroachdb/cockroach/issues/49203), which describes how to find an issue for the built-in function(s) you need. +If your application needs support for functions that are not yet implemented, please [contact Support](https://support.cockroachlabs.com). For a list of other known limitations, see [Known Limitations]({% link {{ page.version.version }}/known-limitations.md %}#spatial-support-limitations). diff --git a/src/current/v23.1/restore.md b/src/current/v23.1/restore.md index 73679ed77cd..f1d3382a3ef 100644 --- a/src/current/v23.1/restore.md +++ b/src/current/v23.1/restore.md @@ -281,7 +281,7 @@ CockroachDB does **not** support incremental-only restores. - {% include {{ page.version.version }}/known-limitations/restore-multiregion-match.md %} -The ordering of regions and how region matching is determined is a known limitation. See the [Known Limitations](#known-limitations) section for the tracking issues on limitations around `RESTORE` and multi-region support. +The ordering of regions and how region matching is determined is a known limitation. For more on multi-region databases, see the [Multi-Region Capabilities Overview]({% link {{ page.version.version }}/multiregion-overview.md %}). diff --git a/src/current/v23.1/spatial-tutorial.md b/src/current/v23.1/spatial-tutorial.md index a04cb3b0c44..a533c8f6fbb 100644 --- a/src/current/v23.1/spatial-tutorial.md +++ b/src/current/v23.1/spatial-tutorial.md @@ -964,7 +964,7 @@ Time: 1.447s total (execution 1.446s / network 0.000s) Unfortunately, this query is a bit slower than you would like: about 1.5 seconds on a single-node [`cockroach demo`]({% link {{ page.version.version }}/cockroach-demo.md %}) cluster on a laptop. There are several reasons for this: 1. You haven't created any indexes at all yet. The query is likely to be doing full table scans, which you will need to hunt down with [`EXPLAIN`]({% link {{ page.version.version }}/explain.md %}). -1. CockroachDB does not yet have built-in support for index-based nearest neighbor queries. If this feature is important to you, please comment with some information about your use case on [cockroachdb/cockroach#55227](https://github.com/cockroachdb/cockroach/issues/55227). +1. CockroachDB does not yet have built-in support for index-based nearest neighbor queries. Let's look at the `EXPLAIN` output to see if there is something that can be done to improve this query's performance: diff --git a/src/current/v23.1/sql-feature-support.md b/src/current/v23.1/sql-feature-support.md index fd12689d09d..3419586d32a 100644 --- a/src/current/v23.1/sql-feature-support.md +++ b/src/current/v23.1/sql-feature-support.md @@ -191,9 +191,9 @@ XML | ✗ | Standard | XML data can be stored as `BYTES`, but we do not offer XM Materialized views | ✓ | Common Extension | [Materialized views documentation]({% link {{ page.version.version }}/views.md %}#materialized-views) Window functions | ✓ | Standard | [Window Functions documentation]({% link {{ page.version.version }}/window-functions.md %}) Common table expressions | Partial | Common Extension | [Common Table Expressions documentation]({% link {{ page.version.version }}/common-table-expressions.md %}) - Stored procedures | ✗ | Common Extension | Execute a procedure explicitly. [GitHub issue tracking stored procedures support](https://github.com/cockroachdb/cockroach/issues/17511). + Stored procedures | ✗ | Common Extension | Execute a procedure explicitly. Cursors | Partial | Standard | [Cursors documentation]({% link {{ page.version.version }}/cursors.md %}) - Triggers | ✗ | Standard | Execute a set of commands whenever a specified event occurs. [GitHub issue tracking trigger support](https://github.com/cockroachdb/cockroach/issues/28296). + Triggers | ✗ | Standard | Execute a set of commands whenever a specified event occurs. Row-level TTL | ✓ | Common Extension | Automatically delete expired rows. For more information, see [Batch-delete expired data with Row-Level TTL]({% link {{ page.version.version }}/row-level-ttl.md %}). User-defined functions | Partial | Standard | [User-Defined Functions documentation]({% link {{ page.version.version }}/user-defined-functions.md %}) - `CREATE EXTENSION "uuid-ossp"` | ✓ | Common Extension | Provides access to several additional [UUID generation functions]({% link {{ page.version.version }}/functions-and-operators.md %}#id-generation-functions). Note that these UUID functions are available without typing `CREATE EXTENSION "uuid-ossp"`. CockroachDB does not have full support for `CREATE EXTENSION`. [GitHub issue tracking `CREATE EXTENSION` support](https://github.com/cockroachdb/cockroach/issues/74777). + `CREATE EXTENSION "uuid-ossp"` | ✓ | Common Extension | Provides access to several additional [UUID generation functions]({% link {{ page.version.version }}/functions-and-operators.md %}#id-generation-functions). Note that these UUID functions are available without typing `CREATE EXTENSION "uuid-ossp"`. CockroachDB does not have full support for `CREATE EXTENSION`. diff --git a/src/current/v23.1/sql-name-resolution.md b/src/current/v23.1/sql-name-resolution.md index 554a9a65583..000ae5bf2dd 100644 --- a/src/current/v23.1/sql-name-resolution.md +++ b/src/current/v23.1/sql-name-resolution.md @@ -37,8 +37,7 @@ If you are upgrading to {{ page.version.version }}, take any combination of the - [Create new schemas]({% link {{ page.version.version }}/create-schema.md %}) in databases on your cluster. After the schemas are created, use [`ALTER TABLE ... RENAME`]({% link {{ page.version.version }}/alter-table.md %}#rename-to), [`ALTER SEQUENCE ... RENAME`]({% link {{ page.version.version }}/alter-sequence.md %}), [`ALTER TYPE ... RENAME`]({% link {{ page.version.version }}/alter-type.md %}), or [`ALTER VIEW ... RENAME`]({% link {{ page.version.version }}/alter-view.md %}) statements to move objects between databases as needed. To move objects between schemas, use [`ALTER TABLE ... SET SCHEMA`]({% link {{ page.version.version }}/alter-table.md %}#set-schema), [`ALTER SEQUENCE ... SET SCHEMA`]({% link {{ page.version.version }}/alter-sequence.md %}), or [`ALTER VIEW ... SET SCHEMA`]({% link {{ page.version.version }}/alter-view.md %}). -- If your cluster contains cross-database references (e.g., a cross-database foreign key reference, or a cross-database view reference), use the relevant [`ALTER TABLE`]({% link {{ page.version.version }}/alter-table.md %}), [`ALTER SEQUENCE`]({% link {{ page.version.version }}/alter-sequence.md %}), [`ALTER TYPE`]({% link {{ page.version.version }}/alter-type.md %}), or [`ALTER VIEW `]({% link {{ page.version.version }}/alter-view.md %}) statements to move any cross-referencing objects to the same database, but different schemas. Cross-database object references were allowed in earlier versions of CockroachDB to make database-object naming hierarchies more flexible for users. In v20.2, creating cross-database references are disabled for [foreign keys](foreign-key.html), [views]({% link {{ page.version.version }}/views.md %}), and [sequence ownership]({% link {{ page.version.version }}/create-sequence.md %}). For details, see [tracking issue](https://github.com/cockroachdb/cockroach/issues/55791). - +- If your cluster contains cross-database references (e.g., a cross-database foreign key reference, or a cross-database view reference), use the relevant [`ALTER TABLE`]({% link {{ page.version.version }}/alter-table.md %}), [`ALTER SEQUENCE`]({% link {{ page.version.version }}/alter-sequence.md %}), [`ALTER TYPE`]({% link {{ page.version.version }}/alter-type.md %}), or [`ALTER VIEW `]({% link {{ page.version.version }}/alter-view.md %}) statements to move any cross-referencing objects to the same database, but different schemas. Cross-database object references were allowed in earlier versions of CockroachDB to make database-object naming hierarchies more flexible for users. In v20.2, creating cross-database references are disabled for [foreign keys](foreign-key.html), [views]({% link {{ page.version.version }}/views.md %}), and [sequence ownership]({% link {{ page.version.version }}/create-sequence.md %}). ## How name resolution works Name resolution occurs separately to **look up existing objects** and to diff --git a/src/current/v23.1/srid-4326.md b/src/current/v23.1/srid-4326.md index cfd15368e47..288af2b7376 100644 --- a/src/current/v23.1/srid-4326.md +++ b/src/current/v23.1/srid-4326.md @@ -114,7 +114,7 @@ ERROR: st_contains(): operation on mixed SRIDs forbidden: (Point, 0) != (Point, ## Known limitations {{site.data.alerts.callout_info}} -Defining a custom SRID by inserting rows into [`spatial_ref_sys`]({% link {{ page.version.version }}/architecture/glossary.md %}#spatial_ref_sys) is not currently supported. For more information, see the tracking issue [cockroachdb/cockroach#55903](https://github.com/cockroachdb/cockroach/issues/55903). +Defining a custom SRID by inserting rows into [`spatial_ref_sys`]({% link {{ page.version.version }}/architecture/glossary.md %}#spatial_ref_sys) is not currently supported. {{site.data.alerts.end}} ## See also diff --git a/src/current/v23.1/st_union.md b/src/current/v23.1/st_union.md index 581f9db7f9b..57a3ff22f3b 100644 --- a/src/current/v23.1/st_union.md +++ b/src/current/v23.1/st_union.md @@ -12,7 +12,7 @@ Given a set of shapes (e.g., from a [selection query]({% link {{ page.version.ve - [`GEOMETRY`]({% link {{ page.version.version }}/architecture/glossary.md %}#geometry) {{site.data.alerts.callout_info}} -The non-aggregate version of `ST_Union` is not yet implemented. For more information, see [cockroach#49064](https://github.com/cockroachdb/cockroach/issues/49064). +The non-aggregate version of `ST_Union` is not yet implemented. {{site.data.alerts.end}} {{site.data.alerts.callout_info}} diff --git a/src/current/v23.1/temporary-tables.md b/src/current/v23.1/temporary-tables.md index bd3a9adefdd..8b93a25882c 100644 --- a/src/current/v23.1/temporary-tables.md +++ b/src/current/v23.1/temporary-tables.md @@ -10,7 +10,7 @@ docs_area: develop To create a temp table, add `TEMP`/`TEMPORARY` to a [`CREATE TABLE`]({% link {{ page.version.version }}/create-table.md %}) or [`CREATE TABLE AS`]({% link {{ page.version.version }}/create-table-as.md %}) statement. For full syntax details, see the [`CREATE TABLE`]({% link {{ page.version.version }}/create-table.md %}#synopsis) and [`CREATE TABLE AS`]({% link {{ page.version.version }}/create-table-as.md %}#synopsis) pages. For example usage, see [Examples](#examples). {{site.data.alerts.callout_info}} -{% include feature-phases/preview.md %} For details, see the tracking issue [cockroachdb/cockroach#46260](https://github.com/cockroachdb/cockroach/issues/46260). +{% include feature-phases/preview.md %} {{site.data.alerts.end}} {{site.data.alerts.callout_info}} diff --git a/src/current/v23.1/trigram-indexes.md b/src/current/v23.1/trigram-indexes.md index 474b258163a..5127f46895d 100644 --- a/src/current/v23.1/trigram-indexes.md +++ b/src/current/v23.1/trigram-indexes.md @@ -350,7 +350,7 @@ CREATE INDEX ON t USING GIN ((json_col->>'json_text_field')) ## Unsupported features -The following PostgreSQL syntax and features are currently unsupported. For details, see the [tracking issue](https://github.com/cockroachdb/cockroach/issues/41285). +The following PostgreSQL syntax and features are currently unsupported. {% include {{ page.version.version }}/sql/trigram-unsupported-syntax.md %} diff --git a/src/current/v23.1/user-defined-functions.md b/src/current/v23.1/user-defined-functions.md index a8396fed7c5..cd4ab55f87d 100644 --- a/src/current/v23.1/user-defined-functions.md +++ b/src/current/v23.1/user-defined-functions.md @@ -284,33 +284,15 @@ The following example demonstrates how inlining improves a UDF's performance. User-defined functions are not currently supported in: - Expressions (column, index, constraint) in tables. - - [Tracking GitHub issue](https://github.com/cockroachdb/cockroach/issues/87699) - - Views. - - [Tracking GitHub issue](https://github.com/cockroachdb/cockroach/issues/87699) - - Other user-defined functions. - - [Tracking GitHub issue](https://github.com/cockroachdb/cockroach/issues/93049) - ### Limitations on expressions allowed within UDFs The following are not currently allowed within the body of a UDF: - Mutation statements such as `INSERT`, `UPDATE`, `DELETE`, and `UPSERT`. - - [Tracking GitHub issue](https://github.com/cockroachdb/cockroach/issues/87289) - - CTEs (common table expressions). - - [Tracking GitHub issue](https://github.com/cockroachdb/cockroach/issues/92961) - - References to other user-defined functions. - - [Tracking GitHub issue](https://github.com/cockroachdb/cockroach/issues/93049) - ## See also - [`CREATE FUNCTION`]({% link {{ page.version.version }}/create-function.md %}) diff --git a/src/current/v23.1/vectorized-execution.md b/src/current/v23.1/vectorized-execution.md index f8ab08de50b..11e78390599 100644 --- a/src/current/v23.1/vectorized-execution.md +++ b/src/current/v23.1/vectorized-execution.md @@ -69,8 +69,7 @@ You can also configure a node's total budget for in-memory query processing with The vectorized engine does not support queries containing: -- A join filtered with an [`ON` expression]({% link {{ page.version.version }}/joins.md %}#supported-join-conditions). See [tracking issue](https://github.com/cockroachdb/cockroach/issues/38018). - +- A join filtered with an [`ON` expression]({% link {{ page.version.version }}/joins.md %}#supported-join-conditions). ### Spatial features The vectorized engine does not support [working with spatial data]({% link {{ page.version.version }}/export-spatial-data.md %}). Queries with [geospatial functions]({% link {{ page.version.version }}/functions-and-operators.md %}#spatial-functions) or [spatial data]({% link {{ page.version.version }}/export-spatial-data.md %}) will revert to the row-oriented execution engine. diff --git a/src/current/v23.1/views.md b/src/current/v23.1/views.md index 89357fb6d52..2e8f35b218a 100644 --- a/src/current/v23.1/views.md +++ b/src/current/v23.1/views.md @@ -634,7 +634,7 @@ To speed up queries on materialized views, you can add an [index]({% link {{ pag CockroachDB supports session-scoped temporary views. Unlike persistent views, temporary views can only be accessed from the session in which they were created, and they are dropped at the end of the session. You can create temporary views on both persistent tables and [temporary tables]({% link {{ page.version.version }}/temporary-tables.md %}). {{site.data.alerts.callout_info}} -{% include feature-phases/preview.md %} For details, see the tracking issue [cockroachdb/cockroach#46260](https://github.com/cockroachdb/cockroach/issues/46260). +{% include feature-phases/preview.md %} {{site.data.alerts.end}} {{site.data.alerts.callout_info}} diff --git a/src/current/v23.2/alter-changefeed.md b/src/current/v23.2/alter-changefeed.md index 15a860c7010..116ca16e4bf 100644 --- a/src/current/v23.2/alter-changefeed.md +++ b/src/current/v23.2/alter-changefeed.md @@ -5,8 +5,6 @@ toc: true docs_area: reference.sql --- - - The `ALTER CHANGEFEED` statement modifies an existing [changefeed]({% link {{ page.version.version }}/change-data-capture-overview.md %}). You can use `ALTER CHANGEFEED` to do the following: - Add new target tables to a changefeed. @@ -238,8 +236,8 @@ For further discussion on using the `FAMILY` keyword and `split_column_families` ## Known limitations -- It is necessary to [`PAUSE`]({% link {{ page.version.version }}/pause-job.md %}) the changefeed before performing any `ALTER CHANGEFEED` statement. [Tracking GitHub Issue](https://github.com/cockroachdb/cockroach/issues/77171) -- `ALTER CHANGEFEED` will accept duplicate targets without sending an error. [Tracking GitHub Issue](https://github.com/cockroachdb/cockroach/issues/78285) +- It is necessary to [`PAUSE`]({% link {{ page.version.version }}/pause-job.md %}) the changefeed before performing any `ALTER CHANGEFEED` statement. +- `ALTER CHANGEFEED` will accept duplicate targets without sending an error. - {% include {{ page.version.version }}/known-limitations/alter-changefeed-cdc-queries.md %} - CockroachDB does not keep track of the [`initial_scan`]({% link {{ page.version.version }}/create-changefeed.md %}#initial-scan) option applied to tables when it is set to `yes` or `only`. For example: diff --git a/src/current/v23.2/alter-table.md b/src/current/v23.2/alter-table.md index f7b7deb5e1c..dc013754ee7 100644 --- a/src/current/v23.2/alter-table.md +++ b/src/current/v23.2/alter-table.md @@ -265,8 +265,7 @@ For examples, see [Drop columns](#drop-columns). #### Known limitations -- CockroachDB prevents a column from being dropped if it is referenced by a [partial index]({% link {{ page.version.version }}/partial-indexes.md %}) predicate. To drop such a column, the partial indexes need to be dropped first using [`DROP INDEX`]({% link {{ page.version.version }}/drop-index.md %}). See [tracking issue](https://github.com/cockroachdb/cockroach/issues/97813). - +- CockroachDB prevents a column from being dropped if it is referenced by a [partial index]({% link {{ page.version.version }}/partial-indexes.md %}) predicate. To drop such a column, the partial indexes need to be dropped first using [`DROP INDEX`]({% link {{ page.version.version }}/drop-index.md %}). #### Required privileges The user must have the `CREATE` [privilege]({% link {{ page.version.version }}/security-reference/authorization.md %}#managing-privileges) on the table. @@ -1642,7 +1641,6 @@ To change the data type from `DECIMAL` to `STRING`: (1 row) ~~~ - #### Change a column type's precision The [TPC-C]({% link {{ page.version.version }}/performance-benchmarking-with-tpcc-small.md %}) `customer` table contains a column `c_balance` of type `DECIMAL(12,2)`: diff --git a/src/current/v23.2/alter-view.md b/src/current/v23.2/alter-view.md index 47de30984d8..5f9064c56b2 100644 --- a/src/current/v23.2/alter-view.md +++ b/src/current/v23.2/alter-view.md @@ -36,7 +36,7 @@ Parameter | Description CockroachDB does not currently support: - Changing the [`SELECT`]({% link {{ page.version.version }}/select-clause.md %}) statement executed by a view. Instead, you must drop the existing view and create a new view. -- Renaming a view that other views depend on. This feature may be added in the future (see [tracking issue](https://github.com/cockroachdb/cockroach/issues/10083)). +- Renaming a view that other views depend on. This feature may be added in the future ## Examples diff --git a/src/current/v23.2/changefeeds-in-multi-region-deployments.md b/src/current/v23.2/changefeeds-in-multi-region-deployments.md index 191ba84bf9c..1f0e23523e9 100644 --- a/src/current/v23.2/changefeeds-in-multi-region-deployments.md +++ b/src/current/v23.2/changefeeds-in-multi-region-deployments.md @@ -22,7 +22,7 @@ Defining an execution locality for a changefeed job, could be useful in the foll - Your cluster is running through VPC peering connections and you need all the data sent through a particular locality. {{site.data.alerts.callout_info}} -In v23.2.0, changefeeds that use the [`execution_locality` option]({% link {{ page.version.version }}/changefeeds-in-multi-region-deployments.md %}#run-a-changefeed-job-by-locality) set to a [secondary region]({% link {{ page.version.version }}/multiregion-overview.md %}#secondary-regions) could create a plan that assigns most of the ranges to an [aggregator]({% link {{ page.version.version }}/how-does-an-enterprise-changefeed-work.md %}) on the coordinator node. This leads to an unbalanced plan and slow changefeed progress, particularly when the table is large and has many ranges. This issue is [partially mitigated](https://github.com/cockroachdb/cockroach/commit/5d7714a03a891c9fd5746fb876c39dced4f47205) in v23.2.1 and later. +In v23.2.0, changefeeds that use the [`execution_locality` option]({% link {{ page.version.version }}/changefeeds-in-multi-region-deployments.md %}#run-a-changefeed-job-by-locality) set to a [secondary region]({% link {{ page.version.version }}/multiregion-overview.md %}#secondary-regions) could create a plan that assigns most of the ranges to an [aggregator]({% link {{ page.version.version }}/how-does-an-enterprise-changefeed-work.md %}) on the coordinator node. This leads to an unbalanced plan and slow changefeed progress, particularly when the table is large and has many ranges. This issue is partially mitigated in v23.2.1 and later. {{site.data.alerts.end}} ### Syntax diff --git a/src/current/v23.2/cluster-setup-troubleshooting.md b/src/current/v23.2/cluster-setup-troubleshooting.md index e184b085a1d..e150f56353c 100644 --- a/src/current/v23.2/cluster-setup-troubleshooting.md +++ b/src/current/v23.2/cluster-setup-troubleshooting.md @@ -104,7 +104,7 @@ If you are trying to run all nodes on the same machine, you might get the follow #### Store directory already exists ~~~ -ERROR: could not cleanup temporary directories from record file: could not lock temporary directory /Users/amruta/go/src/github.com/cockroachdb/cockroach/cockroach-data/cockroach-temp301343769, may still be in use: IO error: While lock file: /Users/amruta/go/src/github.com/cockroachdb/cockroach/cockroach-data/cockroach-temp301343769/TEMP_DIR.LOCK: Resource temporarily unavailable +ERROR: could not cleanup temporary directories from record file: could not lock temporary directory /cockroach-data/cockroach-temp301343769, may still be in use: IO error: While lock file: /cockroach-data/cockroach-temp301343769/TEMP_DIR.LOCK: Resource temporarily unavailable ~~~ **Explanation:** When starting a new node on the same machine, the directory you choose to store the data in also contains metadata identifying the cluster the data came from. This causes conflicts when you've already started a node on the server and then tried to start another cluster using the same directory. diff --git a/src/current/v23.2/cockroachdb-feature-availability.md b/src/current/v23.2/cockroachdb-feature-availability.md index b768c00d501..006fea85052 100644 --- a/src/current/v23.2/cockroachdb-feature-availability.md +++ b/src/current/v23.2/cockroachdb-feature-availability.md @@ -148,7 +148,7 @@ Example: ### Check for constraint violations with `SCRUB` -Checks the consistency of [`UNIQUE`]({% link {{ page.version.version }}/unique.md %}) indexes, [`CHECK`]({% link {{ page.version.version }}/check.md %}) constraints, and more. Partially implemented; see [cockroachdb/cockroach#10425](https://github.com/cockroachdb/cockroach/issues/10425) for details. +Checks the consistency of [`UNIQUE`]({% link {{ page.version.version }}/unique.md %}) indexes, [`CHECK`]({% link {{ page.version.version }}/check.md %}) constraints, and more. Partially implemented. {{site.data.alerts.callout_info}} This example uses the `users` table from our open-source, fictional peer-to-peer vehicle-sharing application, [MovR]({% link {{ page.version.version }}/movr.md %}). @@ -191,7 +191,7 @@ CockroachDB supports [altering the column types]({% link {{ page.version.version ### Temporary objects -[Temporary tables]({% link {{ page.version.version }}/temporary-tables.md %}), [temporary views]({% link {{ page.version.version }}/views.md %}#temporary-views), and [temporary sequences]({% link {{ page.version.version }}/create-sequence.md %}#temporary-sequences) are in preview in CockroachDB. If you create too many temporary objects in a session, the performance of DDL operations will degrade. Performance limitations could persist long after creating the temporary objects. For more details, see [cockroachdb/cockroach#46260](https://github.com/cockroachdb/cockroach/issues/46260). +[Temporary tables]({% link {{ page.version.version }}/temporary-tables.md %}), [temporary views]({% link {{ page.version.version }}/views.md %}#temporary-views), and [temporary sequences]({% link {{ page.version.version }}/create-sequence.md %}#temporary-sequences) are in preview in CockroachDB. If you create too many temporary objects in a session, the performance of DDL operations will degrade. Performance limitations could persist long after creating the temporary objects. To enable temporary objects, set the `experimental_enable_temp_tables` [session variable]({% link {{ page.version.version }}/show-vars.md %}) to `on`. diff --git a/src/current/v23.2/common-table-expressions.md b/src/current/v23.2/common-table-expressions.md index 09ac09d1419..b7deeba936e 100644 --- a/src/current/v23.2/common-table-expressions.md +++ b/src/current/v23.2/common-table-expressions.md @@ -444,7 +444,7 @@ SELECT COUNT(*) FROM temp; Because this pattern incurs the overhead of a new scan for each iteration, it is slower per row than a full scan. It is therefore faster than a full scan in cases (such as this one) where many rows are skipped, but is slower if they are not. {{site.data.alerts.callout_info}} -Some recursive CTEs are not not yet optimized. For details, see the [tracking issue](https://github.com/cockroachdb/cockroach/issues/89954). +Some recursive CTEs are not not yet optimized. {{site.data.alerts.end}} ## Correlated common table expressions diff --git a/src/current/v23.2/configure-replication-zones.md b/src/current/v23.2/configure-replication-zones.md index eb46be28789..e63d838f165 100644 --- a/src/current/v23.2/configure-replication-zones.md +++ b/src/current/v23.2/configure-replication-zones.md @@ -98,7 +98,7 @@ For more information, see the following subsections: The hierarchy of inheritance for zone configs can be visualized using the following outline-style diagram, in which each level of indentation denotes an inheritance relationship. -The only exception to this simple inheritance relationship is that due to a known limitation, sub-partitions do not inherit their values from their parent partitions. Instead, sub-partitions inherit their values from the parent table. For more information, see [cockroachdb/cockroach#75862](https://github.com/cockroachdb/cockroach/issues/75862). +The only exception to this simple inheritance relationship is that due to a known limitation, sub-partitions do not inherit their values from their parent partitions. Instead, sub-partitions inherit their values from the parent table. ``` - default @@ -106,7 +106,7 @@ The only exception to this simple inheritance relationship is that due to a know - table A.B - index A.B.1 - partition (row) 1 - - sub-partition 1.1 (NB. Sub-partitions inherit from tables, *not* partitions - see cockroachdb/cockroach#75862) + - sub-partition 1.1 (NB. Sub-partitions inherit from tables, *not* partitions) - sub-partition 1.1.1 - sub-partition 1.2 - table A.C @@ -127,7 +127,7 @@ From the whole-system perspective, the hierarchy of schema object zone configs c The following diagram presents the same set of schema objects as the previous outline-style diagram, but using boxes and lines joined with arrows that represent the "top-down" view. -Each box represents a schema object in the zone configuration inheritance hierarchy. Each solid line ends in an arrow that points from a parent object to its child object, which will inherit the parent's values unless those values are changed at the child level. The dotted lines between partitions and sub-partitions represent the known limitation mentioned previously that sub-partitions do not inherit their values from their parent partitions. Instead, sub-partitions inherit their values from the parent table. For more information about this limitation, see [cockroachdb/cockroach#75862](https://github.com/cockroachdb/cockroach/issues/75862). +Each box represents a schema object in the zone configuration inheritance hierarchy. Each solid line ends in an arrow that points from a parent object to its child object, which will inherit the parent's values unless those values are changed at the child level. The dotted lines between partitions and sub-partitions represent the known limitation mentioned previously that sub-partitions do not inherit their values from their parent partitions. Instead, sub-partitions inherit their values from the parent table. zone config inheritance diagram diff --git a/src/current/v23.2/create-sequence.md b/src/current/v23.2/create-sequence.md index b8be147522b..b0f88e10c05 100644 --- a/src/current/v23.2/create-sequence.md +++ b/src/current/v23.2/create-sequence.md @@ -58,7 +58,7 @@ CockroachDB supports the following [SQL sequence functions]({% link {{ page.vers CockroachDB supports session-scoped temporary sequences. Unlike persistent sequences, temporary sequences can only be accessed from the session in which they were created, and they are dropped at the end of the session. You can create temporary sequences on both persistent tables and [temporary tables]({% link {{ page.version.version }}/temporary-tables.md %}). {{site.data.alerts.callout_info}} -{% include feature-phases/preview.md %} For details, see the tracking issue [cockroachdb/cockroach#46260](https://github.com/cockroachdb/cockroach/issues/46260). +{% include feature-phases/preview.md %} {{site.data.alerts.end}} {{site.data.alerts.callout_info}} diff --git a/src/current/v23.2/create-table.md b/src/current/v23.2/create-table.md index 0976255a0d8..7cd07047b67 100644 --- a/src/current/v23.2/create-table.md +++ b/src/current/v23.2/create-table.md @@ -155,7 +155,7 @@ If you use `GENERATED BY DEFAULT AS IDENTITY` to define the identity column, any Note the following limitations of identity columns: -- `GENERATED ALWAYS AS IDENTITY`/`GENERATED BY DEFAULT AS IDENTITY` is supported in [`ALTER TABLE ... ADD COLUMN`]({% link {{ page.version.version }}/alter-table.md %}#add-column) statements only when the table being altered is empty, as [CockroachDB does not support back-filling sequential column data]({% link {{ page.version.version }}/known-limitations.md %}#adding-a-column-with-sequence-based-default-values). For more information, see the [Tracking GitHub Issue](https://github.com/cockroachdb/cockroach/issues/42508). +- `GENERATED ALWAYS AS IDENTITY`/`GENERATED BY DEFAULT AS IDENTITY` is supported in [`ALTER TABLE ... ADD COLUMN`]({% link {{ page.version.version }}/alter-table.md %}#add-column) statements only when the table being altered is empty, as [CockroachDB does not support back-filling sequential column data]({% link {{ page.version.version }}/known-limitations.md %}#adding-a-column-with-sequence-based-default-values). - Unlike PostgreSQL, CockroachDB does not support using the `OVERRIDING SYSTEM VALUE` clause in `INSERT`/`UPDATE`/`UPSERT` statements to overwrite `GENERATED ALWAYS AS IDENTITY` identity column values. For an example of an identity column, see [Create a table with an identity column](#create-a-table-with-an-identity-column). diff --git a/src/current/v23.2/disaster-recovery-planning.md b/src/current/v23.2/disaster-recovery-planning.md index 69eaf1fac32..177b27f7cc3 100644 --- a/src/current/v23.2/disaster-recovery-planning.md +++ b/src/current/v23.2/disaster-recovery-planning.md @@ -320,7 +320,7 @@ If your cluster is running, you do not have a backup that encapsulates the time If you have corrupted data in a database or table, [restore]({% link {{ page.version.version }}/restore.md %}) the object from a prior [backup]({% link {{ page.version.version }}/backup.md %}). If revision history is in the backup, you can restore from a [point in time]({% link {{ page.version.version }}/take-backups-with-revision-history-and-restore-from-a-point-in-time.md %}). -Instead of dropping the corrupted table or database, we recommend [renaming the table]({% link {{ page.version.version }}/alter-table.md %}#rename-to) or [renaming the database]({% link {{ page.version.version }}/alter-database.md %}#rename-to) so you have historical data to compare to later. If you drop a database, the database cannot be referenced with `AS OF SYSTEM TIME` queries (see [#51380](https://github.com/cockroachdb/cockroach/issues/51380) for more information), and you will need to take a backup that is backdated to the system time when the database still existed. +Instead of dropping the corrupted table or database, we recommend [renaming the table]({% link {{ page.version.version }}/alter-table.md %}#rename-to) or [renaming the database]({% link {{ page.version.version }}/alter-database.md %}#rename-to) so you have historical data to compare to later. If you drop a database, the database cannot be referenced with `AS OF SYSTEM TIME` queries, and you will need to take a backup that is backdated to the system time when the database still existed. {{site.data.alerts.callout_info}} If the table you are restoring has foreign keys, [careful consideration]({% link {{ page.version.version }}/restore.md %}#remove-the-foreign-key-before-restore) should be applied to make sure data integrity is maintained during the restore process. diff --git a/src/current/v23.2/foreign-key.md b/src/current/v23.2/foreign-key.md index f82bfc4aad5..c72ba26da16 100644 --- a/src/current/v23.2/foreign-key.md +++ b/src/current/v23.2/foreign-key.md @@ -93,7 +93,7 @@ For matching purposes, composite foreign keys can be in one of three states: For examples showing how these key matching algorithms work, see [Match composite foreign keys with `MATCH SIMPLE` and `MATCH FULL`](#match-composite-foreign-keys-with-match-simple-and-match-full). {{site.data.alerts.callout_info}} -CockroachDB does not support `MATCH PARTIAL`. For more information, see issue [#20305](https://github.com/cockroachdb/cockroach/issues/20305). +CockroachDB does not support `MATCH PARTIAL`. {{site.data.alerts.end}} ### Foreign key actions diff --git a/src/current/v23.2/full-text-search.md b/src/current/v23.2/full-text-search.md index 5b93835d9c3..be5f2ca2267 100644 --- a/src/current/v23.2/full-text-search.md +++ b/src/current/v23.2/full-text-search.md @@ -460,8 +460,6 @@ Some PostgreSQL syntax and features are unsupported. These include, but are not - `!! tsquery` comparisons. - `tsquery @> tsquery` and `tsquery <@ tsquery` comparisons. -For full details, see the [tracking issue](https://github.com/cockroachdb/cockroach/issues/41288). - ## See also - PostgreSQL documentation on [Full Text Search](https://www.postgresql.org/docs/current/textsearch.html) diff --git a/src/current/v23.2/install-cockroachdb-mac.md b/src/current/v23.2/install-cockroachdb-mac.md index 177c2863226..33d36be6d11 100644 --- a/src/current/v23.2/install-cockroachdb-mac.md +++ b/src/current/v23.2/install-cockroachdb-mac.md @@ -19,7 +19,7 @@ See [Release Notes]({% link releases/{{page.version.version}}.md %}) for what's {% comment %}v22.2.0+{% endcomment %} {{site.data.alerts.callout_danger}} -

On macOS ARM systems, spatial features are disabled due to an issue with macOS code signing for the GEOS libraries. Users needing spatial features on an ARM Mac may instead use Rosetta to run the Intel binary or use the Docker image distribution. Refer to GitHub tracking issue for more information.

+

On macOS ARM systems, spatial features are disabled due to an issue with macOS code signing for the GEOS libraries. Users needing spatial features on an ARM Mac may instead use Rosetta to run the Intel binary or use the Docker image distribution.

{{site.data.alerts.end}} {% capture arch_note_homebrew %}

For CockroachDB v22.2.x and above, Homebrew installs binaries for your system architecture, either Intel or ARM (Apple Silicon).

For previous releases, Homebrew installs Intel binaries. Intel binaries can run on ARM systems, but with a significant reduction in performance. CockroachDB on ARM for macOS is experimental and is not yet qualified for production use and not eligible for support or uptime SLA commitments.

{% endcapture %} diff --git a/src/current/v23.2/jsonb.md b/src/current/v23.2/jsonb.md index c6153ce4e92..4574eb5d92c 100644 --- a/src/current/v23.2/jsonb.md +++ b/src/current/v23.2/jsonb.md @@ -89,12 +89,8 @@ To [index]({% link {{ page.version.version }}/indexes.md %}) a `JSONB` column yo - You cannot [order]({% link {{ page.version.version }}/order-by.md %}) queries using `JSONB` and `JSON`-typed columns. - [Tracking issue](https://github.com/cockroachdb/cockroach/issues/35706) - - If the execution of a [join]({% link {{ page.version.version }}/joins.md %}) query exceeds the limit set for [memory-buffering operations]({% link {{ page.version.version }}/vectorized-execution.md %}#disk-spilling-operations) (i.e., the value set for the `sql.distsql.temp_storage.workmem` [cluster setting]({% link {{ page.version.version }}/cluster-settings.md %})), CockroachDB will spill the intermediate results of computation to disk. If the join operation spills to disk, and at least one of the columns is of type `JSON`, CockroachDB returns the error `unable to encode table key: *tree.DJSON`. If the memory limit is not reached, then the query will be processed without error. - [Tracking issue](https://github.com/cockroachdb/cockroach/issues/35706) - ## Examples This section shows how to create tables with `JSONB` columns and use operators and functions to access and update `JSONB` data. For the full list of operators and functions, see [Operators]({% link {{ page.version.version }}/functions-and-operators.md %}#operators) and [JSONB functions]({% link {{ page.version.version }}/functions-and-operators.md %}#jsonb-functions). diff --git a/src/current/v23.2/known-limitations.md b/src/current/v23.2/known-limitations.md index 24c971f0da0..c13025565f2 100644 --- a/src/current/v23.2/known-limitations.md +++ b/src/current/v23.2/known-limitations.md @@ -14,62 +14,62 @@ This page describes newly identified limitations in the CockroachDB {{page.relea #### Support for PL/pgSQL features -- PL/pgSQL blocks cannot be nested. [Tracking GitHub issue](https://github.com/cockroachdb/cockroach/issues/114775) -- PL/pgSQL arguments cannot be referenced with ordinals (e.g., `$1`, `$2`). [Tracking GitHub issue](https://github.com/cockroachdb/cockroach/issues/114701) -- `FOR` loops, including `FOR` cursor loops, `FOR` query loops, and `FOREACH` loops, are not supported. [Tracking GitHub issue](https://github.com/cockroachdb/cockroach/issues/105246) -- `RETURN NEXT` and `RETURN QUERY` statements are not supported. [Tracking GitHub issue](https://github.com/cockroachdb/cockroach/issues/117744) -- `EXIT` and `CONTINUE` labels and conditions are not supported. [Tracking GitHub issue](https://github.com/cockroachdb/cockroach/issues/115271) -- `CASE` statements are not supported. [Tracking GitHub issue](https://github.com/cockroachdb/cockroach/issues/117744) -- `PERFORM`, `EXECUTE`, `GET DIAGNOSTICS`, and `NULL` statements are not supported for PL/pgSQL. [Tracking GitHub issue](https://github.com/cockroachdb/cockroach/issues/117744) +- PL/pgSQL blocks cannot be nested. +- PL/pgSQL arguments cannot be referenced with ordinals (e.g., `$1`, `$2`). +- `FOR` loops, including `FOR` cursor loops, `FOR` query loops, and `FOREACH` loops, are not supported. +- `RETURN NEXT` and `RETURN QUERY` statements are not supported. +- `EXIT` and `CONTINUE` labels and conditions are not supported. +- `CASE` statements are not supported. +- `PERFORM`, `EXECUTE`, `GET DIAGNOSTICS`, and `NULL` statements are not supported for PL/pgSQL. #### Type Handling and Variable Declarations -- `RECORD` parameters and variables are not supported. [Tracking GitHub issue](https://github.com/cockroachdb/cockroach/issues/105713) -- Variable shadowing (e.g., declaring a variable with the same name in an inner block) is not supported in PL/pgSQL. [Tracking GitHub issue](https://github.com/cockroachdb/cockroach/issues/117508) -- Syntax for accessing members of composite types without parentheses is not supported. [Tracking GitHub issue](https://github.com/cockroachdb/cockroach/issues/114687) -- The `STRICT` option for the PL/pgSQL `INTO` statement is not supported. [Tracking GitHub issue](https://github.com/cockroachdb/cockroach/issues/107854) -- `NOT NULL` variable declarations are not supported. [Tracking GitHub issue](https://github.com/cockroachdb/cockroach/issues/105243) +- `RECORD` parameters and variables are not supported. +- Variable shadowing (e.g., declaring a variable with the same name in an inner block) is not supported in PL/pgSQL. +- Syntax for accessing members of composite types without parentheses is not supported. +- The `STRICT` option for the PL/pgSQL `INTO` statement is not supported. +- `NOT NULL` variable declarations are not supported. #### Cursor Functionality -- Cursors opened in PL/pgSQL execute their queries on opening, affecting performance and resource usage. [Tracking GitHub issue](https://github.com/cockroachdb/cockroach/issues/111479) -- `OPEN FOR EXECUTE` is not supported for opening cursors. [Tracking GitHub issue](https://github.com/cockroachdb/cockroach/issues/117744) +- Cursors opened in PL/pgSQL execute their queries on opening, affecting performance and resource usage. +- `OPEN FOR EXECUTE` is not supported for opening cursors. #### Exception Handling -- PL/pgSQL exception blocks cannot catch [transaction retry errors]({% link {{ page.version.version }}/transaction-retry-error-reference.md %}). [Tracking GitHub issue](https://github.com/cockroachdb/cockroach/issues/111446) -- `RAISE` statements cannot be annotated with names of schema objects related to the error (i.e., using `COLUMN`, `CONSTRAINT`, `DATATYPE`, `TABLE`, or `SCHEMA`). [Tracking GitHub issue](https://github.com/cockroachdb/cockroach/issues/106237) -- `RAISE` statements message the client directly, and do not produce log output. [Tracking GitHub issue](https://github.com/cockroachdb/cockroach/issues/117750) -- `ASSERT` debugging checks are not supported. [Tracking GitHub issue](https://github.com/cockroachdb/cockroach/issues/117744) +- PL/pgSQL exception blocks cannot catch [transaction retry errors]({% link {{ page.version.version }}/transaction-retry-error-reference.md %}). +- `RAISE` statements cannot be annotated with names of schema objects related to the error (i.e., using `COLUMN`, `CONSTRAINT`, `DATATYPE`, `TABLE`, or `SCHEMA`). +- `RAISE` statements message the client directly, and do not produce log output. +- `ASSERT` debugging checks are not supported. ### Limitations in User-Defined Functions (UDFs) and Stored Procedures -- Transactions cannot be run within stored procedures. [Tracking GitHub issue](https://github.com/cockroachdb/cockroach/issues/115294) -- UDFs and stored procedures cannot call other UDFs or stored procedures from within their bodies. [Tracking GitHub issue](https://github.com/cockroachdb/cockroach/issues/88198) -- DDL statements (e.g., `CREATE TABLE`, `CREATE INDEX`) are not allowed within UDFs or procedures. [Tracking GitHub issue](https://github.com/cockroachdb/cockroach/issues/110080) -- UDF and stored procedure definitions do not support `OUT` and `INOUT` argument modes. [Tracking GitHub issue](https://github.com/cockroachdb/cockroach/issues/100405) -- The `setval` function cannot be resolved when used inside UDF bodies. [Tracking GitHub issue](https://github.com/cockroachdb/cockroach/issues/110860) +- Transactions cannot be run within stored procedures. +- UDFs and stored procedures cannot call other UDFs or stored procedures from within their bodies. +- DDL statements (e.g., `CREATE TABLE`, `CREATE INDEX`) are not allowed within UDFs or procedures. +- UDF and stored procedure definitions do not support `OUT` and `INOUT` argument modes. +- The `setval` function cannot be resolved when used inside UDF bodies. ### SQL Optimizer and Read Committed Isolation #### Optimizer and Locking Behavior - The SQL optimizer has limitations under certain isolation levels: - - The new implementation of `SELECT FOR UPDATE` is not yet the default setting under `SERIALIZABLE` isolation. It can be used under `SERIALIZABLE` isolation by setting the `optimizer_use_lock_op_for_serializable` [session setting]({% link {{ page.version.version }}/session-variables.md %}) to `true`. [Tracking GitHub issue](https://github.com/cockroachdb/cockroach/issues/114737) - - `SELECT FOR UPDATE` does not lock completely-`NULL` column families in multi-column-family tables. [Tracking GitHub issue](https://github.com/cockroachdb/cockroach/issues/116836) + - The new implementation of `SELECT FOR UPDATE` is not yet the default setting under `SERIALIZABLE` isolation. It can be used under `SERIALIZABLE` isolation by setting the `optimizer_use_lock_op_for_serializable` [session setting]({% link {{ page.version.version }}/session-variables.md %}) to `true`. + - `SELECT FOR UPDATE` does not lock completely-`NULL` column families in multi-column-family tables. #### Read Committed Isolation Limitations - Several capabilities are not yet supported with [Read Committed isolation]({% link {{ page.version.version }}/read-committed.md %}): - - Schema changes (e.g., [`CREATE TABLE`]({% link {{ page.version.version }}/create-table.md %}), [`CREATE SCHEMA`]({% link {{ page.version.version }}/create-schema.md %}), [`CREATE INDEX`]({% link {{ page.version.version }}/create-index.md %})) cannot be performed within explicit `READ COMMITTED` transactions, and will cause transactions to abort. As a workaround, [set the transaction's isolation level]({% link {{ page.version.version }}/read-committed.md %}#set-the-current-transaction-to-read-committed) to `SERIALIZABLE`. [Tracking GitHub issue](https://github.com/cockroachdb/cockroach/issues/114778) + - Schema changes (e.g., [`CREATE TABLE`]({% link {{ page.version.version }}/create-table.md %}), [`CREATE SCHEMA`]({% link {{ page.version.version }}/create-schema.md %}), [`CREATE INDEX`]({% link {{ page.version.version }}/create-index.md %})) cannot be performed within explicit `READ COMMITTED` transactions, and will cause transactions to abort. As a workaround, [set the transaction's isolation level]({% link {{ page.version.version }}/read-committed.md %}#set-the-current-transaction-to-read-committed) to `SERIALIZABLE`. - `READ COMMITTED` transactions performing `INSERT`, `UPDATE`, or `UPSERT` cannot access [`REGIONAL BY ROW`]({% link {{ page.version.version }}/table-localities.md %}#regional-by-row-tables) tables in which [`UNIQUE`]({% link {{ page.version.version }}/unique.md %}) and [`PRIMARY KEY`]({% link {{ page.version.version }}/primary-key.md %}) constraints exist, the region is not included in the constraint, and the region cannot be computed from the constraint columns. - - [Shared locks]({% link {{ page.version.version }}/read-committed.md %}#locking-reads) cannot yet be promoted to exclusive locks. [Tracking GitHub issue](https://github.com/cockroachdb/cockroach/issues/110435) - - [`SKIP LOCKED`]({% link {{ page.version.version }}/select-for-update.md %}#wait-policies) requests do not check for [replicated locks]({% link {{ page.version.version }}/architecture/transaction-layer.md %}#unreplicated-locks), which can be acquired by `READ COMMITTED` transactions. [Tracking GitHub issue](https://github.com/cockroachdb/cockroach/issues/110743) - - Multi-column-family checks during updates are not supported under `READ COMMITTED` isolation. [Tracking GitHub issue](https://github.com/cockroachdb/cockroach/issues/112488) + - [Shared locks]({% link {{ page.version.version }}/read-committed.md %}#locking-reads) cannot yet be promoted to exclusive locks. + - [`SKIP LOCKED`]({% link {{ page.version.version }}/select-for-update.md %}#wait-policies) requests do not check for [replicated locks]({% link {{ page.version.version }}/architecture/transaction-layer.md %}#unreplicated-locks), which can be acquired by `READ COMMITTED` transactions. + - Multi-column-family checks during updates are not supported under `READ COMMITTED` isolation. ### `CAST` expressions containing a subquery with an `ENUM` target are not supported -- Casting subqueries to ENUMs in views and UDFs is not supported. [Tracking GitHub issue](https://github.com/cockroachdb/cockroach/issues/108184) +- Casting subqueries to ENUMs in views and UDFs is not supported. ### Physical cluster replication @@ -90,28 +90,18 @@ This page describes newly identified limitations in the CockroachDB {{page.relea - Expressions (column, index, constraint) in tables. - [Tracking GitHub issue](https://github.com/cockroachdb/cockroach/issues/87699) - - Views. - [Tracking GitHub issue](https://github.com/cockroachdb/cockroach/issues/87699) - - Other user-defined functions. - [Tracking GitHub issue](https://github.com/cockroachdb/cockroach/issues/93049) - #### Limitations on expressions allowed within UDFs The following are not currently allowed within the body of a [UDF]({% link {{ page.version.version }}/user-defined-functions.md %}): - [Common table expressions]({% link {{ page.version.version }}/common-table-expressions.md %}) (CTE), recursive or non-recursive, are not supported in [user-defined functions]({% link {{ page.version.version }}/user-defined-functions.md %}) (UDF). That is, you cannot use a `WITH` clause in the body of a UDF. - [Tracking GitHub issue](https://github.com/cockroachdb/cockroach/issues/92961) - - References to other user-defined functions. - [Tracking GitHub issue](https://github.com/cockroachdb/cockroach/issues/93049) - ### Table-level restore will not restore user-defined functions {% include {{ page.version.version }}/known-limitations/restore-udf.md %} @@ -120,14 +110,10 @@ The following are not currently allowed within the body of a [UDF]({% link {{ pa In cases where the partition definition includes a comparison with `NULL` and a query constraint, incorrect query plans are returned. However, this case uses non-standard partitioning which defines partitions which could never hold values, so it is not likely to occur in production environments. -[Tracking GitHub issue](https://github.com/cockroachdb/cockroach/issues/82774) - ### `null_ordered_last` does not produce correct results with tuples By default, CockroachDB orders `NULL`s before all other values. For compatibility with PostgreSQL, the `null_ordered_last` [session variable]({% link {{ page.version.version }}/set-vars.md %}) was added, which changes the default to order `NULL`s after all other values. This works in most cases, due to some transformations CockroachDB makes in the optimizer to add extra ordering columns. However, it is broken when the ordering column is a tuple. -[Tracking GitHub issue](https://github.com/cockroachdb/cockroach/issues/93558) - ### Limitations for `DROP OWNED BY` [`DROP OWNED BY`]({% link {{ page.version.version }}/drop-owned-by.md %}) drops all owned objects as well as any [grants]({% link {{ page.version.version }}/grant.md %}) on objects not owned by the [role]({% link {{ page.version.version }}/security-reference/authorization.md %}#roles). @@ -140,8 +126,6 @@ By default, CockroachDB orders `NULL`s before all other values. For compatibilit [Spatial features]({% link {{ page.version.version }}/spatial-data-overview.md %}) are disabled due to an issue with macOS code signing for the [GEOS](https://libgeos.org/) libraries. Users needing spatial features on an ARM Mac may instead [use Rosetta](https://developer.apple.com/documentation/virtualization/running_intel_binaries_in_linux_vms_with_rosetta) to [run the Intel binary]({% link {{ page.version.version }}/install-cockroachdb-mac.md %}#install-binary) or use the [Docker image]({% link {{ page.version.version }}/install-cockroachdb-mac.md %}#use-docker) distribution. This is expected to be resolved in an upcoming 22.2 patch release. -[GitHub tracking issue](https://github.com/cockroachdb/cockroach/issues/93161) - ### Limited SQL cursor support {% include {{page.version.version}}/known-limitations/sql-cursors.md %} @@ -156,8 +140,6 @@ The following PostgreSQL syntax and features are currently unsupported for [trig {% include {{ page.version.version }}/sql/trigram-unsupported-syntax.md %} -[Tracking GitHub Issue](https://github.com/cockroachdb/cockroach/issues/41285) - ### Statements containing multiple modification subqueries of the same table are disallowed Statements containing multiple modification subqueries mutating the same row could cause corruption. These statements are disallowed by default, but you can enable multiple modification subqueries with one the following: @@ -167,32 +149,22 @@ Statements containing multiple modification subqueries mutating the same row cou Note that if multiple mutations inside the same statement affect different tables with [`FOREIGN KEY`]({% link {{ page.version.version }}/foreign-key.md %}) relations and `ON CASCADE` clauses between them, the results will be different from what is expected in PostgreSQL. -[Tracking GitHub Issue](https://github.com/cockroachdb/cockroach/issues/70731) - ### `transaction_rows_read_err` and `transaction_rows_written_err` do not halt query execution The `transaction_rows_read_err` and `transaction_rows_written_err` [session settings]({% link {{ page.version.version }}/set-vars.md %}) limit the number of rows read or written by a single [transaction]({% link {{ page.version.version }}/transactions.md %}#limit-the-number-of-rows-written-or-read-in-a-transaction). These session settings will fail the transaction with an error, but not until the current query finishes executing and the results have been returned to the client. -[Tracking GitHub Issue](https://github.com/cockroachdb/cockroach/issues/70473) - ### `sql.guardrails.max_row_size_err` misses indexed virtual computed columns The `sql.guardrails.max_row_size_err` [cluster setting]({% link {{ page.version.version }}/cluster-settings.md %}) misses large rows caused by indexed virtual computed columns. This is because the guardrail only checks the size of primary key rows, not secondary index rows. -[Tracking GitHub Issue](https://github.com/cockroachdb/cockroach/issues/69540) - ### CockroachDB does not allow inverted indexes with `STORING` CockroachDB does not allow inverted indexes with a [`STORING` column]({% link {{ page.version.version }}/create-index.md %}#store-columns). -[Tracking GitHub Issue](https://github.com/cockroachdb/cockroach/issues/88278) - ### `AS OF SYSTEM TIME` does not support placeholders CockroachDB does not support placeholders in [`AS OF SYSTEM TIME`]({% link {{ page.version.version }}/as-of-system-time.md %}). The time value must be embedded in the SQL string. -[Tracking GitHub issue](https://github.com/cockroachdb/cockroach/issues/30955) - ### CockroachDB does not properly optimize some left and anti joins with GIN indexes [Left joins]({% link {{ page.version.version }}/joins.md %}#left-outer-joins) and anti joins involving [`JSONB`]({% link {{ page.version.version }}/jsonb.md %}), [`ARRAY`]({% link {{ page.version.version }}/array.md %}), or [spatial-typed]({% link {{ page.version.version }}/export-spatial-data.md %}) columns with a multi-column or [partitioned]({% link {{ page.version.version }}/alter-index.md %}#partition-by) [GIN index](inverted-indexes.html) will not take advantage of the index if the prefix columns of the index are unconstrained, or if they are constrained to multiple, constant values. @@ -342,22 +314,16 @@ UNION ALL SELECT * FROM t1 LEFT JOIN t2 ON st_contains(t1.geom, t2.geom) AND t2. (54 rows) ``` -[Tracking GitHub Issue](https://github.com/cockroachdb/cockroach/issues/59649) - ### Inverted join for `tsvector` and `tsquery` types is not supported CockroachDB cannot index-accelerate queries with `@@` predicates when both sides of the operator are variables. -[Tracking GitHub issue](https://github.com/cockroachdb/cockroach/issues/102731) - ### Using `RESTORE` with multi-region table localities - {% include {{ page.version.version }}/known-limitations/restore-tables-non-multi-reg.md %} - {% include {{ page.version.version }}/known-limitations/restore-multiregion-match.md %} -[Tracking GitHub Issue](https://github.com/cockroachdb/cockroach/issues/71071) - ### `SET` does not `ROLLBACK` in a transaction {% include {{page.version.version}}/known-limitations/set-transaction-no-rollback.md %} @@ -392,7 +358,7 @@ CockroachDB cannot index-accelerate queries with `@@` predicates when both sides {% include {{page.version.version}}/known-limitations/stats-refresh-upgrade.md %} {% include {{ page.version.version }}/known-limitations/forecasted-stats-limitations.md %} -- CockroachDB does not collect statistics for [virtual computed columns]({% link {{ page.version.version }}/computed-columns.md %}). This can prevent the [optimizer]({% link {{ page.version.version }}/cost-based-optimizer.md %}) from accurately calculating the cost of scanning an index on a virtual column, and, transitively, the cost of scanning an [expression index]({% link {{ page.version.version }}/expression-indexes.md %}). [Tracking GitHub issue](https://github.com/cockroachdb/cockroach/issues/68254) +- CockroachDB does not collect statistics for [virtual computed columns]({% link {{ page.version.version }}/computed-columns.md %}). This can prevent the [optimizer]({% link {{ page.version.version }}/cost-based-optimizer.md %}) from accurately calculating the cost of scanning an index on a virtual column, and, transitively, the cost of scanning an [expression index]({% link {{ page.version.version }}/expression-indexes.md %}). ### Differences in syntax and behavior between CockroachDB and PostgreSQL @@ -404,49 +370,33 @@ For a list of known differences in syntax and behavior between CockroachDB and P CockroachDB does not currently support multiple arbiter indexes for [`INSERT ON CONFLICT DO UPDATE`]({% link {{ page.version.version }}/insert.md %}#on-conflict-clause), and will return an error if there are multiple unique or exclusion constraints matching the `ON CONFLICT DO UPDATE` specification. -[Tracking GitHub Issue](https://github.com/cockroachdb/cockroach/issues/53170) - ### Spatial support limitations CockroachDB supports efficiently storing and querying [spatial data]({% link {{ page.version.version }}/export-spatial-data.md %}), with the following limitations: - Not all [PostGIS spatial functions](https://postgis.net/docs/reference.html) are supported. - [Tracking GitHub Issue](https://github.com/cockroachdb/cockroach/issues/49203) - - The `AddGeometryColumn` [spatial function]({% link {{ page.version.version }}/functions-and-operators.md %}#spatial-functions) only allows constant arguments. - [Tracking GitHub Issue](https://github.com/cockroachdb/cockroach/issues/49402) - - The `AddGeometryColumn` spatial function only allows the `true` value for its `use_typmod` parameter. - [Tracking GitHub Issue](https://github.com/cockroachdb/cockroach/issues/49448) - - CockroachDB does not support the `@` operator. Instead of using `@` in spatial expressions, we recommend using the inverse, with `~`. For example, instead of `a @ b`, use `b ~ a`. - [Tracking GitHub Issue](https://github.com/cockroachdb/cockroach/issues/56124) - - CockroachDB does not yet support [`INSERT`]({% link {{ page.version.version }}/insert.md %})s into the [`spatial_ref_sys` table]({% link {{ page.version.version }}/architecture/glossary.md %}#spatial-system-tables). This limitation also blocks the [`ogr2ogr -f PostgreSQL` file conversion command](https://gdal.org/programs/ogr2ogr.html#cmdoption-ogr2ogr-f). - [Tracking GitHub Issue](https://github.com/cockroachdb/cockroach/issues/55903) - - CockroachDB does not yet support [k-nearest neighbors](https://wikipedia.org/wiki/K-nearest_neighbors_algorithm). - [Tracking GitHub Issue](https://github.com/cockroachdb/cockroach/issues/55227) - - CockroachDB does not support using [schema name prefixes]({% link {{ page.version.version }}/sql-name-resolution.md %}#how-name-resolution-works) to refer to [data types]({% link {{ page.version.version }}/data-types.md %}) with type modifiers (e.g., `public.geometry(linestring, 4326)`). Instead, use fully-unqualified names to refer to data types with type modifiers (e.g., `geometry(linestring,4326)`). Note that, in [`IMPORT PGDUMP`]({% link molt/migrate-to-cockroachdb.md %}) output, [`GEOMETRY` and `GEOGRAPHY`]({% link {{ page.version.version }}/export-spatial-data.md %}) data type names are prefixed by `public.`. If the type has a type modifier, you must remove the `public.` from the type name in order for the statements to work in CockroachDB. - [Tracking GitHub Issue](https://github.com/cockroachdb/cockroach/issues/56492) - ### Limitations for composite types - {% include {{page.version.version}}/cdc/types-udt-composite-general.md %} The following limitations apply: - {% include {{page.version.version}}/cdc/avro-udt-composite.md %} - {% include {{page.version.version}}/cdc/csv-udt-composite.md %} -- Updating subfields of composite types using dot syntax results in a syntax error. [Tracking GitHub issue](https://github.com/cockroachdb/cockroach/issues/102984) +- Updating subfields of composite types using dot syntax results in a syntax error. ### Enterprise `BACKUP` does not capture database/table/column comments @@ -454,8 +404,6 @@ The [`COMMENT ON`]({% link {{ page.version.version }}/comment-on.md %}) statemen As a workaround, take a cluster backup instead, as the `system.comments` table is included in cluster backups. -[Tracking GitHub Issue](https://github.com/cockroachdb/cockroach/issues/44396) - ### `SHOW BACKUP` does not support symlinks for nodelocal {% include {{page.version.version}}/known-limitations/show-backup-symlink.md %} @@ -468,24 +416,16 @@ Accessing the DB Console for a secure cluster now requires login information (i. CockroachDB tries to optimize most comparisons operators in `WHERE` and `HAVING` clauses into constraints on SQL indexes by only accessing selected rows. This is done for `LIKE` clauses when a common prefix for all selected rows can be determined in the search pattern (e.g., `... LIKE 'Joe%'`). However, this optimization is not yet available if the `ESCAPE` keyword is also used. -[Tracking GitHub Issue](https://github.com/cockroachdb/cockroach/issues/30192) - -[Tracking GitHub Issue](https://github.com/cockroachdb/cockroach/issues/35706) - ### Current sequence value not checked when updating min/max value Altering the minimum or maximum value of a series does not check the current value of a series. This means that it is possible to silently set the maximum to a value less than, or a minimum value greater than, the current value. -[Tracking GitHub Issue](https://github.com/cockroachdb/cockroach/issues/23719) - ### Using `default_int_size` session variable in batch of statements When setting the `default_int_size` [session variable]({% link {{ page.version.version }}/set-vars.md %}) in a batch of statements such as `SET default_int_size='int4'; SELECT 1::IN`, the `default_int_size` variable will not take affect until the next statement. This happens because statement parsing takes place asynchronously from statement execution. As a workaround, set `default_int_size` via your database driver, or ensure that `SET default_int_size` is in its own statement. -[Tracking GitHub Issue](https://github.com/cockroachdb/cockroach/issues/32846) - ### `COPY` syntax not supported by CockroachDB {% include {{ page.version.version }}/known-limitations/copy-syntax.md %} @@ -498,8 +438,6 @@ As a workaround, set `default_int_size` via your database driver, or ensure that {% include {{ page.version.version }}/known-limitations/partitioning-with-placeholders.md %} -[Tracking GitHub Issue](https://github.com/cockroachdb/cockroach/issues/19464) - ### Dropping a single partition {% include {{ page.version.version }}/known-limitations/drop-single-partition.md %} @@ -533,8 +471,6 @@ ERROR: nextval(): unimplemented: cannot evaluate scalar expressions containing s SQLSTATE: 0A000 ~~~ -[Tracking GitHub Issue](https://github.com/cockroachdb/cockroach/issues/42508) - ### Available capacity metric in the DB Console {% include {{ page.version.version }}/misc/available-capacity-metric.md %} @@ -609,8 +545,6 @@ Many string operations are not properly overloaded for [collated strings]({% lin pq: unsupported binary operator: || ~~~ -[Tracking GitHub Issue](https://github.com/cockroachdb/cockroach/issues/10679) - ### Max size of a single column family When creating or updating a row, if the combined size of all values in a single [column family]({% link {{ page.version.version }}/column-families.md %}) exceeds the [max range size]({% link {{ page.version.version }}/configure-replication-zones.md %}#range-max-bytes) for the table, the operation may fail, or cluster performance may suffer. @@ -644,8 +578,6 @@ HINT: You have attempted to use a feature that is not yet implemented. See: https://github.com/cockroachdb/cockroach/issues/46414 ~~~ -[Tracking GitHub Issue](https://github.com/cockroachdb/cockroach/issues/46414) - ### CockroachDB does not test for all connection failure scenarios CockroachDB servers rely on the network to report when a TCP connection fails. In most scenarios when a connection fails, the network immediately reports a connection failure, resulting in a `Connection refused` error. @@ -656,20 +588,14 @@ However, if there is no host at the target IP address, or if a firewall rule blo - Configure any active network firewalls to allow node-to-node traffic. - Verify that orchestration tools (e.g., Kubernetes) are configured to use the correct network connection information. -[Tracking GitHub Issue](https://github.com/cockroachdb/cockroach/issues/53410) - ### Some column-dropping schema changes do not roll back properly Some [schema changes]({% link {{ page.version.version }}/online-schema-changes.md %}) that [drop columns]({% link {{ page.version.version }}/alter-table.md %}#drop-column) cannot be [rolled back]({% link {{ page.version.version }}/rollback-transaction.md %}) properly. In some cases, the rollback will succeed, but the column data might be partially or totally missing, or stale due to the asynchronous nature of the schema change. -[Tracking GitHub Issue](https://github.com/cockroachdb/cockroach/issues/46541) - In other cases, the rollback will fail in such a way that will never be cleaned up properly, leaving the table descriptor in a state where no other schema changes can be run successfully. -[Tracking GitHub Issue](https://github.com/cockroachdb/cockroach/issues/47712) - To reduce the chance that a column drop will roll back incorrectly: - Perform column drops in transactions separate from other schema changes. This ensures that other schema change failures will not cause the column drop to be rolled back. @@ -689,8 +615,6 @@ There is no guaranteed state switch from `DECOMMISSIONING` to `DECOMMISSIONED` i This is because the state flip is effected by the CLI program at the end. Only the CLI (or its underlying API call) is able to finalize the "decommissioned" state. If the command is interrupted, or `--wait=none` is used, the state will only flip to "decommissioned" when the CLI program is run again after decommissioning has done all its work. -[Tracking GitHub issue](https://github.com/cockroachdb/cockroach/issues/94430) - ### Remove a `UNIQUE` index created as part of `CREATE TABLE` {% include {{ page.version.version }}/known-limitations/drop-unique-index-from-create-table.md %} diff --git a/src/current/v23.2/partial-indexes.md b/src/current/v23.2/partial-indexes.md index ba2b096d089..2ef5d2df87f 100644 --- a/src/current/v23.2/partial-indexes.md +++ b/src/current/v23.2/partial-indexes.md @@ -88,9 +88,9 @@ You can force queries [to use a specific partial index]({% link {{ page.version. ## Known limitations -- CockroachDB does not currently support [`IMPORT`]({% link {{ page.version.version }}/import.md %}) statements on tables with partial indexes. See [tracking issue](https://github.com/cockroachdb/cockroach/issues/50225). -- CockroachDB does not currently support multiple arbiter indexes for `INSERT ON CONFLICT DO UPDATE`, and will return an error if there are multiple unique or exclusion constraints matching the `ON CONFLICT DO UPDATE` specification. See [tracking issue](https://github.com/cockroachdb/cockroach/issues/53170). -- CockroachDB prevents a column from being dropped using [`ALTER TABLE ... DROP COLUMN`]({% link {{ page.version.version }}/alter-table.md %}#drop-column) if it is referenced by a partial index predicate. To drop such a column, the partial indexes need to be dropped first using [`DROP INDEX`]({% link {{ page.version.version }}/drop-index.md %}). See [tracking issue](https://github.com/cockroachdb/cockroach/issues/97813). +- CockroachDB does not currently support [`IMPORT`]({% link {{ page.version.version }}/import.md %}) statements on tables with partial indexes. +- CockroachDB does not currently support multiple arbiter indexes for `INSERT ON CONFLICT DO UPDATE`, and will return an error if there are multiple unique or exclusion constraints matching the `ON CONFLICT DO UPDATE` specification. +- CockroachDB prevents a column from being dropped using [`ALTER TABLE ... DROP COLUMN`]({% link {{ page.version.version }}/alter-table.md %}#drop-column) if it is referenced by a partial index predicate. To drop such a column, the partial indexes need to be dropped first using [`DROP INDEX`]({% link {{ page.version.version }}/drop-index.md %}). ## Examples diff --git a/src/current/v23.2/postgresql-compatibility.md b/src/current/v23.2/postgresql-compatibility.md index e77ab6c2168..cedac7b7f14 100644 --- a/src/current/v23.2/postgresql-compatibility.md +++ b/src/current/v23.2/postgresql-compatibility.md @@ -27,7 +27,7 @@ The following PostgreSQL features are partially supported in CockroachDB {{ page ### Multiple active portals -CockroachDB {{ page.version.version }} supports pgwire's multiple active portals as a [preview feature]({% link {{ page.version.version }}/cockroachdb-feature-availability.md %}#features-in-preview). The feature is off by default, and can be enabled by setting the [session variable `multiple_active_portals_enabled`]({% link {{ page.version.version }}/set-vars.md %}#multiple-active-portals-enabled) to `true`. +CockroachDB {{ page.version.version }} supports pgwire's multiple active portals as a [preview feature]({% link {{ page.version.version }}/cockroachdb-feature-availability.md %}#features-in-preview). The feature is off by default, and can be enabled by setting the [session variable `multiple_active_portals_enabled`]({% link {{ page.version.version }}/set-vars.md %}#multiple-active-portals-enabled) to `true`. When set to `true`, multiple portals can be open at the same time, with their execution interleaved with each other. In other words, these portals can be paused. diff --git a/src/current/v23.2/query-spatial-data.md b/src/current/v23.2/query-spatial-data.md index 7b5f5aadef4..cd358d31dfd 100644 --- a/src/current/v23.2/query-spatial-data.md +++ b/src/current/v23.2/query-spatial-data.md @@ -24,7 +24,7 @@ Just as CockroachDB strives for [PostgreSQL compatibility]({% link {{ page.versi CockroachDB does not implement the full list of PostGIS built-in functions and operators. Also, [spatial indexing works differently]({% link {{ page.version.version }}/spatial-indexes.md %}) (see the [Performance](#performance) section below). For a list of the spatial functions CockroachDB supports, see [Geospatial functions]({% link {{ page.version.version }}/functions-and-operators.md %}#spatial-functions). -If your application needs support for functions that are not yet implemented, check the [meta-issue for built-in function support on GitHub](https://github.com/cockroachdb/cockroach/issues/49203), which describes how to find an issue for the built-in function(s) you need. +If your application needs support for functions that are not yet implemented, please [contact Support](https://support.cockroachlabs.com). For a list of other known limitations, see [Known Limitations]({% link {{ page.version.version }}/known-limitations.md %}#spatial-support-limitations). diff --git a/src/current/v23.2/restore.md b/src/current/v23.2/restore.md index 72f124d4c0c..5c8d70c00f8 100644 --- a/src/current/v23.2/restore.md +++ b/src/current/v23.2/restore.md @@ -281,7 +281,7 @@ CockroachDB does **not** support incremental-only restores. - {% include {{ page.version.version }}/known-limitations/restore-multiregion-match.md %} -The ordering of regions and how region matching is determined is a known limitation. See the [Known Limitations](#known-limitations) section for the tracking issues on limitations around `RESTORE` and multi-region support. +The ordering of regions and how region matching is determined is a known limitation. For more on multi-region databases, see the [Multi-Region Capabilities Overview]({% link {{ page.version.version }}/multiregion-overview.md %}). diff --git a/src/current/v23.2/spatial-tutorial.md b/src/current/v23.2/spatial-tutorial.md index 1cfbecc588f..cb93e055025 100644 --- a/src/current/v23.2/spatial-tutorial.md +++ b/src/current/v23.2/spatial-tutorial.md @@ -964,7 +964,7 @@ Time: 1.447s total (execution 1.446s / network 0.000s) Unfortunately, this query is a bit slower than you would like: about 1.5 seconds on a single-node [`cockroach demo`]({% link {{ page.version.version }}/cockroach-demo.md %}) cluster on a laptop. There are several reasons for this: 1. You haven't created any indexes at all yet. The query is likely to be doing full table scans, which you will need to hunt down with [`EXPLAIN`]({% link {{ page.version.version }}/explain.md %}). -1. CockroachDB does not yet have built-in support for index-based nearest neighbor queries. If this feature is important to you, please comment with some information about your use case on [cockroachdb/cockroach#55227](https://github.com/cockroachdb/cockroach/issues/55227). +1. CockroachDB does not yet have built-in support for index-based nearest neighbor queries. Let's look at the `EXPLAIN` output to see if there is something that can be done to improve this query's performance: diff --git a/src/current/v23.2/sql-feature-support.md b/src/current/v23.2/sql-feature-support.md index afcba09096c..e109ce56523 100644 --- a/src/current/v23.2/sql-feature-support.md +++ b/src/current/v23.2/sql-feature-support.md @@ -193,7 +193,7 @@ XML | ✗ | Standard | XML data can be stored as `BYTES`, but we do not offer XM Common table expressions | Partial | Common Extension | [Common Table Expressions documentation]({% link {{ page.version.version }}/common-table-expressions.md %}) Stored procedures | Partial | Common Extension | [Stored procedures documentation]({% link {{ page.version.version }}/stored-procedures.md %}) Cursors | Partial | Standard | [Cursors documentation]({% link {{ page.version.version }}/cursors.md %}) - Triggers | ✗ | Standard | Execute a set of commands whenever a specified event occurs. [GitHub issue tracking trigger support](https://github.com/cockroachdb/cockroach/issues/28296). + Triggers | ✗ | Standard | Execute a set of commands whenever a specified event occurs. Row-level TTL | ✓ | Common Extension | Automatically delete expired rows. For more information, see [Batch-delete expired data with Row-Level TTL]({% link {{ page.version.version }}/row-level-ttl.md %}). User-defined functions | Partial | Standard | [User-Defined Functions documentation]({% link {{ page.version.version }}/user-defined-functions.md %}) - `CREATE EXTENSION "uuid-ossp"` | ✓ | Common Extension | Provides access to several additional [UUID generation functions]({% link {{ page.version.version }}/functions-and-operators.md %}#id-generation-functions). Note that these UUID functions are available without typing `CREATE EXTENSION "uuid-ossp"`. CockroachDB does not have full support for `CREATE EXTENSION`. [GitHub issue tracking `CREATE EXTENSION` support](https://github.com/cockroachdb/cockroach/issues/74777). + `CREATE EXTENSION "uuid-ossp"` | ✓ | Common Extension | Provides access to several additional [UUID generation functions]({% link {{ page.version.version }}/functions-and-operators.md %}#id-generation-functions). Note that these UUID functions are available without typing `CREATE EXTENSION "uuid-ossp"`. CockroachDB does not have full support for `CREATE EXTENSION`. diff --git a/src/current/v23.2/sql-name-resolution.md b/src/current/v23.2/sql-name-resolution.md index 554a9a65583..000ae5bf2dd 100644 --- a/src/current/v23.2/sql-name-resolution.md +++ b/src/current/v23.2/sql-name-resolution.md @@ -37,8 +37,7 @@ If you are upgrading to {{ page.version.version }}, take any combination of the - [Create new schemas]({% link {{ page.version.version }}/create-schema.md %}) in databases on your cluster. After the schemas are created, use [`ALTER TABLE ... RENAME`]({% link {{ page.version.version }}/alter-table.md %}#rename-to), [`ALTER SEQUENCE ... RENAME`]({% link {{ page.version.version }}/alter-sequence.md %}), [`ALTER TYPE ... RENAME`]({% link {{ page.version.version }}/alter-type.md %}), or [`ALTER VIEW ... RENAME`]({% link {{ page.version.version }}/alter-view.md %}) statements to move objects between databases as needed. To move objects between schemas, use [`ALTER TABLE ... SET SCHEMA`]({% link {{ page.version.version }}/alter-table.md %}#set-schema), [`ALTER SEQUENCE ... SET SCHEMA`]({% link {{ page.version.version }}/alter-sequence.md %}), or [`ALTER VIEW ... SET SCHEMA`]({% link {{ page.version.version }}/alter-view.md %}). -- If your cluster contains cross-database references (e.g., a cross-database foreign key reference, or a cross-database view reference), use the relevant [`ALTER TABLE`]({% link {{ page.version.version }}/alter-table.md %}), [`ALTER SEQUENCE`]({% link {{ page.version.version }}/alter-sequence.md %}), [`ALTER TYPE`]({% link {{ page.version.version }}/alter-type.md %}), or [`ALTER VIEW `]({% link {{ page.version.version }}/alter-view.md %}) statements to move any cross-referencing objects to the same database, but different schemas. Cross-database object references were allowed in earlier versions of CockroachDB to make database-object naming hierarchies more flexible for users. In v20.2, creating cross-database references are disabled for [foreign keys](foreign-key.html), [views]({% link {{ page.version.version }}/views.md %}), and [sequence ownership]({% link {{ page.version.version }}/create-sequence.md %}). For details, see [tracking issue](https://github.com/cockroachdb/cockroach/issues/55791). - +- If your cluster contains cross-database references (e.g., a cross-database foreign key reference, or a cross-database view reference), use the relevant [`ALTER TABLE`]({% link {{ page.version.version }}/alter-table.md %}), [`ALTER SEQUENCE`]({% link {{ page.version.version }}/alter-sequence.md %}), [`ALTER TYPE`]({% link {{ page.version.version }}/alter-type.md %}), or [`ALTER VIEW `]({% link {{ page.version.version }}/alter-view.md %}) statements to move any cross-referencing objects to the same database, but different schemas. Cross-database object references were allowed in earlier versions of CockroachDB to make database-object naming hierarchies more flexible for users. In v20.2, creating cross-database references are disabled for [foreign keys](foreign-key.html), [views]({% link {{ page.version.version }}/views.md %}), and [sequence ownership]({% link {{ page.version.version }}/create-sequence.md %}). ## How name resolution works Name resolution occurs separately to **look up existing objects** and to diff --git a/src/current/v23.2/srid-4326.md b/src/current/v23.2/srid-4326.md index cfd15368e47..288af2b7376 100644 --- a/src/current/v23.2/srid-4326.md +++ b/src/current/v23.2/srid-4326.md @@ -114,7 +114,7 @@ ERROR: st_contains(): operation on mixed SRIDs forbidden: (Point, 0) != (Point, ## Known limitations {{site.data.alerts.callout_info}} -Defining a custom SRID by inserting rows into [`spatial_ref_sys`]({% link {{ page.version.version }}/architecture/glossary.md %}#spatial_ref_sys) is not currently supported. For more information, see the tracking issue [cockroachdb/cockroach#55903](https://github.com/cockroachdb/cockroach/issues/55903). +Defining a custom SRID by inserting rows into [`spatial_ref_sys`]({% link {{ page.version.version }}/architecture/glossary.md %}#spatial_ref_sys) is not currently supported. {{site.data.alerts.end}} ## See also diff --git a/src/current/v23.2/st_union.md b/src/current/v23.2/st_union.md index 290e6481fe6..33c491fad88 100644 --- a/src/current/v23.2/st_union.md +++ b/src/current/v23.2/st_union.md @@ -12,7 +12,7 @@ Given a set of shapes (e.g., from a [selection query]({% link {{ page.version.ve - [`GEOMETRY`]({% link {{ page.version.version }}/architecture/glossary.md %}#geometry) {{site.data.alerts.callout_info}} -The non-aggregate version of `ST_Union` is not yet implemented. For more information, see [cockroach#49064](https://github.com/cockroachdb/cockroach/issues/49064). +The non-aggregate version of `ST_Union` is not yet implemented. {{site.data.alerts.end}} {{site.data.alerts.callout_info}} diff --git a/src/current/v23.2/temporary-tables.md b/src/current/v23.2/temporary-tables.md index bd3a9adefdd..8b93a25882c 100644 --- a/src/current/v23.2/temporary-tables.md +++ b/src/current/v23.2/temporary-tables.md @@ -10,7 +10,7 @@ docs_area: develop To create a temp table, add `TEMP`/`TEMPORARY` to a [`CREATE TABLE`]({% link {{ page.version.version }}/create-table.md %}) or [`CREATE TABLE AS`]({% link {{ page.version.version }}/create-table-as.md %}) statement. For full syntax details, see the [`CREATE TABLE`]({% link {{ page.version.version }}/create-table.md %}#synopsis) and [`CREATE TABLE AS`]({% link {{ page.version.version }}/create-table-as.md %}#synopsis) pages. For example usage, see [Examples](#examples). {{site.data.alerts.callout_info}} -{% include feature-phases/preview.md %} For details, see the tracking issue [cockroachdb/cockroach#46260](https://github.com/cockroachdb/cockroach/issues/46260). +{% include feature-phases/preview.md %} {{site.data.alerts.end}} {{site.data.alerts.callout_info}} diff --git a/src/current/v23.2/trigram-indexes.md b/src/current/v23.2/trigram-indexes.md index 474b258163a..5127f46895d 100644 --- a/src/current/v23.2/trigram-indexes.md +++ b/src/current/v23.2/trigram-indexes.md @@ -350,7 +350,7 @@ CREATE INDEX ON t USING GIN ((json_col->>'json_text_field')) ## Unsupported features -The following PostgreSQL syntax and features are currently unsupported. For details, see the [tracking issue](https://github.com/cockroachdb/cockroach/issues/41285). +The following PostgreSQL syntax and features are currently unsupported. {% include {{ page.version.version }}/sql/trigram-unsupported-syntax.md %} diff --git a/src/current/v23.2/upgrade-cockroach-version.md b/src/current/v23.2/upgrade-cockroach-version.md index e7bff0217a9..e41fed2eb9e 100644 --- a/src/current/v23.2/upgrade-cockroach-version.md +++ b/src/current/v23.2/upgrade-cockroach-version.md @@ -142,16 +142,16 @@ By default, after all nodes are running the new version, the upgrade process wil When upgrading from {{ previous_version }} to {{ page.version.version }}, certain features and performance improvements will be enabled only after finalizing the upgrade, including but not limited to: -- The coalescing of storage ranges for each table, index, or partition (collectively referred to as "schema objects") into a single range when individual schema objects are smaller than the default configured maximum range size (controlled using zone configs, specifically the `range_max_bytes parameter`). This change improves scalability with respect to the number of schema objects, since the underlying range count is no longer a potential performance bottleneck. After finalizing the upgrade to v23.2, you may observe a round of range merges and snapshot transfers. To disable this optimization, **before finalizing the upgrade**, set the `spanconfig.storage_coalesce_adjacent.enabled` [cluster setting]({% link {{ page.version.version }}/cluster-settings.md %}) to `false`. See the [v23.1 release notes]({% link releases/v23.1.md %}) for `SHOW RANGES` for more details. [#102961][#102961] -- The new output log format, which allows configuration of a time zone in log output. Before configuring a time zone, the cluster must be finalized on v23.2. [#104265][#104265] -- Performance improvements when a node reclaims disk space. [#106177][#106177] -- The following [admission control]({% link {{ page.version.version }}/admission-control.md %}#operations-subject-to-admission-control) mechanisms, which help to maintain cluster performance and availability when some nodes experience high load:
  • Delete operations
  • Replication
  • [#98308][#98308] -- Collecting a statement diagnostic bundle for a particular plan. The existing fingerprint-based matching has been extended to also include plan-gist-based matching and "anti-matching" (collecting a bundle for any plan other than the provided plan gist). [#105477][#105477] -- A new system table, `system.region_liveness`, that tracks the availability and the timestamp of the latest unavailability for each cluster region. [#107903][#107903] -- The ability of a `WaitPolicy_Error` request to push the timestamp of a transaction with a lower priority. [#108190][#108190] -- Configuring a changefeed with the `lagging_ranges_threshold` or `lagging_ranges_polling_interval` [changefeed options]({% link {{ page.version.version }}/create-changefeed.md %}#options). [#110649][#110649] -- Removal of the upgrade step `grantExecuteToPublicOnAllFunctions`, which is no longer required because post-serialization changes now grant `EXECUTE` on functions to the public role. [#114203][#114203] -- A fix to a bug that could allow a user to execute a user-defined function without the `EXECUTE` privilege on the function. If a user does not have the privilege, the user-defined function does not run and an error is logged. [#114203][#114203] +- The coalescing of storage ranges for each table, index, or partition (collectively referred to as "schema objects") into a single range when individual schema objects are smaller than the default configured maximum range size (controlled using zone configs, specifically the `range_max_bytes parameter`). This change improves scalability with respect to the number of schema objects, since the underlying range count is no longer a potential performance bottleneck. After finalizing the upgrade to v23.2, you may observe a round of range merges and snapshot transfers. To disable this optimization, **before finalizing the upgrade**, set the `spanconfig.storage_coalesce_adjacent.enabled` [cluster setting]({% link {{ page.version.version }}/cluster-settings.md %}) to `false`. See the [v23.1 release notes]({% link releases/v23.1.md %}) for `SHOW RANGES` for more details. #102961 +- The new output log format, which allows configuration of a time zone in log output. Before configuring a time zone, the cluster must be finalized on v23.2. #104265 +- Performance improvements when a node reclaims disk space. #106177 +- The following [admission control]({% link {{ page.version.version }}/admission-control.md %}#operations-subject-to-admission-control) mechanisms, which help to maintain cluster performance and availability when some nodes experience high load:
    • Delete operations
    • Replication
    • #98308 +- Collecting a statement diagnostic bundle for a particular plan. The existing fingerprint-based matching has been extended to also include plan-gist-based matching and "anti-matching" (collecting a bundle for any plan other than the provided plan gist). #105477 +- A new system table, `system.region_liveness`, that tracks the availability and the timestamp of the latest unavailability for each cluster region. #107903 +- The ability of a `WaitPolicy_Error` request to push the timestamp of a transaction with a lower priority. #108190 +- Configuring a changefeed with the `lagging_ranges_threshold` or `lagging_ranges_polling_interval` [changefeed options]({% link {{ page.version.version }}/create-changefeed.md %}#options). #110649 +- Removal of the upgrade step `grantExecuteToPublicOnAllFunctions`, which is no longer required because post-serialization changes now grant `EXECUTE` on functions to the public role. #114203 +- A fix to a bug that could allow a user to execute a user-defined function without the `EXECUTE` privilege on the function. If a user does not have the privilege, the user-defined function does not run and an error is logged. #114203 For more details about a given feature, refer to the [CockroachDB v23.2.0 release notes]({% link releases/v23.2.md %}#v23-2-0). @@ -339,13 +339,3 @@ In the event of catastrophic failure or corruption, the only option will be to s - [View Version Details]({% link {{ page.version.version }}/cockroach-version.md %}) - [Release notes for our latest version]({% link releases/{{page.version.version}}.md %}) -[#102961]: https://github.com/cockroachdb/cockroach/pull/102961 -[#104265]: https://github.com/cockroachdb/cockroach/pull/104265 -[#107474]: https://github.com/cockroachdb/cockroach/pull/107474 -[#106177]: https://github.com/cockroachdb/cockroach/pull/106177 -[#98308]: https://github.com/cockroachdb/cockroach/pull/98308 -[#105477]: https://github.com/cockroachdb/cockroach/pull/105477 -[#107903]: https://github.com/cockroachdb/cockroach/pull/107903 -[#108190]: https://github.com/cockroachdb/cockroach/pull/108190 -[#110649]: https://github.com/cockroachdb/cockroach/pull/110649 -[#114203]: https://github.com/cockroachdb/cockroach/pull/114203 diff --git a/src/current/v23.2/user-defined-functions.md b/src/current/v23.2/user-defined-functions.md index fb0684166e3..c75953ea53f 100644 --- a/src/current/v23.2/user-defined-functions.md +++ b/src/current/v23.2/user-defined-functions.md @@ -296,45 +296,21 @@ For a deep-dive demo on UDFs, watch the following video: User-defined functions are not currently supported in: - Expressions (column, index, constraint) in tables. - - [Tracking GitHub issue](https://github.com/cockroachdb/cockroach/issues/87699) - - Views. - - [Tracking GitHub issue](https://github.com/cockroachdb/cockroach/issues/87699) - - Other user-defined functions. - - [Tracking GitHub issue](https://github.com/cockroachdb/cockroach/issues/93049) - ### Limitations on UDF creation The following cannot be used in UDF definitions: - `OUT` and `INOUT` argument modes. - - [Tracking GitHub issue](https://github.com/cockroachdb/cockroach/issues/100405) - - `RECORD` input arguments. - - [Tracking GitHub issue](https://github.com/cockroachdb/cockroach/issues/105713) - ### Limitations on expressions allowed within UDFs The following are not currently allowed within the body of a UDF: - CTEs (common table expressions). - - [Tracking GitHub issue](https://github.com/cockroachdb/cockroach/issues/92961) - - References to other user-defined functions. - - [Tracking GitHub issue](https://github.com/cockroachdb/cockroach/issues/93049) - - [DDL statements]({% link {{ page.version.version }}/sql-statements.md %}#data-definition-statements) (e.g., `CREATE TABLE`, `CREATE INDEX`). - - [Tracking GitHub issue](https://github.com/cockroachdb/cockroach/issues/110080) - ## See also - [`CREATE FUNCTION`]({% link {{ page.version.version }}/create-function.md %}) diff --git a/src/current/v23.2/vectorized-execution.md b/src/current/v23.2/vectorized-execution.md index f8ab08de50b..11e78390599 100644 --- a/src/current/v23.2/vectorized-execution.md +++ b/src/current/v23.2/vectorized-execution.md @@ -69,8 +69,7 @@ You can also configure a node's total budget for in-memory query processing with The vectorized engine does not support queries containing: -- A join filtered with an [`ON` expression]({% link {{ page.version.version }}/joins.md %}#supported-join-conditions). See [tracking issue](https://github.com/cockroachdb/cockroach/issues/38018). - +- A join filtered with an [`ON` expression]({% link {{ page.version.version }}/joins.md %}#supported-join-conditions). ### Spatial features The vectorized engine does not support [working with spatial data]({% link {{ page.version.version }}/export-spatial-data.md %}). Queries with [geospatial functions]({% link {{ page.version.version }}/functions-and-operators.md %}#spatial-functions) or [spatial data]({% link {{ page.version.version }}/export-spatial-data.md %}) will revert to the row-oriented execution engine. diff --git a/src/current/v23.2/views.md b/src/current/v23.2/views.md index 89357fb6d52..2e8f35b218a 100644 --- a/src/current/v23.2/views.md +++ b/src/current/v23.2/views.md @@ -634,7 +634,7 @@ To speed up queries on materialized views, you can add an [index]({% link {{ pag CockroachDB supports session-scoped temporary views. Unlike persistent views, temporary views can only be accessed from the session in which they were created, and they are dropped at the end of the session. You can create temporary views on both persistent tables and [temporary tables]({% link {{ page.version.version }}/temporary-tables.md %}). {{site.data.alerts.callout_info}} -{% include feature-phases/preview.md %} For details, see the tracking issue [cockroachdb/cockroach#46260](https://github.com/cockroachdb/cockroach/issues/46260). +{% include feature-phases/preview.md %} {{site.data.alerts.end}} {{site.data.alerts.callout_info}} diff --git a/src/current/v24.1/cluster-setup-troubleshooting.md b/src/current/v24.1/cluster-setup-troubleshooting.md index a884a8cc384..9eb5c2e6086 100644 --- a/src/current/v24.1/cluster-setup-troubleshooting.md +++ b/src/current/v24.1/cluster-setup-troubleshooting.md @@ -104,7 +104,7 @@ If you are trying to run all nodes on the same machine, you might get the follow #### Store directory already exists ~~~ -ERROR: could not cleanup temporary directories from record file: could not lock temporary directory /Users/amruta/go/src/github.com/cockroachdb/cockroach/cockroach-data/cockroach-temp301343769, may still be in use: IO error: While lock file: /Users/amruta/go/src/github.com/cockroachdb/cockroach/cockroach-data/cockroach-temp301343769/TEMP_DIR.LOCK: Resource temporarily unavailable +ERROR: could not cleanup temporary directories from record file: could not lock temporary directory /cockroach-data/cockroach-temp301343769, may still be in use: IO error: While lock file: /cockroach-data/cockroach-temp301343769/TEMP_DIR.LOCK: Resource temporarily unavailable ~~~ **Explanation:** When starting a new node on the same machine, the directory you choose to store the data in also contains metadata identifying the cluster the data came from. This causes conflicts when you've already started a node on the server and then tried to start another cluster using the same directory. diff --git a/src/current/v24.1/cockroachdb-feature-availability.md b/src/current/v24.1/cockroachdb-feature-availability.md index b5dcb68812a..1c02133df24 100644 --- a/src/current/v24.1/cockroachdb-feature-availability.md +++ b/src/current/v24.1/cockroachdb-feature-availability.md @@ -140,7 +140,7 @@ Example: ### Check for constraint violations with `SCRUB` -Checks the consistency of [`UNIQUE`]({% link {{ page.version.version }}/unique.md %}) indexes, [`CHECK`]({% link {{ page.version.version }}/check.md %}) constraints, and more. Partially implemented; see [cockroachdb/cockroach#10425](https://github.com/cockroachdb/cockroach/issues/10425) for details. +Checks the consistency of [`UNIQUE`]({% link {{ page.version.version }}/unique.md %}) indexes, [`CHECK`]({% link {{ page.version.version }}/check.md %}) constraints, and more. Partially implemented. {{site.data.alerts.callout_info}} This example uses the `users` table from our open-source, fictional peer-to-peer vehicle-sharing application, [MovR]({% link {{ page.version.version }}/movr.md %}). @@ -175,7 +175,7 @@ CockroachDB supports [altering the column types]({% link {{ page.version.version ### Temporary objects -[Temporary tables]({% link {{ page.version.version }}/temporary-tables.md %}), [temporary views]({% link {{ page.version.version }}/views.md %}#temporary-views), and [temporary sequences]({% link {{ page.version.version }}/create-sequence.md %}#temporary-sequences) are in preview in CockroachDB. If you create too many temporary objects in a session, the performance of DDL operations will degrade. Dropping large numbers of temporary objects in rapid succession can also enqueue many [schema change GC jobs]({% link {{ page.version.version }}/show-jobs.md %}), which may further degrade cluster performance. This performance degradation could persist long after creating the temporary objects. For more details, see [cockroachdb/cockroach#46260](https://github.com/cockroachdb/cockroach/issues/46260). +[Temporary tables]({% link {{ page.version.version }}/temporary-tables.md %}), [temporary views]({% link {{ page.version.version }}/views.md %}#temporary-views), and [temporary sequences]({% link {{ page.version.version }}/create-sequence.md %}#temporary-sequences) are in preview in CockroachDB. If you create too many temporary objects in a session, the performance of DDL operations will degrade. Dropping large numbers of temporary objects in rapid succession can also enqueue many [schema change GC jobs]({% link {{ page.version.version }}/show-jobs.md %}), which may further degrade cluster performance. This performance degradation could persist long after creating the temporary objects. To enable temporary objects, set the `experimental_enable_temp_tables` [session variable]({% link {{ page.version.version }}/show-vars.md %}) to `on`. diff --git a/src/current/v24.1/common-table-expressions.md b/src/current/v24.1/common-table-expressions.md index a76f13ff39d..eecee66be5a 100644 --- a/src/current/v24.1/common-table-expressions.md +++ b/src/current/v24.1/common-table-expressions.md @@ -446,7 +446,7 @@ SELECT COUNT(*) FROM temp; Because this pattern incurs the overhead of a new scan for each iteration, it is slower per row than a full scan. It is therefore faster than a full scan in cases (such as this one) where many rows are skipped, but is slower if they are not. {{site.data.alerts.callout_info}} -Some recursive CTEs are not not yet optimized. For details, see the [tracking issue](https://github.com/cockroachdb/cockroach/issues/89954). +Some recursive CTEs are not not yet optimized. {{site.data.alerts.end}} ## Correlated common table expressions diff --git a/src/current/v24.1/configure-replication-zones.md b/src/current/v24.1/configure-replication-zones.md index 647bf140411..52266e3b68e 100644 --- a/src/current/v24.1/configure-replication-zones.md +++ b/src/current/v24.1/configure-replication-zones.md @@ -98,7 +98,7 @@ For more information, see the following subsections: The hierarchy of inheritance for zone configs can be visualized using the following outline-style diagram, in which each level of indentation denotes an inheritance relationship. -The only exception to this simple inheritance relationship is that due to a known limitation, sub-partitions do not inherit their values from their parent partitions. Instead, sub-partitions inherit their values from the parent table. For more information, see [cockroachdb/cockroach#75862](https://github.com/cockroachdb/cockroach/issues/75862). +The only exception to this simple inheritance relationship is that due to a known limitation, sub-partitions do not inherit their values from their parent partitions. Instead, sub-partitions inherit their values from the parent table. ``` - default @@ -106,7 +106,7 @@ The only exception to this simple inheritance relationship is that due to a know - table A.B - index A.B.1 - partition (row) 1 - - sub-partition 1.1 (NB. Sub-partitions inherit from tables, *not* partitions - see cockroachdb/cockroach#75862) + - sub-partition 1.1 (NB. Sub-partitions inherit from tables, *not* partitions) - sub-partition 1.1.1 - sub-partition 1.2 - table A.C @@ -127,7 +127,7 @@ From the whole-system perspective, the hierarchy of schema object zone configs c The following diagram presents the same set of schema objects as the previous outline-style diagram, but using boxes and lines joined with arrows that represent the "top-down" view. -Each box represents a schema object in the zone configuration inheritance hierarchy. Each solid line ends in an arrow that points from a parent object to its child object, which will inherit the parent's values unless those values are changed at the child level. The dotted lines between partitions and sub-partitions represent the known limitation mentioned previously that sub-partitions do not inherit their values from their parent partitions. Instead, sub-partitions inherit their values from the parent table. For more information about this limitation, see [cockroachdb/cockroach#75862](https://github.com/cockroachdb/cockroach/issues/75862). +Each box represents a schema object in the zone configuration inheritance hierarchy. Each solid line ends in an arrow that points from a parent object to its child object, which will inherit the parent's values unless those values are changed at the child level. The dotted lines between partitions and sub-partitions represent the known limitation mentioned previously that sub-partitions do not inherit their values from their parent partitions. Instead, sub-partitions inherit their values from the parent table. zone config inheritance diagram diff --git a/src/current/v24.1/create-sequence.md b/src/current/v24.1/create-sequence.md index bae71037988..96474045033 100644 --- a/src/current/v24.1/create-sequence.md +++ b/src/current/v24.1/create-sequence.md @@ -59,7 +59,7 @@ CockroachDB supports the following [SQL sequence functions]({% link {{ page.vers CockroachDB supports session-scoped temporary sequences. Unlike persistent sequences, temporary sequences can only be accessed from the session in which they were created, and they are dropped at the end of the session. You can create temporary sequences on both persistent tables and [temporary tables]({% link {{ page.version.version }}/temporary-tables.md %}). {{site.data.alerts.callout_info}} -{% include feature-phases/preview.md %} For details, see the tracking issue [cockroachdb/cockroach#46260](https://github.com/cockroachdb/cockroach/issues/46260). +{% include feature-phases/preview.md %} {{site.data.alerts.end}} {{site.data.alerts.callout_info}} diff --git a/src/current/v24.1/create-table.md b/src/current/v24.1/create-table.md index d1a4c389267..7cd07047b67 100644 --- a/src/current/v24.1/create-table.md +++ b/src/current/v24.1/create-table.md @@ -155,7 +155,7 @@ If you use `GENERATED BY DEFAULT AS IDENTITY` to define the identity column, any Note the following limitations of identity columns: -- `GENERATED ALWAYS AS IDENTITY`/`GENERATED BY DEFAULT AS IDENTITY` is supported in [`ALTER TABLE ... ADD COLUMN`]({% link {{ page.version.version }}/alter-table.md %}#add-column) statements only when the table being altered is empty, as [CockroachDB does not support back-filling sequential column data]({% link {{ page.version.version }}/known-limitations.md %}#adding-a-column-with-sequence-based-default-values). For more information, see [#42508](https://github.com/cockroachdb/cockroach/issues/42508). +- `GENERATED ALWAYS AS IDENTITY`/`GENERATED BY DEFAULT AS IDENTITY` is supported in [`ALTER TABLE ... ADD COLUMN`]({% link {{ page.version.version }}/alter-table.md %}#add-column) statements only when the table being altered is empty, as [CockroachDB does not support back-filling sequential column data]({% link {{ page.version.version }}/known-limitations.md %}#adding-a-column-with-sequence-based-default-values). - Unlike PostgreSQL, CockroachDB does not support using the `OVERRIDING SYSTEM VALUE` clause in `INSERT`/`UPDATE`/`UPSERT` statements to overwrite `GENERATED ALWAYS AS IDENTITY` identity column values. For an example of an identity column, see [Create a table with an identity column](#create-a-table-with-an-identity-column). diff --git a/src/current/v24.1/disaster-recovery-planning.md b/src/current/v24.1/disaster-recovery-planning.md index 69eaf1fac32..177b27f7cc3 100644 --- a/src/current/v24.1/disaster-recovery-planning.md +++ b/src/current/v24.1/disaster-recovery-planning.md @@ -320,7 +320,7 @@ If your cluster is running, you do not have a backup that encapsulates the time If you have corrupted data in a database or table, [restore]({% link {{ page.version.version }}/restore.md %}) the object from a prior [backup]({% link {{ page.version.version }}/backup.md %}). If revision history is in the backup, you can restore from a [point in time]({% link {{ page.version.version }}/take-backups-with-revision-history-and-restore-from-a-point-in-time.md %}). -Instead of dropping the corrupted table or database, we recommend [renaming the table]({% link {{ page.version.version }}/alter-table.md %}#rename-to) or [renaming the database]({% link {{ page.version.version }}/alter-database.md %}#rename-to) so you have historical data to compare to later. If you drop a database, the database cannot be referenced with `AS OF SYSTEM TIME` queries (see [#51380](https://github.com/cockroachdb/cockroach/issues/51380) for more information), and you will need to take a backup that is backdated to the system time when the database still existed. +Instead of dropping the corrupted table or database, we recommend [renaming the table]({% link {{ page.version.version }}/alter-table.md %}#rename-to) or [renaming the database]({% link {{ page.version.version }}/alter-database.md %}#rename-to) so you have historical data to compare to later. If you drop a database, the database cannot be referenced with `AS OF SYSTEM TIME` queries, and you will need to take a backup that is backdated to the system time when the database still existed. {{site.data.alerts.callout_info}} If the table you are restoring has foreign keys, [careful consideration]({% link {{ page.version.version }}/restore.md %}#remove-the-foreign-key-before-restore) should be applied to make sure data integrity is maintained during the restore process. diff --git a/src/current/v24.1/foreign-key.md b/src/current/v24.1/foreign-key.md index 55677511e3d..4b73d5f3211 100644 --- a/src/current/v24.1/foreign-key.md +++ b/src/current/v24.1/foreign-key.md @@ -93,7 +93,7 @@ For matching purposes, composite foreign keys can be in one of three states: For examples showing how these key matching algorithms work, see [Match composite foreign keys with `MATCH SIMPLE` and `MATCH FULL`](#match-composite-foreign-keys-with-match-simple-and-match-full). {{site.data.alerts.callout_info}} -CockroachDB does not support `MATCH PARTIAL`. For more information, see issue [#20305](https://github.com/cockroachdb/cockroach/issues/20305). +CockroachDB does not support `MATCH PARTIAL`. {{site.data.alerts.end}} ### Foreign key actions diff --git a/src/current/v24.1/install-cockroachdb-mac.md b/src/current/v24.1/install-cockroachdb-mac.md index 5155c5bf0cd..64cb30b3cfe 100644 --- a/src/current/v24.1/install-cockroachdb-mac.md +++ b/src/current/v24.1/install-cockroachdb-mac.md @@ -201,4 +201,4 @@ CockroachDB runtimes built for the ARM architecture have the following limitatio {% comment %}v22.2.0+{% endcomment %} -On macOS ARM systems, [spatial features]({% link {{ page.version.version }}/spatial-data-overview.md %}) are disabled due to an issue with macOS code signing for the GEOS libraries. Users needing spatial features on an ARM Mac may instead [run the Intel binary](#install-the-binary) or use the[Docker container image](#use-docker). Refer to [GitHub issue #93161](https://github.com/cockroachdb/cockroach/issues/93161) for more information. +On macOS ARM systems, [spatial features]({% link {{ page.version.version }}/spatial-data-overview.md %}) are disabled due to an issue with macOS code signing for the GEOS libraries. Users needing spatial features on an ARM Mac may instead [run the Intel binary](#install-the-binary) or use the[Docker container image](#use-docker). diff --git a/src/current/v24.1/known-limitations.md b/src/current/v24.1/known-limitations.md index c42ebef7e9a..ffc9fafdc4d 100644 --- a/src/current/v24.1/known-limitations.md +++ b/src/current/v24.1/known-limitations.md @@ -440,7 +440,7 @@ As a workaround, [execute the file from the command line]({% link {{ page.versio #### Spatial features disabled for ARM Macs -[Spatial features]({% link {{ page.version.version }}/spatial-data-overview.md %}) are disabled due to an issue with macOS code signing for the [GEOS](https://libgeos.org/) libraries. Users needing spatial features on an ARM Mac may instead [use Rosetta](https://developer.apple.com/documentation/virtualization/running_intel_binaries_in_linux_vms_with_rosetta) to [run the Intel binary]({% link {{ page.version.version }}/install-cockroachdb-mac.md %}#install-binary) or use the [Docker image]({% link {{ page.version.version }}/install-cockroachdb-mac.md %}#use-docker) distribution. [GitHub tracking issue](https://github.com/cockroachdb/cockroach/issues/93161) +[Spatial features]({% link {{ page.version.version }}/spatial-data-overview.md %}) are disabled due to an issue with macOS code signing for the [GEOS](https://libgeos.org/) libraries. Users needing spatial features on an ARM Mac may instead [use Rosetta](https://developer.apple.com/documentation/virtualization/running_intel_binaries_in_linux_vms_with_rosetta) to [run the Intel binary]({% link {{ page.version.version }}/install-cockroachdb-mac.md %}#install-binary) or use the [Docker image]({% link {{ page.version.version }}/install-cockroachdb-mac.md %}#use-docker) distribution. #### Logging system limitations diff --git a/src/current/v24.1/query-spatial-data.md b/src/current/v24.1/query-spatial-data.md index 32a98647a7d..bb3b5385e37 100644 --- a/src/current/v24.1/query-spatial-data.md +++ b/src/current/v24.1/query-spatial-data.md @@ -24,7 +24,7 @@ Just as CockroachDB strives for [PostgreSQL compatibility]({% link {{ page.versi CockroachDB does not implement the full list of PostGIS built-in functions and operators. Also, [spatial indexing works differently]({% link {{ page.version.version }}/spatial-indexes.md %}) (see the [Performance](#performance) section below). For a list of the spatial functions CockroachDB supports, see [Geospatial functions]({% link {{ page.version.version }}/functions-and-operators.md %}#spatial-functions). -If your application needs support for functions that are not yet implemented, check the [meta-issue for built-in function support on GitHub](https://github.com/cockroachdb/cockroach/issues/49203), which describes how to find an issue for the built-in function(s) you need. +If your application needs support for functions that are not yet implemented, please [contact Support](https://support.cockroachlabs.com). For a list of other known limitations, see [Known Limitations]({% link {{ page.version.version }}/known-limitations.md %}#spatial-support-limitations). diff --git a/src/current/v24.1/restore.md b/src/current/v24.1/restore.md index 261c351f06a..8b57ce2882e 100644 --- a/src/current/v24.1/restore.md +++ b/src/current/v24.1/restore.md @@ -281,7 +281,7 @@ CockroachDB does **not** support incremental-only restores. - {% include {{ page.version.version }}/known-limitations/restore-multiregion-match.md %} -The ordering of regions and how region matching is determined is a known limitation. See the [Known Limitations](#known-limitations) section for the tracking issues on limitations around `RESTORE` and multi-region support. +The ordering of regions and how region matching is determined is a known limitation. For more on multi-region databases, see the [Multi-Region Capabilities Overview]({% link {{ page.version.version }}/multiregion-overview.md %}). diff --git a/src/current/v24.1/spatial-tutorial.md b/src/current/v24.1/spatial-tutorial.md index d0b616d2433..69ab667e150 100644 --- a/src/current/v24.1/spatial-tutorial.md +++ b/src/current/v24.1/spatial-tutorial.md @@ -966,7 +966,7 @@ Time: 1.447s total (execution 1.446s / network 0.000s) Unfortunately, this query is a bit slower than you would like: about 1.5 seconds on a single-node [`cockroach demo`]({% link {{ page.version.version }}/cockroach-demo.md %}) cluster on a laptop. There are several reasons for this: 1. You haven't created any indexes at all yet. The query is likely to be doing full table scans, which you will need to hunt down with [`EXPLAIN`]({% link {{ page.version.version }}/explain.md %}). -1. CockroachDB does not yet have built-in support for index-based nearest neighbor queries. If this feature is important to you, please comment with some information about your use case on [cockroachdb/cockroach#55227](https://github.com/cockroachdb/cockroach/issues/55227). +1. CockroachDB does not yet have built-in support for index-based nearest neighbor queries. Let's look at the `EXPLAIN` output to see if there is something that can be done to improve this query's performance: diff --git a/src/current/v24.1/sql-feature-support.md b/src/current/v24.1/sql-feature-support.md index 9bb433cba3e..550521ed4df 100644 --- a/src/current/v24.1/sql-feature-support.md +++ b/src/current/v24.1/sql-feature-support.md @@ -193,7 +193,7 @@ XML | ✗ | Standard | XML data can be stored as `BYTES`, but we do not offer XM Common table expressions | Partial | Common Extension | [Common Table Expressions documentation]({% link {{ page.version.version }}/common-table-expressions.md %}) Stored procedures | Partial | Common Extension | [Stored procedures documentation]({% link {{ page.version.version }}/stored-procedures.md %}) Cursors | Partial | Standard | [Cursors documentation]({% link {{ page.version.version }}/cursors.md %}) - Triggers | ✗ | Standard | Execute a set of commands whenever a specified event occurs. [GitHub issue tracking trigger support](https://github.com/cockroachdb/cockroach/issues/28296). + Triggers | ✗ | Standard | Execute a set of commands whenever a specified event occurs. Row-level TTL | ✓ | Common Extension | Automatically delete expired rows. For more information, see [Batch-delete expired data with Row-Level TTL]({% link {{ page.version.version }}/row-level-ttl.md %}). User-defined functions | Partial | Standard | [User-Defined Functions documentation]({% link {{ page.version.version }}/user-defined-functions.md %}) - `CREATE EXTENSION "uuid-ossp"` | ✓ | Common Extension | Provides access to several additional [UUID generation functions]({% link {{ page.version.version }}/functions-and-operators.md %}#id-generation-functions). Note that these UUID functions are available without typing `CREATE EXTENSION "uuid-ossp"`. CockroachDB does not have full support for `CREATE EXTENSION`. [GitHub issue tracking `CREATE EXTENSION` support](https://github.com/cockroachdb/cockroach/issues/74777). + `CREATE EXTENSION "uuid-ossp"` | ✓ | Common Extension | Provides access to several additional [UUID generation functions]({% link {{ page.version.version }}/functions-and-operators.md %}#id-generation-functions). Note that these UUID functions are available without typing `CREATE EXTENSION "uuid-ossp"`. CockroachDB does not have full support for `CREATE EXTENSION`. diff --git a/src/current/v24.1/sql-name-resolution.md b/src/current/v24.1/sql-name-resolution.md index 554a9a65583..000ae5bf2dd 100644 --- a/src/current/v24.1/sql-name-resolution.md +++ b/src/current/v24.1/sql-name-resolution.md @@ -37,8 +37,7 @@ If you are upgrading to {{ page.version.version }}, take any combination of the - [Create new schemas]({% link {{ page.version.version }}/create-schema.md %}) in databases on your cluster. After the schemas are created, use [`ALTER TABLE ... RENAME`]({% link {{ page.version.version }}/alter-table.md %}#rename-to), [`ALTER SEQUENCE ... RENAME`]({% link {{ page.version.version }}/alter-sequence.md %}), [`ALTER TYPE ... RENAME`]({% link {{ page.version.version }}/alter-type.md %}), or [`ALTER VIEW ... RENAME`]({% link {{ page.version.version }}/alter-view.md %}) statements to move objects between databases as needed. To move objects between schemas, use [`ALTER TABLE ... SET SCHEMA`]({% link {{ page.version.version }}/alter-table.md %}#set-schema), [`ALTER SEQUENCE ... SET SCHEMA`]({% link {{ page.version.version }}/alter-sequence.md %}), or [`ALTER VIEW ... SET SCHEMA`]({% link {{ page.version.version }}/alter-view.md %}). -- If your cluster contains cross-database references (e.g., a cross-database foreign key reference, or a cross-database view reference), use the relevant [`ALTER TABLE`]({% link {{ page.version.version }}/alter-table.md %}), [`ALTER SEQUENCE`]({% link {{ page.version.version }}/alter-sequence.md %}), [`ALTER TYPE`]({% link {{ page.version.version }}/alter-type.md %}), or [`ALTER VIEW `]({% link {{ page.version.version }}/alter-view.md %}) statements to move any cross-referencing objects to the same database, but different schemas. Cross-database object references were allowed in earlier versions of CockroachDB to make database-object naming hierarchies more flexible for users. In v20.2, creating cross-database references are disabled for [foreign keys](foreign-key.html), [views]({% link {{ page.version.version }}/views.md %}), and [sequence ownership]({% link {{ page.version.version }}/create-sequence.md %}). For details, see [tracking issue](https://github.com/cockroachdb/cockroach/issues/55791). - +- If your cluster contains cross-database references (e.g., a cross-database foreign key reference, or a cross-database view reference), use the relevant [`ALTER TABLE`]({% link {{ page.version.version }}/alter-table.md %}), [`ALTER SEQUENCE`]({% link {{ page.version.version }}/alter-sequence.md %}), [`ALTER TYPE`]({% link {{ page.version.version }}/alter-type.md %}), or [`ALTER VIEW `]({% link {{ page.version.version }}/alter-view.md %}) statements to move any cross-referencing objects to the same database, but different schemas. Cross-database object references were allowed in earlier versions of CockroachDB to make database-object naming hierarchies more flexible for users. In v20.2, creating cross-database references are disabled for [foreign keys](foreign-key.html), [views]({% link {{ page.version.version }}/views.md %}), and [sequence ownership]({% link {{ page.version.version }}/create-sequence.md %}). ## How name resolution works Name resolution occurs separately to **look up existing objects** and to diff --git a/src/current/v24.1/st_union.md b/src/current/v24.1/st_union.md index 7beb2f3ae3d..f5202c5630e 100644 --- a/src/current/v24.1/st_union.md +++ b/src/current/v24.1/st_union.md @@ -12,7 +12,7 @@ Given a set of shapes (e.g., from a [selection query]({% link {{ page.version.ve - [`GEOMETRY`]({% link {{ page.version.version }}/architecture/glossary.md %}#geometry) {{site.data.alerts.callout_info}} -The non-aggregate version of `ST_Union` is not yet implemented. For more information, see [cockroach#49064](https://github.com/cockroachdb/cockroach/issues/49064). +The non-aggregate version of `ST_Union` is not yet implemented. {{site.data.alerts.end}} {{site.data.alerts.callout_info}} diff --git a/src/current/v24.1/temporary-tables.md b/src/current/v24.1/temporary-tables.md index 3a92fc64c97..3d96d296a59 100644 --- a/src/current/v24.1/temporary-tables.md +++ b/src/current/v24.1/temporary-tables.md @@ -10,7 +10,7 @@ docs_area: develop To create a temp table, add `TEMP`/`TEMPORARY` to a [`CREATE TABLE`]({% link {{ page.version.version }}/create-table.md %}) or [`CREATE TABLE AS`]({% link {{ page.version.version }}/create-table-as.md %}) statement. For full syntax details, see the [`CREATE TABLE`]({% link {{ page.version.version }}/create-table.md %}#synopsis) and [`CREATE TABLE AS`]({% link {{ page.version.version }}/create-table-as.md %}#synopsis) pages. For example usage, see [Examples](#examples). {{site.data.alerts.callout_info}} -{% include feature-phases/preview.md %} For details, see the tracking issue [cockroachdb/cockroach#46260](https://github.com/cockroachdb/cockroach/issues/46260). +{% include feature-phases/preview.md %} {{site.data.alerts.end}} {{site.data.alerts.callout_info}} diff --git a/src/current/v24.1/upgrade-cockroach-version.md b/src/current/v24.1/upgrade-cockroach-version.md index c03e28790b7..c5f0a72b5e9 100644 --- a/src/current/v24.1/upgrade-cockroach-version.md +++ b/src/current/v24.1/upgrade-cockroach-version.md @@ -326,13 +326,3 @@ In the event of catastrophic failure or corruption, it may be necessary to [rest - [View Version Details]({% link {{ page.version.version }}/cockroach-version.md %}) - [Release notes for our latest version]({% link releases/{{page.version.version}}.md %}) -[#102961]: https://github.com/cockroachdb/cockroach/pull/102961 -[#104265]: https://github.com/cockroachdb/cockroach/pull/104265 -[#107474]: https://github.com/cockroachdb/cockroach/pull/107474 -[#106177]: https://github.com/cockroachdb/cockroach/pull/106177 -[#98308]: https://github.com/cockroachdb/cockroach/pull/98308 -[#105477]: https://github.com/cockroachdb/cockroach/pull/105477 -[#107903]: https://github.com/cockroachdb/cockroach/pull/107903 -[#108190]: https://github.com/cockroachdb/cockroach/pull/108190 -[#110649]: https://github.com/cockroachdb/cockroach/pull/110649 -[#114203]: https://github.com/cockroachdb/cockroach/pull/114203 diff --git a/src/current/v24.1/views.md b/src/current/v24.1/views.md index 1b703728bcf..5ff04786770 100644 --- a/src/current/v24.1/views.md +++ b/src/current/v24.1/views.md @@ -634,7 +634,7 @@ To speed up queries on materialized views, you can add an [index]({% link {{ pag CockroachDB supports session-scoped temporary views. Unlike persistent views, temporary views can only be accessed from the session in which they were created, and they are dropped at the end of the session. You can create temporary views on both persistent tables and [temporary tables]({% link {{ page.version.version }}/temporary-tables.md %}). {{site.data.alerts.callout_info}} -{% include feature-phases/preview.md %} For details, see the tracking issue [cockroachdb/cockroach#46260](https://github.com/cockroachdb/cockroach/issues/46260). +{% include feature-phases/preview.md %} {{site.data.alerts.end}} {{site.data.alerts.callout_info}} diff --git a/src/current/v24.2/cluster-setup-troubleshooting.md b/src/current/v24.2/cluster-setup-troubleshooting.md index 42365ecec0e..674ebab8849 100644 --- a/src/current/v24.2/cluster-setup-troubleshooting.md +++ b/src/current/v24.2/cluster-setup-troubleshooting.md @@ -104,7 +104,7 @@ If you are trying to run all nodes on the same machine, you might get the follow #### Store directory already exists ~~~ -ERROR: could not cleanup temporary directories from record file: could not lock temporary directory /Users/amruta/go/src/github.com/cockroachdb/cockroach/cockroach-data/cockroach-temp301343769, may still be in use: IO error: While lock file: /Users/amruta/go/src/github.com/cockroachdb/cockroach/cockroach-data/cockroach-temp301343769/TEMP_DIR.LOCK: Resource temporarily unavailable +ERROR: could not cleanup temporary directories from record file: could not lock temporary directory /cockroach-data/cockroach-temp301343769, may still be in use: IO error: While lock file: /cockroach-data/cockroach-temp301343769/TEMP_DIR.LOCK: Resource temporarily unavailable ~~~ **Explanation:** When starting a new node on the same machine, the directory you choose to store the data in also contains metadata identifying the cluster the data came from. This causes conflicts when you've already started a node on the server and then tried to start another cluster using the same directory. diff --git a/src/current/v24.2/cockroachdb-feature-availability.md b/src/current/v24.2/cockroachdb-feature-availability.md index 51cb77ca5e1..3484d33d940 100644 --- a/src/current/v24.2/cockroachdb-feature-availability.md +++ b/src/current/v24.2/cockroachdb-feature-availability.md @@ -152,7 +152,7 @@ Example: ### Check for constraint violations with `SCRUB` -Checks the consistency of [`UNIQUE`]({% link {{ page.version.version }}/unique.md %}) indexes, [`CHECK`]({% link {{ page.version.version }}/check.md %}) constraints, and more. Partially implemented; see [cockroachdb/cockroach#10425](https://github.com/cockroachdb/cockroach/issues/10425) for details. +Checks the consistency of [`UNIQUE`]({% link {{ page.version.version }}/unique.md %}) indexes, [`CHECK`]({% link {{ page.version.version }}/check.md %}) constraints, and more. Partially implemented. {{site.data.alerts.callout_info}} This example uses the `users` table from our open-source, fictional peer-to-peer vehicle-sharing application, [MovR]({% link {{ page.version.version }}/movr.md %}). @@ -187,7 +187,7 @@ CockroachDB supports [altering the column types]({% link {{ page.version.version ### Temporary objects -[Temporary tables]({% link {{ page.version.version }}/temporary-tables.md %}), [temporary views]({% link {{ page.version.version }}/views.md %}#temporary-views), and [temporary sequences]({% link {{ page.version.version }}/create-sequence.md %}#temporary-sequences) are in preview in CockroachDB. If you create too many temporary objects in a session, the performance of DDL operations will degrade. Performance limitations could persist long after creating the temporary objects. For more details, see [cockroachdb/cockroach#46260](https://github.com/cockroachdb/cockroach/issues/46260). +[Temporary tables]({% link {{ page.version.version }}/temporary-tables.md %}), [temporary views]({% link {{ page.version.version }}/views.md %}#temporary-views), and [temporary sequences]({% link {{ page.version.version }}/create-sequence.md %}#temporary-sequences) are in preview in CockroachDB. If you create too many temporary objects in a session, the performance of DDL operations will degrade. Performance limitations could persist long after creating the temporary objects. To enable temporary objects, set the `experimental_enable_temp_tables` [session variable]({% link {{ page.version.version }}/show-vars.md %}) to `on`. diff --git a/src/current/v24.2/common-table-expressions.md b/src/current/v24.2/common-table-expressions.md index 09ac09d1419..b7deeba936e 100644 --- a/src/current/v24.2/common-table-expressions.md +++ b/src/current/v24.2/common-table-expressions.md @@ -444,7 +444,7 @@ SELECT COUNT(*) FROM temp; Because this pattern incurs the overhead of a new scan for each iteration, it is slower per row than a full scan. It is therefore faster than a full scan in cases (such as this one) where many rows are skipped, but is slower if they are not. {{site.data.alerts.callout_info}} -Some recursive CTEs are not not yet optimized. For details, see the [tracking issue](https://github.com/cockroachdb/cockroach/issues/89954). +Some recursive CTEs are not not yet optimized. {{site.data.alerts.end}} ## Correlated common table expressions diff --git a/src/current/v24.2/configure-replication-zones.md b/src/current/v24.2/configure-replication-zones.md index 309da81984a..fd3cf4d4bc8 100644 --- a/src/current/v24.2/configure-replication-zones.md +++ b/src/current/v24.2/configure-replication-zones.md @@ -98,7 +98,7 @@ For more information, see the following subsections: The hierarchy of inheritance for zone configs can be visualized using the following outline-style diagram, in which each level of indentation denotes an inheritance relationship. -The only exception to this simple inheritance relationship is that due to a known limitation, sub-partitions do not inherit their values from their parent partitions. Instead, sub-partitions inherit their values from the parent table. For more information, see [cockroachdb/cockroach#75862](https://github.com/cockroachdb/cockroach/issues/75862). +The only exception to this simple inheritance relationship is that due to a known limitation, sub-partitions do not inherit their values from their parent partitions. Instead, sub-partitions inherit their values from the parent table. ``` - default @@ -106,7 +106,7 @@ The only exception to this simple inheritance relationship is that due to a know - table A.B - index A.B.1 - partition (row) 1 - - sub-partition 1.1 (NB. Sub-partitions inherit from tables, *not* partitions - see cockroachdb/cockroach#75862) + - sub-partition 1.1 (NB. Sub-partitions inherit from tables, *not* partitions) - sub-partition 1.1.1 - sub-partition 1.2 - table A.C @@ -127,7 +127,7 @@ From the whole-system perspective, the hierarchy of schema object zone configs c The following diagram presents the same set of schema objects as the previous outline-style diagram, but using boxes and lines joined with arrows that represent the "top-down" view. -Each box represents a schema object in the zone configuration inheritance hierarchy. Each solid line ends in an arrow that points from a parent object to its child object, which will inherit the parent's values unless those values are changed at the child level. The dotted lines between partitions and sub-partitions represent the known limitation mentioned previously that sub-partitions do not inherit their values from their parent partitions. Instead, sub-partitions inherit their values from the parent table. For more information about this limitation, see [cockroachdb/cockroach#75862](https://github.com/cockroachdb/cockroach/issues/75862). +Each box represents a schema object in the zone configuration inheritance hierarchy. Each solid line ends in an arrow that points from a parent object to its child object, which will inherit the parent's values unless those values are changed at the child level. The dotted lines between partitions and sub-partitions represent the known limitation mentioned previously that sub-partitions do not inherit their values from their parent partitions. Instead, sub-partitions inherit their values from the parent table. zone config inheritance diagram diff --git a/src/current/v24.2/create-sequence.md b/src/current/v24.2/create-sequence.md index eba6f3a07f7..f36f25383a3 100644 --- a/src/current/v24.2/create-sequence.md +++ b/src/current/v24.2/create-sequence.md @@ -58,7 +58,7 @@ CockroachDB supports the following [SQL sequence functions]({% link {{ page.vers CockroachDB supports session-scoped temporary sequences. Unlike persistent sequences, temporary sequences can only be accessed from the session in which they were created, and they are dropped at the end of the session. You can create temporary sequences on both persistent tables and [temporary tables]({% link {{ page.version.version }}/temporary-tables.md %}). {{site.data.alerts.callout_info}} -{% include feature-phases/preview.md %} For details, see the tracking issue [cockroachdb/cockroach#46260](https://github.com/cockroachdb/cockroach/issues/46260). +{% include feature-phases/preview.md %} {{site.data.alerts.end}} {{site.data.alerts.callout_info}} diff --git a/src/current/v24.2/create-table.md b/src/current/v24.2/create-table.md index d1a4c389267..7cd07047b67 100644 --- a/src/current/v24.2/create-table.md +++ b/src/current/v24.2/create-table.md @@ -155,7 +155,7 @@ If you use `GENERATED BY DEFAULT AS IDENTITY` to define the identity column, any Note the following limitations of identity columns: -- `GENERATED ALWAYS AS IDENTITY`/`GENERATED BY DEFAULT AS IDENTITY` is supported in [`ALTER TABLE ... ADD COLUMN`]({% link {{ page.version.version }}/alter-table.md %}#add-column) statements only when the table being altered is empty, as [CockroachDB does not support back-filling sequential column data]({% link {{ page.version.version }}/known-limitations.md %}#adding-a-column-with-sequence-based-default-values). For more information, see [#42508](https://github.com/cockroachdb/cockroach/issues/42508). +- `GENERATED ALWAYS AS IDENTITY`/`GENERATED BY DEFAULT AS IDENTITY` is supported in [`ALTER TABLE ... ADD COLUMN`]({% link {{ page.version.version }}/alter-table.md %}#add-column) statements only when the table being altered is empty, as [CockroachDB does not support back-filling sequential column data]({% link {{ page.version.version }}/known-limitations.md %}#adding-a-column-with-sequence-based-default-values). - Unlike PostgreSQL, CockroachDB does not support using the `OVERRIDING SYSTEM VALUE` clause in `INSERT`/`UPDATE`/`UPSERT` statements to overwrite `GENERATED ALWAYS AS IDENTITY` identity column values. For an example of an identity column, see [Create a table with an identity column](#create-a-table-with-an-identity-column). diff --git a/src/current/v24.2/disaster-recovery-planning.md b/src/current/v24.2/disaster-recovery-planning.md index ae6bdbc5f1b..83c11244964 100644 --- a/src/current/v24.2/disaster-recovery-planning.md +++ b/src/current/v24.2/disaster-recovery-planning.md @@ -320,7 +320,7 @@ If your cluster is running, you do not have a backup that encapsulates the time If you have corrupted data in a database or table, [restore]({% link {{ page.version.version }}/restore.md %}) the object from a prior [backup]({% link {{ page.version.version }}/backup.md %}). If revision history is in the backup, you can restore from a [point in time]({% link {{ page.version.version }}/take-backups-with-revision-history-and-restore-from-a-point-in-time.md %}). -Instead of dropping the corrupted table or database, we recommend [renaming the table]({% link {{ page.version.version }}/alter-table.md %}#rename-to) or [renaming the database]({% link {{ page.version.version }}/alter-database.md %}#rename-to) so you have historical data to compare to later. If you drop a database, the database cannot be referenced with `AS OF SYSTEM TIME` queries (see [#51380](https://github.com/cockroachdb/cockroach/issues/51380) for more information), and you will need to take a backup that is backdated to the system time when the database still existed. +Instead of dropping the corrupted table or database, we recommend [renaming the table]({% link {{ page.version.version }}/alter-table.md %}#rename-to) or [renaming the database]({% link {{ page.version.version }}/alter-database.md %}#rename-to) so you have historical data to compare to later. If you drop a database, the database cannot be referenced with `AS OF SYSTEM TIME` queries, and you will need to take a backup that is backdated to the system time when the database still existed. {{site.data.alerts.callout_info}} If the table you are restoring has foreign keys, [careful consideration]({% link {{ page.version.version }}/restore.md %}#remove-the-foreign-key-before-restore) should be applied to make sure data integrity is maintained during the restore process. diff --git a/src/current/v24.2/foreign-key.md b/src/current/v24.2/foreign-key.md index 55677511e3d..4b73d5f3211 100644 --- a/src/current/v24.2/foreign-key.md +++ b/src/current/v24.2/foreign-key.md @@ -93,7 +93,7 @@ For matching purposes, composite foreign keys can be in one of three states: For examples showing how these key matching algorithms work, see [Match composite foreign keys with `MATCH SIMPLE` and `MATCH FULL`](#match-composite-foreign-keys-with-match-simple-and-match-full). {{site.data.alerts.callout_info}} -CockroachDB does not support `MATCH PARTIAL`. For more information, see issue [#20305](https://github.com/cockroachdb/cockroach/issues/20305). +CockroachDB does not support `MATCH PARTIAL`. {{site.data.alerts.end}} ### Foreign key actions diff --git a/src/current/v24.2/install-cockroachdb-mac.md b/src/current/v24.2/install-cockroachdb-mac.md index 5155c5bf0cd..64cb30b3cfe 100644 --- a/src/current/v24.2/install-cockroachdb-mac.md +++ b/src/current/v24.2/install-cockroachdb-mac.md @@ -201,4 +201,4 @@ CockroachDB runtimes built for the ARM architecture have the following limitatio {% comment %}v22.2.0+{% endcomment %} -On macOS ARM systems, [spatial features]({% link {{ page.version.version }}/spatial-data-overview.md %}) are disabled due to an issue with macOS code signing for the GEOS libraries. Users needing spatial features on an ARM Mac may instead [run the Intel binary](#install-the-binary) or use the[Docker container image](#use-docker). Refer to [GitHub issue #93161](https://github.com/cockroachdb/cockroach/issues/93161) for more information. +On macOS ARM systems, [spatial features]({% link {{ page.version.version }}/spatial-data-overview.md %}) are disabled due to an issue with macOS code signing for the GEOS libraries. Users needing spatial features on an ARM Mac may instead [run the Intel binary](#install-the-binary) or use the[Docker container image](#use-docker). diff --git a/src/current/v24.2/known-limitations.md b/src/current/v24.2/known-limitations.md index 71b83b7b5c4..4f212f3356f 100644 --- a/src/current/v24.2/known-limitations.md +++ b/src/current/v24.2/known-limitations.md @@ -421,7 +421,7 @@ As a workaround, [execute the file from the command line]({% link {{ page.versio #### Spatial features disabled for ARM Macs -[Spatial features]({% link {{ page.version.version }}/spatial-data-overview.md %}) are disabled due to an issue with macOS code signing for the [GEOS](https://libgeos.org/) libraries. Users needing spatial features on an ARM Mac may instead [use Rosetta](https://developer.apple.com/documentation/virtualization/running_intel_binaries_in_linux_vms_with_rosetta) to [run the Intel binary]({% link {{ page.version.version }}/install-cockroachdb-mac.md %}#install-binary) or use the [Docker image]({% link {{ page.version.version }}/install-cockroachdb-mac.md %}#use-docker) distribution. [GitHub tracking issue](https://github.com/cockroachdb/cockroach/issues/93161) +[Spatial features]({% link {{ page.version.version }}/spatial-data-overview.md %}) are disabled due to an issue with macOS code signing for the [GEOS](https://libgeos.org/) libraries. Users needing spatial features on an ARM Mac may instead [use Rosetta](https://developer.apple.com/documentation/virtualization/running_intel_binaries_in_linux_vms_with_rosetta) to [run the Intel binary]({% link {{ page.version.version }}/install-cockroachdb-mac.md %}#install-binary) or use the [Docker image]({% link {{ page.version.version }}/install-cockroachdb-mac.md %}#use-docker) distribution. #### Logging system limitations diff --git a/src/current/v24.2/query-spatial-data.md b/src/current/v24.2/query-spatial-data.md index ecda70caa00..00a3d627ae6 100644 --- a/src/current/v24.2/query-spatial-data.md +++ b/src/current/v24.2/query-spatial-data.md @@ -24,7 +24,7 @@ Just as CockroachDB strives for [PostgreSQL compatibility]({% link {{ page.versi CockroachDB does not implement the full list of PostGIS built-in functions and operators. Also, [spatial indexing works differently]({% link {{ page.version.version }}/spatial-indexes.md %}) (see the [Performance](#performance) section below). For a list of the spatial functions CockroachDB supports, see [Geospatial functions]({% link {{ page.version.version }}/functions-and-operators.md %}#spatial-functions). -If your application needs support for functions that are not yet implemented, check the [meta-issue for built-in function support on GitHub](https://github.com/cockroachdb/cockroach/issues/49203), which describes how to find an issue for the built-in function(s) you need. +If your application needs support for functions that are not yet implemented, please [contact Support](https://support.cockroachlabs.com). For a list of other known limitations, see [Known Limitations]({% link {{ page.version.version }}/known-limitations.md %}#spatial-support-limitations). diff --git a/src/current/v24.2/restore.md b/src/current/v24.2/restore.md index bf1eee90a6d..c767a3a525e 100644 --- a/src/current/v24.2/restore.md +++ b/src/current/v24.2/restore.md @@ -281,7 +281,7 @@ CockroachDB does **not** support incremental-only restores. - {% include {{ page.version.version }}/known-limitations/restore-multiregion-match.md %} -The ordering of regions and how region matching is determined is a known limitation. See the [Known Limitations](#known-limitations) section for the tracking issues on limitations around `RESTORE` and multi-region support. +The ordering of regions and how region matching is determined is a known limitation. For more on multi-region databases, see the [Multi-Region Capabilities Overview]({% link {{ page.version.version }}/multiregion-overview.md %}). diff --git a/src/current/v24.2/spatial-tutorial.md b/src/current/v24.2/spatial-tutorial.md index b6fd7ab3583..00c51abfc7e 100644 --- a/src/current/v24.2/spatial-tutorial.md +++ b/src/current/v24.2/spatial-tutorial.md @@ -966,7 +966,7 @@ Time: 1.447s total (execution 1.446s / network 0.000s) Unfortunately, this query is a bit slower than you would like: about 1.5 seconds on a single-node [`cockroach demo`]({% link {{ page.version.version }}/cockroach-demo.md %}) cluster on a laptop. There are several reasons for this: 1. You haven't created any indexes at all yet. The query is likely to be doing full table scans, which you will need to hunt down with [`EXPLAIN`]({% link {{ page.version.version }}/explain.md %}). -1. CockroachDB does not yet have built-in support for index-based nearest neighbor queries. If this feature is important to you, please comment with some information about your use case on [cockroachdb/cockroach#55227](https://github.com/cockroachdb/cockroach/issues/55227). +1. CockroachDB does not yet have built-in support for index-based nearest neighbor queries. Let's look at the `EXPLAIN` output to see if there is something that can be done to improve this query's performance: diff --git a/src/current/v24.2/sql-feature-support.md b/src/current/v24.2/sql-feature-support.md index 3ca62dbbc71..7cd9bd2c303 100644 --- a/src/current/v24.2/sql-feature-support.md +++ b/src/current/v24.2/sql-feature-support.md @@ -193,7 +193,7 @@ XML | ✗ | Standard | XML data can be stored as `BYTES`, but we do not offer XM Common table expressions | Partial | Common Extension | [Common Table Expressions documentation]({% link {{ page.version.version }}/common-table-expressions.md %}) Stored procedures | Partial | Common Extension | [Stored procedures documentation]({% link {{ page.version.version }}/stored-procedures.md %}) Cursors | Partial | Standard | [Cursors documentation]({% link {{ page.version.version }}/cursors.md %}) - Triggers | ✗ | Standard | Execute a set of commands whenever a specified event occurs. [GitHub issue tracking trigger support](https://github.com/cockroachdb/cockroach/issues/28296). + Triggers | ✗ | Standard | Execute a set of commands whenever a specified event occurs. Row-level TTL | ✓ | Common Extension | Automatically delete expired rows. For more information, see [Batch-delete expired data with Row-Level TTL]({% link {{ page.version.version }}/row-level-ttl.md %}). User-defined functions | Partial | Standard | [User-Defined Functions documentation]({% link {{ page.version.version }}/user-defined-functions.md %}) - `CREATE EXTENSION "uuid-ossp"` | ✓ | Common Extension | Provides access to several additional [UUID generation functions]({% link {{ page.version.version }}/functions-and-operators.md %}#id-generation-functions). Note that these UUID functions are available without typing `CREATE EXTENSION "uuid-ossp"`. CockroachDB does not have full support for `CREATE EXTENSION`. [GitHub issue tracking `CREATE EXTENSION` support](https://github.com/cockroachdb/cockroach/issues/74777). + `CREATE EXTENSION "uuid-ossp"` | ✓ | Common Extension | Provides access to several additional [UUID generation functions]({% link {{ page.version.version }}/functions-and-operators.md %}#id-generation-functions). Note that these UUID functions are available without typing `CREATE EXTENSION "uuid-ossp"`. CockroachDB does not have full support for `CREATE EXTENSION`. diff --git a/src/current/v24.2/sql-name-resolution.md b/src/current/v24.2/sql-name-resolution.md index 554a9a65583..000ae5bf2dd 100644 --- a/src/current/v24.2/sql-name-resolution.md +++ b/src/current/v24.2/sql-name-resolution.md @@ -37,8 +37,7 @@ If you are upgrading to {{ page.version.version }}, take any combination of the - [Create new schemas]({% link {{ page.version.version }}/create-schema.md %}) in databases on your cluster. After the schemas are created, use [`ALTER TABLE ... RENAME`]({% link {{ page.version.version }}/alter-table.md %}#rename-to), [`ALTER SEQUENCE ... RENAME`]({% link {{ page.version.version }}/alter-sequence.md %}), [`ALTER TYPE ... RENAME`]({% link {{ page.version.version }}/alter-type.md %}), or [`ALTER VIEW ... RENAME`]({% link {{ page.version.version }}/alter-view.md %}) statements to move objects between databases as needed. To move objects between schemas, use [`ALTER TABLE ... SET SCHEMA`]({% link {{ page.version.version }}/alter-table.md %}#set-schema), [`ALTER SEQUENCE ... SET SCHEMA`]({% link {{ page.version.version }}/alter-sequence.md %}), or [`ALTER VIEW ... SET SCHEMA`]({% link {{ page.version.version }}/alter-view.md %}). -- If your cluster contains cross-database references (e.g., a cross-database foreign key reference, or a cross-database view reference), use the relevant [`ALTER TABLE`]({% link {{ page.version.version }}/alter-table.md %}), [`ALTER SEQUENCE`]({% link {{ page.version.version }}/alter-sequence.md %}), [`ALTER TYPE`]({% link {{ page.version.version }}/alter-type.md %}), or [`ALTER VIEW `]({% link {{ page.version.version }}/alter-view.md %}) statements to move any cross-referencing objects to the same database, but different schemas. Cross-database object references were allowed in earlier versions of CockroachDB to make database-object naming hierarchies more flexible for users. In v20.2, creating cross-database references are disabled for [foreign keys](foreign-key.html), [views]({% link {{ page.version.version }}/views.md %}), and [sequence ownership]({% link {{ page.version.version }}/create-sequence.md %}). For details, see [tracking issue](https://github.com/cockroachdb/cockroach/issues/55791). - +- If your cluster contains cross-database references (e.g., a cross-database foreign key reference, or a cross-database view reference), use the relevant [`ALTER TABLE`]({% link {{ page.version.version }}/alter-table.md %}), [`ALTER SEQUENCE`]({% link {{ page.version.version }}/alter-sequence.md %}), [`ALTER TYPE`]({% link {{ page.version.version }}/alter-type.md %}), or [`ALTER VIEW `]({% link {{ page.version.version }}/alter-view.md %}) statements to move any cross-referencing objects to the same database, but different schemas. Cross-database object references were allowed in earlier versions of CockroachDB to make database-object naming hierarchies more flexible for users. In v20.2, creating cross-database references are disabled for [foreign keys](foreign-key.html), [views]({% link {{ page.version.version }}/views.md %}), and [sequence ownership]({% link {{ page.version.version }}/create-sequence.md %}). ## How name resolution works Name resolution occurs separately to **look up existing objects** and to diff --git a/src/current/v24.2/st_union.md b/src/current/v24.2/st_union.md index df4a9429bc1..5ab22ce1e8a 100644 --- a/src/current/v24.2/st_union.md +++ b/src/current/v24.2/st_union.md @@ -12,7 +12,7 @@ Given a set of shapes (e.g., from a [selection query]({% link {{ page.version.ve - [`GEOMETRY`]({% link {{ page.version.version }}/architecture/glossary.md %}#geometry) {{site.data.alerts.callout_info}} -The non-aggregate version of `ST_Union` is not yet implemented. For more information, see [cockroach#49064](https://github.com/cockroachdb/cockroach/issues/49064). +The non-aggregate version of `ST_Union` is not yet implemented. {{site.data.alerts.end}} {{site.data.alerts.callout_info}} diff --git a/src/current/v24.2/temporary-tables.md b/src/current/v24.2/temporary-tables.md index bd3a9adefdd..8b93a25882c 100644 --- a/src/current/v24.2/temporary-tables.md +++ b/src/current/v24.2/temporary-tables.md @@ -10,7 +10,7 @@ docs_area: develop To create a temp table, add `TEMP`/`TEMPORARY` to a [`CREATE TABLE`]({% link {{ page.version.version }}/create-table.md %}) or [`CREATE TABLE AS`]({% link {{ page.version.version }}/create-table-as.md %}) statement. For full syntax details, see the [`CREATE TABLE`]({% link {{ page.version.version }}/create-table.md %}#synopsis) and [`CREATE TABLE AS`]({% link {{ page.version.version }}/create-table-as.md %}#synopsis) pages. For example usage, see [Examples](#examples). {{site.data.alerts.callout_info}} -{% include feature-phases/preview.md %} For details, see the tracking issue [cockroachdb/cockroach#46260](https://github.com/cockroachdb/cockroach/issues/46260). +{% include feature-phases/preview.md %} {{site.data.alerts.end}} {{site.data.alerts.callout_info}} diff --git a/src/current/v24.2/upgrade-cockroach-version.md b/src/current/v24.2/upgrade-cockroach-version.md index fa6774bdefc..01c16033081 100644 --- a/src/current/v24.2/upgrade-cockroach-version.md +++ b/src/current/v24.2/upgrade-cockroach-version.md @@ -336,13 +336,3 @@ In the event of catastrophic failure or corruption, it may be necessary to [rest - [View Version Details]({% link {{ page.version.version }}/cockroach-version.md %}) - [Release notes for our latest version]({% link releases/{{page.version.version}}.md %}) -[#102961]: https://github.com/cockroachdb/cockroach/pull/102961 -[#104265]: https://github.com/cockroachdb/cockroach/pull/104265 -[#107474]: https://github.com/cockroachdb/cockroach/pull/107474 -[#106177]: https://github.com/cockroachdb/cockroach/pull/106177 -[#98308]: https://github.com/cockroachdb/cockroach/pull/98308 -[#105477]: https://github.com/cockroachdb/cockroach/pull/105477 -[#107903]: https://github.com/cockroachdb/cockroach/pull/107903 -[#108190]: https://github.com/cockroachdb/cockroach/pull/108190 -[#110649]: https://github.com/cockroachdb/cockroach/pull/110649 -[#114203]: https://github.com/cockroachdb/cockroach/pull/114203 diff --git a/src/current/v24.2/views.md b/src/current/v24.2/views.md index 1b703728bcf..5ff04786770 100644 --- a/src/current/v24.2/views.md +++ b/src/current/v24.2/views.md @@ -634,7 +634,7 @@ To speed up queries on materialized views, you can add an [index]({% link {{ pag CockroachDB supports session-scoped temporary views. Unlike persistent views, temporary views can only be accessed from the session in which they were created, and they are dropped at the end of the session. You can create temporary views on both persistent tables and [temporary tables]({% link {{ page.version.version }}/temporary-tables.md %}). {{site.data.alerts.callout_info}} -{% include feature-phases/preview.md %} For details, see the tracking issue [cockroachdb/cockroach#46260](https://github.com/cockroachdb/cockroach/issues/46260). +{% include feature-phases/preview.md %} {{site.data.alerts.end}} {{site.data.alerts.callout_info}} diff --git a/src/current/v24.3/cluster-setup-troubleshooting.md b/src/current/v24.3/cluster-setup-troubleshooting.md index c7c4541ba08..f5dba308fde 100644 --- a/src/current/v24.3/cluster-setup-troubleshooting.md +++ b/src/current/v24.3/cluster-setup-troubleshooting.md @@ -104,7 +104,7 @@ If you are trying to run all nodes on the same machine, you might get the follow #### Store directory already exists ~~~ -ERROR: could not cleanup temporary directories from record file: could not lock temporary directory /Users/amruta/go/src/github.com/cockroachdb/cockroach/cockroach-data/cockroach-temp301343769, may still be in use: IO error: While lock file: /Users/amruta/go/src/github.com/cockroachdb/cockroach/cockroach-data/cockroach-temp301343769/TEMP_DIR.LOCK: Resource temporarily unavailable +ERROR: could not cleanup temporary directories from record file: could not lock temporary directory /cockroach-data/cockroach-temp301343769, may still be in use: IO error: While lock file: /cockroach-data/cockroach-temp301343769/TEMP_DIR.LOCK: Resource temporarily unavailable ~~~ **Explanation:** When starting a new node on the same machine, the directory you choose to store the data in also contains metadata identifying the cluster the data came from. This causes conflicts when you've already started a node on the server and then tried to start another cluster using the same directory. diff --git a/src/current/v24.3/cockroachdb-feature-availability.md b/src/current/v24.3/cockroachdb-feature-availability.md index 27cbee80074..0ea6956e7fc 100644 --- a/src/current/v24.3/cockroachdb-feature-availability.md +++ b/src/current/v24.3/cockroachdb-feature-availability.md @@ -169,7 +169,7 @@ Example: ### Check for constraint violations with `SCRUB` -Checks the consistency of [`UNIQUE`]({% link {{ page.version.version }}/unique.md %}) indexes, [`CHECK`]({% link {{ page.version.version }}/check.md %}) constraints, and more. Partially implemented; see [cockroachdb/cockroach#10425](https://github.com/cockroachdb/cockroach/issues/10425) for details. +Checks the consistency of [`UNIQUE`]({% link {{ page.version.version }}/unique.md %}) indexes, [`CHECK`]({% link {{ page.version.version }}/check.md %}) constraints, and more. Partially implemented. {{site.data.alerts.callout_info}} This example uses the `users` table from our open-source, fictional peer-to-peer vehicle-sharing application, [MovR]({% link {{ page.version.version }}/movr.md %}). @@ -204,7 +204,7 @@ CockroachDB supports [altering the column types]({% link {{ page.version.version ### Temporary objects -[Temporary tables]({% link {{ page.version.version }}/temporary-tables.md %}), [temporary views]({% link {{ page.version.version }}/views.md %}#temporary-views), and [temporary sequences]({% link {{ page.version.version }}/create-sequence.md %}#temporary-sequences) are in preview in CockroachDB. If you create too many temporary objects in a session, the performance of DDL operations will degrade. Dropping large numbers of temporary objects in rapid succession can also enqueue many [schema change GC jobs]({% link {{ page.version.version }}/show-jobs.md %}), which may further degrade cluster performance. This performance degradation could persist long after creating the temporary objects. For more details, see [cockroachdb/cockroach#46260](https://github.com/cockroachdb/cockroach/issues/46260). +[Temporary tables]({% link {{ page.version.version }}/temporary-tables.md %}), [temporary views]({% link {{ page.version.version }}/views.md %}#temporary-views), and [temporary sequences]({% link {{ page.version.version }}/create-sequence.md %}#temporary-sequences) are in preview in CockroachDB. If you create too many temporary objects in a session, the performance of DDL operations will degrade. Dropping large numbers of temporary objects in rapid succession can also enqueue many [schema change GC jobs]({% link {{ page.version.version }}/show-jobs.md %}), which may further degrade cluster performance. This performance degradation could persist long after creating the temporary objects. To enable temporary objects, set the `experimental_enable_temp_tables` [session variable]({% link {{ page.version.version }}/show-vars.md %}) to `on`. diff --git a/src/current/v24.3/common-table-expressions.md b/src/current/v24.3/common-table-expressions.md index a76f13ff39d..eecee66be5a 100644 --- a/src/current/v24.3/common-table-expressions.md +++ b/src/current/v24.3/common-table-expressions.md @@ -446,7 +446,7 @@ SELECT COUNT(*) FROM temp; Because this pattern incurs the overhead of a new scan for each iteration, it is slower per row than a full scan. It is therefore faster than a full scan in cases (such as this one) where many rows are skipped, but is slower if they are not. {{site.data.alerts.callout_info}} -Some recursive CTEs are not not yet optimized. For details, see the [tracking issue](https://github.com/cockroachdb/cockroach/issues/89954). +Some recursive CTEs are not not yet optimized. {{site.data.alerts.end}} ## Correlated common table expressions diff --git a/src/current/v24.3/configure-replication-zones.md b/src/current/v24.3/configure-replication-zones.md index 090ea83714b..a9e64a4b097 100644 --- a/src/current/v24.3/configure-replication-zones.md +++ b/src/current/v24.3/configure-replication-zones.md @@ -98,7 +98,7 @@ For more information, see the following subsections: The hierarchy of inheritance for zone configs can be visualized using the following outline-style diagram, in which each level of indentation denotes an inheritance relationship. -The only exception to this simple inheritance relationship is that due to a known limitation, sub-partitions do not inherit their values from their parent partitions. Instead, sub-partitions inherit their values from the parent table. For more information, see [cockroachdb/cockroach#75862](https://github.com/cockroachdb/cockroach/issues/75862). +The only exception to this simple inheritance relationship is that due to a known limitation, sub-partitions do not inherit their values from their parent partitions. Instead, sub-partitions inherit their values from the parent table. ``` - default @@ -106,7 +106,7 @@ The only exception to this simple inheritance relationship is that due to a know - table A.B - index A.B.1 - partition (row) 1 - - sub-partition 1.1 (NB. Sub-partitions inherit from tables, *not* partitions - see cockroachdb/cockroach#75862) + - sub-partition 1.1 (NB. Sub-partitions inherit from tables, *not* partitions) - sub-partition 1.1.1 - sub-partition 1.2 - table A.C @@ -127,7 +127,7 @@ From the whole-system perspective, the hierarchy of schema object zone configs c The following diagram presents the same set of schema objects as the previous outline-style diagram, but using boxes and lines joined with arrows that represent the "top-down" view. -Each box represents a schema object in the zone configuration inheritance hierarchy. Each solid line ends in an arrow that points from a parent object to its child object, which will inherit the parent's values unless those values are changed at the child level. The dotted lines between partitions and sub-partitions represent the known limitation mentioned previously that sub-partitions do not inherit their values from their parent partitions. Instead, sub-partitions inherit their values from the parent table. For more information about this limitation, see [cockroachdb/cockroach#75862](https://github.com/cockroachdb/cockroach/issues/75862). +Each box represents a schema object in the zone configuration inheritance hierarchy. Each solid line ends in an arrow that points from a parent object to its child object, which will inherit the parent's values unless those values are changed at the child level. The dotted lines between partitions and sub-partitions represent the known limitation mentioned previously that sub-partitions do not inherit their values from their parent partitions. Instead, sub-partitions inherit their values from the parent table. zone config inheritance diagram diff --git a/src/current/v24.3/create-sequence.md b/src/current/v24.3/create-sequence.md index bae71037988..96474045033 100644 --- a/src/current/v24.3/create-sequence.md +++ b/src/current/v24.3/create-sequence.md @@ -59,7 +59,7 @@ CockroachDB supports the following [SQL sequence functions]({% link {{ page.vers CockroachDB supports session-scoped temporary sequences. Unlike persistent sequences, temporary sequences can only be accessed from the session in which they were created, and they are dropped at the end of the session. You can create temporary sequences on both persistent tables and [temporary tables]({% link {{ page.version.version }}/temporary-tables.md %}). {{site.data.alerts.callout_info}} -{% include feature-phases/preview.md %} For details, see the tracking issue [cockroachdb/cockroach#46260](https://github.com/cockroachdb/cockroach/issues/46260). +{% include feature-phases/preview.md %} {{site.data.alerts.end}} {{site.data.alerts.callout_info}} diff --git a/src/current/v24.3/create-table.md b/src/current/v24.3/create-table.md index d1a4c389267..7cd07047b67 100644 --- a/src/current/v24.3/create-table.md +++ b/src/current/v24.3/create-table.md @@ -155,7 +155,7 @@ If you use `GENERATED BY DEFAULT AS IDENTITY` to define the identity column, any Note the following limitations of identity columns: -- `GENERATED ALWAYS AS IDENTITY`/`GENERATED BY DEFAULT AS IDENTITY` is supported in [`ALTER TABLE ... ADD COLUMN`]({% link {{ page.version.version }}/alter-table.md %}#add-column) statements only when the table being altered is empty, as [CockroachDB does not support back-filling sequential column data]({% link {{ page.version.version }}/known-limitations.md %}#adding-a-column-with-sequence-based-default-values). For more information, see [#42508](https://github.com/cockroachdb/cockroach/issues/42508). +- `GENERATED ALWAYS AS IDENTITY`/`GENERATED BY DEFAULT AS IDENTITY` is supported in [`ALTER TABLE ... ADD COLUMN`]({% link {{ page.version.version }}/alter-table.md %}#add-column) statements only when the table being altered is empty, as [CockroachDB does not support back-filling sequential column data]({% link {{ page.version.version }}/known-limitations.md %}#adding-a-column-with-sequence-based-default-values). - Unlike PostgreSQL, CockroachDB does not support using the `OVERRIDING SYSTEM VALUE` clause in `INSERT`/`UPDATE`/`UPSERT` statements to overwrite `GENERATED ALWAYS AS IDENTITY` identity column values. For an example of an identity column, see [Create a table with an identity column](#create-a-table-with-an-identity-column). diff --git a/src/current/v24.3/disaster-recovery-planning.md b/src/current/v24.3/disaster-recovery-planning.md index ae6bdbc5f1b..83c11244964 100644 --- a/src/current/v24.3/disaster-recovery-planning.md +++ b/src/current/v24.3/disaster-recovery-planning.md @@ -320,7 +320,7 @@ If your cluster is running, you do not have a backup that encapsulates the time If you have corrupted data in a database or table, [restore]({% link {{ page.version.version }}/restore.md %}) the object from a prior [backup]({% link {{ page.version.version }}/backup.md %}). If revision history is in the backup, you can restore from a [point in time]({% link {{ page.version.version }}/take-backups-with-revision-history-and-restore-from-a-point-in-time.md %}). -Instead of dropping the corrupted table or database, we recommend [renaming the table]({% link {{ page.version.version }}/alter-table.md %}#rename-to) or [renaming the database]({% link {{ page.version.version }}/alter-database.md %}#rename-to) so you have historical data to compare to later. If you drop a database, the database cannot be referenced with `AS OF SYSTEM TIME` queries (see [#51380](https://github.com/cockroachdb/cockroach/issues/51380) for more information), and you will need to take a backup that is backdated to the system time when the database still existed. +Instead of dropping the corrupted table or database, we recommend [renaming the table]({% link {{ page.version.version }}/alter-table.md %}#rename-to) or [renaming the database]({% link {{ page.version.version }}/alter-database.md %}#rename-to) so you have historical data to compare to later. If you drop a database, the database cannot be referenced with `AS OF SYSTEM TIME` queries, and you will need to take a backup that is backdated to the system time when the database still existed. {{site.data.alerts.callout_info}} If the table you are restoring has foreign keys, [careful consideration]({% link {{ page.version.version }}/restore.md %}#remove-the-foreign-key-before-restore) should be applied to make sure data integrity is maintained during the restore process. diff --git a/src/current/v24.3/foreign-key.md b/src/current/v24.3/foreign-key.md index 55677511e3d..4b73d5f3211 100644 --- a/src/current/v24.3/foreign-key.md +++ b/src/current/v24.3/foreign-key.md @@ -93,7 +93,7 @@ For matching purposes, composite foreign keys can be in one of three states: For examples showing how these key matching algorithms work, see [Match composite foreign keys with `MATCH SIMPLE` and `MATCH FULL`](#match-composite-foreign-keys-with-match-simple-and-match-full). {{site.data.alerts.callout_info}} -CockroachDB does not support `MATCH PARTIAL`. For more information, see issue [#20305](https://github.com/cockroachdb/cockroach/issues/20305). +CockroachDB does not support `MATCH PARTIAL`. {{site.data.alerts.end}} ### Foreign key actions diff --git a/src/current/v24.3/install-cockroachdb-mac.md b/src/current/v24.3/install-cockroachdb-mac.md index b8e5583b7f0..61445f6709c 100644 --- a/src/current/v24.3/install-cockroachdb-mac.md +++ b/src/current/v24.3/install-cockroachdb-mac.md @@ -201,4 +201,4 @@ CockroachDB runtimes built for the ARM architecture have the following limitatio {% comment %}v22.2.0+{% endcomment %} -On macOS ARM systems, [spatial features]({% link {{ page.version.version }}/spatial-data-overview.md %}) are disabled due to an issue with macOS code signing for the GEOS libraries. Users needing spatial features on an ARM Mac may instead [run the Intel binary](#install-the-binary) or use the[Docker container image](#use-docker). Refer to [GitHub issue #93161](https://github.com/cockroachdb/cockroach/issues/93161) for more information. +On macOS ARM systems, [spatial features]({% link {{ page.version.version }}/spatial-data-overview.md %}) are disabled due to an issue with macOS code signing for the GEOS libraries. Users needing spatial features on an ARM Mac may instead [run the Intel binary](#install-the-binary) or use the[Docker container image](#use-docker). diff --git a/src/current/v24.3/known-limitations.md b/src/current/v24.3/known-limitations.md index 608cf909f5a..ad873c4e792 100644 --- a/src/current/v24.3/known-limitations.md +++ b/src/current/v24.3/known-limitations.md @@ -432,7 +432,7 @@ As a workaround, [execute the file from the command line]({% link {{ page.versio #### Spatial features disabled for ARM Macs -[Spatial features]({% link {{ page.version.version }}/spatial-data-overview.md %}) are disabled due to an issue with macOS code signing for the [GEOS](https://libgeos.org/) libraries. Users needing spatial features on an ARM Mac may instead [use Rosetta](https://developer.apple.com/documentation/virtualization/running_intel_binaries_in_linux_vms_with_rosetta) to [run the Intel binary]({% link {{ page.version.version }}/install-cockroachdb-mac.md %}#install-binary) or use the [Docker image]({% link {{ page.version.version }}/install-cockroachdb-mac.md %}#use-docker) distribution. [GitHub tracking issue](https://github.com/cockroachdb/cockroach/issues/93161) +[Spatial features]({% link {{ page.version.version }}/spatial-data-overview.md %}) are disabled due to an issue with macOS code signing for the [GEOS](https://libgeos.org/) libraries. Users needing spatial features on an ARM Mac may instead [use Rosetta](https://developer.apple.com/documentation/virtualization/running_intel_binaries_in_linux_vms_with_rosetta) to [run the Intel binary]({% link {{ page.version.version }}/install-cockroachdb-mac.md %}#install-binary) or use the [Docker image]({% link {{ page.version.version }}/install-cockroachdb-mac.md %}#use-docker) distribution. #### Logging system limitations diff --git a/src/current/v24.3/query-spatial-data.md b/src/current/v24.3/query-spatial-data.md index 678918809cc..4b20ca46faa 100644 --- a/src/current/v24.3/query-spatial-data.md +++ b/src/current/v24.3/query-spatial-data.md @@ -24,7 +24,7 @@ Just as CockroachDB strives for [PostgreSQL compatibility]({% link {{ page.versi CockroachDB does not implement the full list of PostGIS built-in functions and operators. Also, [spatial indexing works differently]({% link {{ page.version.version }}/spatial-indexes.md %}) (see the [Performance](#performance) section below). For a list of the spatial functions CockroachDB supports, see [Geospatial functions]({% link {{ page.version.version }}/functions-and-operators.md %}#spatial-functions). -If your application needs support for functions that are not yet implemented, check the [meta-issue for built-in function support on GitHub](https://github.com/cockroachdb/cockroach/issues/49203), which describes how to find an issue for the built-in function(s) you need. +If your application needs support for functions that are not yet implemented, please [contact Support](https://support.cockroachlabs.com). For a list of other known limitations, see [Known Limitations]({% link {{ page.version.version }}/known-limitations.md %}#spatial-support-limitations). diff --git a/src/current/v24.3/restore.md b/src/current/v24.3/restore.md index d4e90781c61..883cd5814ed 100644 --- a/src/current/v24.3/restore.md +++ b/src/current/v24.3/restore.md @@ -281,7 +281,7 @@ CockroachDB does **not** support incremental-only restores. - {% include {{ page.version.version }}/known-limitations/restore-multiregion-match.md %} -The ordering of regions and how region matching is determined is a known limitation. See the [Known Limitations](#known-limitations) section for the tracking issues on limitations around `RESTORE` and multi-region support. +The ordering of regions and how region matching is determined is a known limitation. For more on multi-region databases, see the [Multi-Region Capabilities Overview]({% link {{ page.version.version }}/multiregion-overview.md %}). diff --git a/src/current/v24.3/spatial-tutorial.md b/src/current/v24.3/spatial-tutorial.md index bf735930eab..4268ae216dc 100644 --- a/src/current/v24.3/spatial-tutorial.md +++ b/src/current/v24.3/spatial-tutorial.md @@ -966,7 +966,7 @@ Time: 1.447s total (execution 1.446s / network 0.000s) Unfortunately, this query is a bit slower than you would like: about 1.5 seconds on a single-node [`cockroach demo`]({% link {{ page.version.version }}/cockroach-demo.md %}) cluster on a laptop. There are several reasons for this: 1. You haven't created any indexes at all yet. The query is likely to be doing full table scans, which you will need to hunt down with [`EXPLAIN`]({% link {{ page.version.version }}/explain.md %}). -1. CockroachDB does not yet have built-in support for index-based nearest neighbor queries. If this feature is important to you, please comment with some information about your use case on [cockroachdb/cockroach#55227](https://github.com/cockroachdb/cockroach/issues/55227). +1. CockroachDB does not yet have built-in support for index-based nearest neighbor queries. Let's look at the `EXPLAIN` output to see if there is something that can be done to improve this query's performance: diff --git a/src/current/v24.3/sql-feature-support.md b/src/current/v24.3/sql-feature-support.md index df9fa0711d8..a12847e0f67 100644 --- a/src/current/v24.3/sql-feature-support.md +++ b/src/current/v24.3/sql-feature-support.md @@ -194,4 +194,4 @@ XML | ✗ | Standard | XML data can be stored as `BYTES`, but we do not offer XM Triggers | Partial | Standard | [Triggers documentation]({% link {{ page.version.version }}/triggers.md %}) Row-level TTL | ✓ | Common Extension | Automatically delete expired rows. For more information, see [Batch-delete expired data with Row-Level TTL]({% link {{ page.version.version }}/row-level-ttl.md %}). User-defined functions | Partial | Standard | [User-Defined Functions documentation]({% link {{ page.version.version }}/user-defined-functions.md %}) - `CREATE EXTENSION "uuid-ossp"` | ✓ | Common Extension | Provides access to several additional [UUID generation functions]({% link {{ page.version.version }}/functions-and-operators.md %}#id-generation-functions). Note that these UUID functions are available without typing `CREATE EXTENSION "uuid-ossp"`. CockroachDB does not have full support for `CREATE EXTENSION`. [GitHub issue tracking `CREATE EXTENSION` support](https://github.com/cockroachdb/cockroach/issues/74777). + `CREATE EXTENSION "uuid-ossp"` | ✓ | Common Extension | Provides access to several additional [UUID generation functions]({% link {{ page.version.version }}/functions-and-operators.md %}#id-generation-functions). Note that these UUID functions are available without typing `CREATE EXTENSION "uuid-ossp"`. CockroachDB does not have full support for `CREATE EXTENSION`. diff --git a/src/current/v24.3/sql-name-resolution.md b/src/current/v24.3/sql-name-resolution.md index 554a9a65583..000ae5bf2dd 100644 --- a/src/current/v24.3/sql-name-resolution.md +++ b/src/current/v24.3/sql-name-resolution.md @@ -37,8 +37,7 @@ If you are upgrading to {{ page.version.version }}, take any combination of the - [Create new schemas]({% link {{ page.version.version }}/create-schema.md %}) in databases on your cluster. After the schemas are created, use [`ALTER TABLE ... RENAME`]({% link {{ page.version.version }}/alter-table.md %}#rename-to), [`ALTER SEQUENCE ... RENAME`]({% link {{ page.version.version }}/alter-sequence.md %}), [`ALTER TYPE ... RENAME`]({% link {{ page.version.version }}/alter-type.md %}), or [`ALTER VIEW ... RENAME`]({% link {{ page.version.version }}/alter-view.md %}) statements to move objects between databases as needed. To move objects between schemas, use [`ALTER TABLE ... SET SCHEMA`]({% link {{ page.version.version }}/alter-table.md %}#set-schema), [`ALTER SEQUENCE ... SET SCHEMA`]({% link {{ page.version.version }}/alter-sequence.md %}), or [`ALTER VIEW ... SET SCHEMA`]({% link {{ page.version.version }}/alter-view.md %}). -- If your cluster contains cross-database references (e.g., a cross-database foreign key reference, or a cross-database view reference), use the relevant [`ALTER TABLE`]({% link {{ page.version.version }}/alter-table.md %}), [`ALTER SEQUENCE`]({% link {{ page.version.version }}/alter-sequence.md %}), [`ALTER TYPE`]({% link {{ page.version.version }}/alter-type.md %}), or [`ALTER VIEW `]({% link {{ page.version.version }}/alter-view.md %}) statements to move any cross-referencing objects to the same database, but different schemas. Cross-database object references were allowed in earlier versions of CockroachDB to make database-object naming hierarchies more flexible for users. In v20.2, creating cross-database references are disabled for [foreign keys](foreign-key.html), [views]({% link {{ page.version.version }}/views.md %}), and [sequence ownership]({% link {{ page.version.version }}/create-sequence.md %}). For details, see [tracking issue](https://github.com/cockroachdb/cockroach/issues/55791). - +- If your cluster contains cross-database references (e.g., a cross-database foreign key reference, or a cross-database view reference), use the relevant [`ALTER TABLE`]({% link {{ page.version.version }}/alter-table.md %}), [`ALTER SEQUENCE`]({% link {{ page.version.version }}/alter-sequence.md %}), [`ALTER TYPE`]({% link {{ page.version.version }}/alter-type.md %}), or [`ALTER VIEW `]({% link {{ page.version.version }}/alter-view.md %}) statements to move any cross-referencing objects to the same database, but different schemas. Cross-database object references were allowed in earlier versions of CockroachDB to make database-object naming hierarchies more flexible for users. In v20.2, creating cross-database references are disabled for [foreign keys](foreign-key.html), [views]({% link {{ page.version.version }}/views.md %}), and [sequence ownership]({% link {{ page.version.version }}/create-sequence.md %}). ## How name resolution works Name resolution occurs separately to **look up existing objects** and to diff --git a/src/current/v24.3/st_union.md b/src/current/v24.3/st_union.md index 9ee0110f404..47147d0a0cd 100644 --- a/src/current/v24.3/st_union.md +++ b/src/current/v24.3/st_union.md @@ -12,7 +12,7 @@ Given a set of shapes (e.g., from a [selection query]({% link {{ page.version.ve - [`GEOMETRY`]({% link {{ page.version.version }}/architecture/glossary.md %}#geometry) {{site.data.alerts.callout_info}} -The non-aggregate version of `ST_Union` is not yet implemented. For more information, see [cockroach#49064](https://github.com/cockroachdb/cockroach/issues/49064). +The non-aggregate version of `ST_Union` is not yet implemented. {{site.data.alerts.end}} {{site.data.alerts.callout_info}} diff --git a/src/current/v24.3/temporary-tables.md b/src/current/v24.3/temporary-tables.md index 3a92fc64c97..3d96d296a59 100644 --- a/src/current/v24.3/temporary-tables.md +++ b/src/current/v24.3/temporary-tables.md @@ -10,7 +10,7 @@ docs_area: develop To create a temp table, add `TEMP`/`TEMPORARY` to a [`CREATE TABLE`]({% link {{ page.version.version }}/create-table.md %}) or [`CREATE TABLE AS`]({% link {{ page.version.version }}/create-table-as.md %}) statement. For full syntax details, see the [`CREATE TABLE`]({% link {{ page.version.version }}/create-table.md %}#synopsis) and [`CREATE TABLE AS`]({% link {{ page.version.version }}/create-table-as.md %}#synopsis) pages. For example usage, see [Examples](#examples). {{site.data.alerts.callout_info}} -{% include feature-phases/preview.md %} For details, see the tracking issue [cockroachdb/cockroach#46260](https://github.com/cockroachdb/cockroach/issues/46260). +{% include feature-phases/preview.md %} {{site.data.alerts.end}} {{site.data.alerts.callout_info}} diff --git a/src/current/v24.3/views.md b/src/current/v24.3/views.md index 1b703728bcf..5ff04786770 100644 --- a/src/current/v24.3/views.md +++ b/src/current/v24.3/views.md @@ -634,7 +634,7 @@ To speed up queries on materialized views, you can add an [index]({% link {{ pag CockroachDB supports session-scoped temporary views. Unlike persistent views, temporary views can only be accessed from the session in which they were created, and they are dropped at the end of the session. You can create temporary views on both persistent tables and [temporary tables]({% link {{ page.version.version }}/temporary-tables.md %}). {{site.data.alerts.callout_info}} -{% include feature-phases/preview.md %} For details, see the tracking issue [cockroachdb/cockroach#46260](https://github.com/cockroachdb/cockroach/issues/46260). +{% include feature-phases/preview.md %} {{site.data.alerts.end}} {{site.data.alerts.callout_info}} diff --git a/src/current/v25.1/cluster-setup-troubleshooting.md b/src/current/v25.1/cluster-setup-troubleshooting.md index 1d1e0b8e013..519bdb285aa 100644 --- a/src/current/v25.1/cluster-setup-troubleshooting.md +++ b/src/current/v25.1/cluster-setup-troubleshooting.md @@ -104,7 +104,7 @@ If you are trying to run all nodes on the same machine, you might get the follow #### Store directory already exists ~~~ -ERROR: could not cleanup temporary directories from record file: could not lock temporary directory /Users/amruta/go/src/github.com/cockroachdb/cockroach/cockroach-data/cockroach-temp301343769, may still be in use: IO error: While lock file: /Users/amruta/go/src/github.com/cockroachdb/cockroach/cockroach-data/cockroach-temp301343769/TEMP_DIR.LOCK: Resource temporarily unavailable +ERROR: could not cleanup temporary directories from record file: could not lock temporary directory /cockroach-data/cockroach-temp301343769, may still be in use: IO error: While lock file: /cockroach-data/cockroach-temp301343769/TEMP_DIR.LOCK: Resource temporarily unavailable ~~~ **Explanation:** When starting a new node on the same machine, the directory you choose to store the data in also contains metadata identifying the cluster the data came from. This causes conflicts when you've already started a node on the server and then tried to start another cluster using the same directory. diff --git a/src/current/v25.1/cockroachdb-feature-availability.md b/src/current/v25.1/cockroachdb-feature-availability.md index 8248a4f9a84..1c266de975d 100644 --- a/src/current/v25.1/cockroachdb-feature-availability.md +++ b/src/current/v25.1/cockroachdb-feature-availability.md @@ -169,7 +169,7 @@ Example: ### Check for constraint violations with `SCRUB` -Checks the consistency of [`UNIQUE`]({% link {{ page.version.version }}/unique.md %}) indexes, [`CHECK`]({% link {{ page.version.version }}/check.md %}) constraints, and more. Partially implemented; see [cockroachdb/cockroach#10425](https://github.com/cockroachdb/cockroach/issues/10425) for details. +Checks the consistency of [`UNIQUE`]({% link {{ page.version.version }}/unique.md %}) indexes, [`CHECK`]({% link {{ page.version.version }}/check.md %}) constraints, and more. Partially implemented. {{site.data.alerts.callout_info}} This example uses the `users` table from our open-source, fictional peer-to-peer vehicle-sharing application, [MovR]({% link {{ page.version.version }}/movr.md %}). @@ -200,7 +200,7 @@ The [`SHOW RANGE ... FOR ROW`]({% link {{ page.version.version }}/show-range-for ### Temporary objects -[Temporary tables]({% link {{ page.version.version }}/temporary-tables.md %}), [temporary views]({% link {{ page.version.version }}/views.md %}#temporary-views), and [temporary sequences]({% link {{ page.version.version }}/create-sequence.md %}#temporary-sequences) are in preview in CockroachDB. If you create too many temporary objects in a session, the performance of DDL operations will degrade. Dropping large numbers of temporary objects in rapid succession can also enqueue many [schema change GC jobs]({% link {{ page.version.version }}/show-jobs.md %}), which may further degrade cluster performance. This performance degradation could persist long after creating the temporary objects. For more details, see [cockroachdb/cockroach#46260](https://github.com/cockroachdb/cockroach/issues/46260). +[Temporary tables]({% link {{ page.version.version }}/temporary-tables.md %}), [temporary views]({% link {{ page.version.version }}/views.md %}#temporary-views), and [temporary sequences]({% link {{ page.version.version }}/create-sequence.md %}#temporary-sequences) are in preview in CockroachDB. If you create too many temporary objects in a session, the performance of DDL operations will degrade. Dropping large numbers of temporary objects in rapid succession can also enqueue many [schema change GC jobs]({% link {{ page.version.version }}/show-jobs.md %}), which may further degrade cluster performance. This performance degradation could persist long after creating the temporary objects. To enable temporary objects, set the `experimental_enable_temp_tables` [session variable]({% link {{ page.version.version }}/show-vars.md %}) to `on`. diff --git a/src/current/v25.1/common-table-expressions.md b/src/current/v25.1/common-table-expressions.md index a76f13ff39d..eecee66be5a 100644 --- a/src/current/v25.1/common-table-expressions.md +++ b/src/current/v25.1/common-table-expressions.md @@ -446,7 +446,7 @@ SELECT COUNT(*) FROM temp; Because this pattern incurs the overhead of a new scan for each iteration, it is slower per row than a full scan. It is therefore faster than a full scan in cases (such as this one) where many rows are skipped, but is slower if they are not. {{site.data.alerts.callout_info}} -Some recursive CTEs are not not yet optimized. For details, see the [tracking issue](https://github.com/cockroachdb/cockroach/issues/89954). +Some recursive CTEs are not not yet optimized. {{site.data.alerts.end}} ## Correlated common table expressions diff --git a/src/current/v25.1/configure-replication-zones.md b/src/current/v25.1/configure-replication-zones.md index ff025802628..a786b4707ec 100644 --- a/src/current/v25.1/configure-replication-zones.md +++ b/src/current/v25.1/configure-replication-zones.md @@ -98,7 +98,7 @@ For more information, see the following subsections: The hierarchy of inheritance for zone configs can be visualized using the following outline-style diagram, in which each level of indentation denotes an inheritance relationship. -The only exception to this simple inheritance relationship is that due to a known limitation, sub-partitions do not inherit their values from their parent partitions. Instead, sub-partitions inherit their values from the parent table. For more information, see [cockroachdb/cockroach#75862](https://github.com/cockroachdb/cockroach/issues/75862). +The only exception to this simple inheritance relationship is that due to a known limitation, sub-partitions do not inherit their values from their parent partitions. Instead, sub-partitions inherit their values from the parent table. ``` - default @@ -106,7 +106,7 @@ The only exception to this simple inheritance relationship is that due to a know - table A.B - index A.B.1 - partition (row) 1 - - sub-partition 1.1 (NB. Sub-partitions inherit from tables, *not* partitions - see cockroachdb/cockroach#75862) + - sub-partition 1.1 (NB. Sub-partitions inherit from tables, *not* partitions) - sub-partition 1.1.1 - sub-partition 1.2 - table A.C @@ -127,7 +127,7 @@ From the whole-system perspective, the hierarchy of schema object zone configs c The following diagram presents the same set of schema objects as the previous outline-style diagram, but using boxes and lines joined with arrows that represent the "top-down" view. -Each box represents a schema object in the zone configuration inheritance hierarchy. Each solid line ends in an arrow that points from a parent object to its child object, which will inherit the parent's values unless those values are changed at the child level. The dotted lines between partitions and sub-partitions represent the known limitation mentioned previously that sub-partitions do not inherit their values from their parent partitions. Instead, sub-partitions inherit their values from the parent table. For more information about this limitation, see [cockroachdb/cockroach#75862](https://github.com/cockroachdb/cockroach/issues/75862). +Each box represents a schema object in the zone configuration inheritance hierarchy. Each solid line ends in an arrow that points from a parent object to its child object, which will inherit the parent's values unless those values are changed at the child level. The dotted lines between partitions and sub-partitions represent the known limitation mentioned previously that sub-partitions do not inherit their values from their parent partitions. Instead, sub-partitions inherit their values from the parent table. zone config inheritance diagram diff --git a/src/current/v25.1/create-sequence.md b/src/current/v25.1/create-sequence.md index f623b19c6db..0ccddab7021 100644 --- a/src/current/v25.1/create-sequence.md +++ b/src/current/v25.1/create-sequence.md @@ -58,7 +58,7 @@ CockroachDB supports the following [SQL sequence functions]({% link {{ page.vers CockroachDB supports session-scoped temporary sequences. Unlike persistent sequences, temporary sequences can only be accessed from the session in which they were created, and they are dropped at the end of the session. You can create temporary sequences on both persistent tables and [temporary tables]({% link {{ page.version.version }}/temporary-tables.md %}). {{site.data.alerts.callout_info}} -{% include feature-phases/preview.md %} For details, see the tracking issue [cockroachdb/cockroach#46260](https://github.com/cockroachdb/cockroach/issues/46260). +{% include feature-phases/preview.md %} {{site.data.alerts.end}} {{site.data.alerts.callout_info}} diff --git a/src/current/v25.1/create-table.md b/src/current/v25.1/create-table.md index d1a4c389267..7cd07047b67 100644 --- a/src/current/v25.1/create-table.md +++ b/src/current/v25.1/create-table.md @@ -155,7 +155,7 @@ If you use `GENERATED BY DEFAULT AS IDENTITY` to define the identity column, any Note the following limitations of identity columns: -- `GENERATED ALWAYS AS IDENTITY`/`GENERATED BY DEFAULT AS IDENTITY` is supported in [`ALTER TABLE ... ADD COLUMN`]({% link {{ page.version.version }}/alter-table.md %}#add-column) statements only when the table being altered is empty, as [CockroachDB does not support back-filling sequential column data]({% link {{ page.version.version }}/known-limitations.md %}#adding-a-column-with-sequence-based-default-values). For more information, see [#42508](https://github.com/cockroachdb/cockroach/issues/42508). +- `GENERATED ALWAYS AS IDENTITY`/`GENERATED BY DEFAULT AS IDENTITY` is supported in [`ALTER TABLE ... ADD COLUMN`]({% link {{ page.version.version }}/alter-table.md %}#add-column) statements only when the table being altered is empty, as [CockroachDB does not support back-filling sequential column data]({% link {{ page.version.version }}/known-limitations.md %}#adding-a-column-with-sequence-based-default-values). - Unlike PostgreSQL, CockroachDB does not support using the `OVERRIDING SYSTEM VALUE` clause in `INSERT`/`UPDATE`/`UPSERT` statements to overwrite `GENERATED ALWAYS AS IDENTITY` identity column values. For an example of an identity column, see [Create a table with an identity column](#create-a-table-with-an-identity-column). diff --git a/src/current/v25.1/disaster-recovery-planning.md b/src/current/v25.1/disaster-recovery-planning.md index ae6bdbc5f1b..83c11244964 100644 --- a/src/current/v25.1/disaster-recovery-planning.md +++ b/src/current/v25.1/disaster-recovery-planning.md @@ -320,7 +320,7 @@ If your cluster is running, you do not have a backup that encapsulates the time If you have corrupted data in a database or table, [restore]({% link {{ page.version.version }}/restore.md %}) the object from a prior [backup]({% link {{ page.version.version }}/backup.md %}). If revision history is in the backup, you can restore from a [point in time]({% link {{ page.version.version }}/take-backups-with-revision-history-and-restore-from-a-point-in-time.md %}). -Instead of dropping the corrupted table or database, we recommend [renaming the table]({% link {{ page.version.version }}/alter-table.md %}#rename-to) or [renaming the database]({% link {{ page.version.version }}/alter-database.md %}#rename-to) so you have historical data to compare to later. If you drop a database, the database cannot be referenced with `AS OF SYSTEM TIME` queries (see [#51380](https://github.com/cockroachdb/cockroach/issues/51380) for more information), and you will need to take a backup that is backdated to the system time when the database still existed. +Instead of dropping the corrupted table or database, we recommend [renaming the table]({% link {{ page.version.version }}/alter-table.md %}#rename-to) or [renaming the database]({% link {{ page.version.version }}/alter-database.md %}#rename-to) so you have historical data to compare to later. If you drop a database, the database cannot be referenced with `AS OF SYSTEM TIME` queries, and you will need to take a backup that is backdated to the system time when the database still existed. {{site.data.alerts.callout_info}} If the table you are restoring has foreign keys, [careful consideration]({% link {{ page.version.version }}/restore.md %}#remove-the-foreign-key-before-restore) should be applied to make sure data integrity is maintained during the restore process. diff --git a/src/current/v25.1/foreign-key.md b/src/current/v25.1/foreign-key.md index 55677511e3d..4b73d5f3211 100644 --- a/src/current/v25.1/foreign-key.md +++ b/src/current/v25.1/foreign-key.md @@ -93,7 +93,7 @@ For matching purposes, composite foreign keys can be in one of three states: For examples showing how these key matching algorithms work, see [Match composite foreign keys with `MATCH SIMPLE` and `MATCH FULL`](#match-composite-foreign-keys-with-match-simple-and-match-full). {{site.data.alerts.callout_info}} -CockroachDB does not support `MATCH PARTIAL`. For more information, see issue [#20305](https://github.com/cockroachdb/cockroach/issues/20305). +CockroachDB does not support `MATCH PARTIAL`. {{site.data.alerts.end}} ### Foreign key actions diff --git a/src/current/v25.1/install-cockroachdb-mac.md b/src/current/v25.1/install-cockroachdb-mac.md index b8e5583b7f0..61445f6709c 100644 --- a/src/current/v25.1/install-cockroachdb-mac.md +++ b/src/current/v25.1/install-cockroachdb-mac.md @@ -201,4 +201,4 @@ CockroachDB runtimes built for the ARM architecture have the following limitatio {% comment %}v22.2.0+{% endcomment %} -On macOS ARM systems, [spatial features]({% link {{ page.version.version }}/spatial-data-overview.md %}) are disabled due to an issue with macOS code signing for the GEOS libraries. Users needing spatial features on an ARM Mac may instead [run the Intel binary](#install-the-binary) or use the[Docker container image](#use-docker). Refer to [GitHub issue #93161](https://github.com/cockroachdb/cockroach/issues/93161) for more information. +On macOS ARM systems, [spatial features]({% link {{ page.version.version }}/spatial-data-overview.md %}) are disabled due to an issue with macOS code signing for the GEOS libraries. Users needing spatial features on an ARM Mac may instead [run the Intel binary](#install-the-binary) or use the[Docker container image](#use-docker). diff --git a/src/current/v25.1/known-limitations.md b/src/current/v25.1/known-limitations.md index 4f76260d1aa..133faa9e4f3 100644 --- a/src/current/v25.1/known-limitations.md +++ b/src/current/v25.1/known-limitations.md @@ -421,7 +421,7 @@ As a workaround, [execute the file from the command line]({% link {{ page.versio #### Spatial features disabled for ARM Macs -[Spatial features]({% link {{ page.version.version }}/spatial-data-overview.md %}) are disabled due to an issue with macOS code signing for the [GEOS](https://libgeos.org/) libraries. Users needing spatial features on an ARM Mac may instead [use Rosetta](https://developer.apple.com/documentation/virtualization/running_intel_binaries_in_linux_vms_with_rosetta) to [run the Intel binary]({% link {{ page.version.version }}/install-cockroachdb-mac.md %}#install-binary) or use the [Docker image]({% link {{ page.version.version }}/install-cockroachdb-mac.md %}#use-docker) distribution. [GitHub tracking issue](https://github.com/cockroachdb/cockroach/issues/93161) +[Spatial features]({% link {{ page.version.version }}/spatial-data-overview.md %}) are disabled due to an issue with macOS code signing for the [GEOS](https://libgeos.org/) libraries. Users needing spatial features on an ARM Mac may instead [use Rosetta](https://developer.apple.com/documentation/virtualization/running_intel_binaries_in_linux_vms_with_rosetta) to [run the Intel binary]({% link {{ page.version.version }}/install-cockroachdb-mac.md %}#install-binary) or use the [Docker image]({% link {{ page.version.version }}/install-cockroachdb-mac.md %}#use-docker) distribution. #### Logging system limitations diff --git a/src/current/v25.1/query-spatial-data.md b/src/current/v25.1/query-spatial-data.md index 7238ce52cf5..03223079831 100644 --- a/src/current/v25.1/query-spatial-data.md +++ b/src/current/v25.1/query-spatial-data.md @@ -24,7 +24,7 @@ Just as CockroachDB strives for [PostgreSQL compatibility]({% link {{ page.versi CockroachDB does not implement the full list of PostGIS built-in functions and operators. Also, [spatial indexing works differently]({% link {{ page.version.version }}/spatial-indexes.md %}) (see the [Performance](#performance) section below). For a list of the spatial functions CockroachDB supports, see [Geospatial functions]({% link {{ page.version.version }}/functions-and-operators.md %}#spatial-functions). -If your application needs support for functions that are not yet implemented, check the [meta-issue for built-in function support on GitHub](https://github.com/cockroachdb/cockroach/issues/49203), which describes how to find an issue for the built-in function(s) you need. +If your application needs support for functions that are not yet implemented, please [contact Support](https://support.cockroachlabs.com). For a list of other known limitations, see [Known Limitations]({% link {{ page.version.version }}/known-limitations.md %}#spatial-support-limitations). diff --git a/src/current/v25.1/restore.md b/src/current/v25.1/restore.md index d806a0c7eef..52cebe3a621 100644 --- a/src/current/v25.1/restore.md +++ b/src/current/v25.1/restore.md @@ -279,7 +279,7 @@ CockroachDB does **not** support incremental-only restores. - {% include {{ page.version.version }}/known-limitations/restore-multiregion-match.md %} -The ordering of regions and how region matching is determined is a known limitation. See the [Known Limitations](#known-limitations) section for the tracking issues on limitations around `RESTORE` and multi-region support. +The ordering of regions and how region matching is determined is a known limitation. For more on multi-region databases, see the [Multi-Region Capabilities Overview]({% link {{ page.version.version }}/multiregion-overview.md %}). diff --git a/src/current/v25.1/spatial-tutorial.md b/src/current/v25.1/spatial-tutorial.md index 2a201cf7acf..f7c9f7ac0ac 100644 --- a/src/current/v25.1/spatial-tutorial.md +++ b/src/current/v25.1/spatial-tutorial.md @@ -966,7 +966,7 @@ Time: 1.447s total (execution 1.446s / network 0.000s) Unfortunately, this query is a bit slower than you would like: about 1.5 seconds on a single-node [`cockroach demo`]({% link {{ page.version.version }}/cockroach-demo.md %}) cluster on a laptop. There are several reasons for this: 1. You haven't created any indexes at all yet. The query is likely to be doing full table scans, which you will need to hunt down with [`EXPLAIN`]({% link {{ page.version.version }}/explain.md %}). -1. CockroachDB does not yet have built-in support for index-based nearest neighbor queries. If this feature is important to you, please comment with some information about your use case on [cockroachdb/cockroach#55227](https://github.com/cockroachdb/cockroach/issues/55227). +1. CockroachDB does not yet have built-in support for index-based nearest neighbor queries. Let's look at the `EXPLAIN` output to see if there is something that can be done to improve this query's performance: diff --git a/src/current/v25.1/sql-feature-support.md b/src/current/v25.1/sql-feature-support.md index df9fa0711d8..a12847e0f67 100644 --- a/src/current/v25.1/sql-feature-support.md +++ b/src/current/v25.1/sql-feature-support.md @@ -194,4 +194,4 @@ XML | ✗ | Standard | XML data can be stored as `BYTES`, but we do not offer XM Triggers | Partial | Standard | [Triggers documentation]({% link {{ page.version.version }}/triggers.md %}) Row-level TTL | ✓ | Common Extension | Automatically delete expired rows. For more information, see [Batch-delete expired data with Row-Level TTL]({% link {{ page.version.version }}/row-level-ttl.md %}). User-defined functions | Partial | Standard | [User-Defined Functions documentation]({% link {{ page.version.version }}/user-defined-functions.md %}) - `CREATE EXTENSION "uuid-ossp"` | ✓ | Common Extension | Provides access to several additional [UUID generation functions]({% link {{ page.version.version }}/functions-and-operators.md %}#id-generation-functions). Note that these UUID functions are available without typing `CREATE EXTENSION "uuid-ossp"`. CockroachDB does not have full support for `CREATE EXTENSION`. [GitHub issue tracking `CREATE EXTENSION` support](https://github.com/cockroachdb/cockroach/issues/74777). + `CREATE EXTENSION "uuid-ossp"` | ✓ | Common Extension | Provides access to several additional [UUID generation functions]({% link {{ page.version.version }}/functions-and-operators.md %}#id-generation-functions). Note that these UUID functions are available without typing `CREATE EXTENSION "uuid-ossp"`. CockroachDB does not have full support for `CREATE EXTENSION`. diff --git a/src/current/v25.1/sql-name-resolution.md b/src/current/v25.1/sql-name-resolution.md index 554a9a65583..000ae5bf2dd 100644 --- a/src/current/v25.1/sql-name-resolution.md +++ b/src/current/v25.1/sql-name-resolution.md @@ -37,8 +37,7 @@ If you are upgrading to {{ page.version.version }}, take any combination of the - [Create new schemas]({% link {{ page.version.version }}/create-schema.md %}) in databases on your cluster. After the schemas are created, use [`ALTER TABLE ... RENAME`]({% link {{ page.version.version }}/alter-table.md %}#rename-to), [`ALTER SEQUENCE ... RENAME`]({% link {{ page.version.version }}/alter-sequence.md %}), [`ALTER TYPE ... RENAME`]({% link {{ page.version.version }}/alter-type.md %}), or [`ALTER VIEW ... RENAME`]({% link {{ page.version.version }}/alter-view.md %}) statements to move objects between databases as needed. To move objects between schemas, use [`ALTER TABLE ... SET SCHEMA`]({% link {{ page.version.version }}/alter-table.md %}#set-schema), [`ALTER SEQUENCE ... SET SCHEMA`]({% link {{ page.version.version }}/alter-sequence.md %}), or [`ALTER VIEW ... SET SCHEMA`]({% link {{ page.version.version }}/alter-view.md %}). -- If your cluster contains cross-database references (e.g., a cross-database foreign key reference, or a cross-database view reference), use the relevant [`ALTER TABLE`]({% link {{ page.version.version }}/alter-table.md %}), [`ALTER SEQUENCE`]({% link {{ page.version.version }}/alter-sequence.md %}), [`ALTER TYPE`]({% link {{ page.version.version }}/alter-type.md %}), or [`ALTER VIEW `]({% link {{ page.version.version }}/alter-view.md %}) statements to move any cross-referencing objects to the same database, but different schemas. Cross-database object references were allowed in earlier versions of CockroachDB to make database-object naming hierarchies more flexible for users. In v20.2, creating cross-database references are disabled for [foreign keys](foreign-key.html), [views]({% link {{ page.version.version }}/views.md %}), and [sequence ownership]({% link {{ page.version.version }}/create-sequence.md %}). For details, see [tracking issue](https://github.com/cockroachdb/cockroach/issues/55791). - +- If your cluster contains cross-database references (e.g., a cross-database foreign key reference, or a cross-database view reference), use the relevant [`ALTER TABLE`]({% link {{ page.version.version }}/alter-table.md %}), [`ALTER SEQUENCE`]({% link {{ page.version.version }}/alter-sequence.md %}), [`ALTER TYPE`]({% link {{ page.version.version }}/alter-type.md %}), or [`ALTER VIEW `]({% link {{ page.version.version }}/alter-view.md %}) statements to move any cross-referencing objects to the same database, but different schemas. Cross-database object references were allowed in earlier versions of CockroachDB to make database-object naming hierarchies more flexible for users. In v20.2, creating cross-database references are disabled for [foreign keys](foreign-key.html), [views]({% link {{ page.version.version }}/views.md %}), and [sequence ownership]({% link {{ page.version.version }}/create-sequence.md %}). ## How name resolution works Name resolution occurs separately to **look up existing objects** and to diff --git a/src/current/v25.1/st_union.md b/src/current/v25.1/st_union.md index df4a9429bc1..47147d0a0cd 100644 --- a/src/current/v25.1/st_union.md +++ b/src/current/v25.1/st_union.md @@ -12,7 +12,7 @@ Given a set of shapes (e.g., from a [selection query]({% link {{ page.version.ve - [`GEOMETRY`]({% link {{ page.version.version }}/architecture/glossary.md %}#geometry) {{site.data.alerts.callout_info}} -The non-aggregate version of `ST_Union` is not yet implemented. For more information, see [cockroach#49064](https://github.com/cockroachdb/cockroach/issues/49064). +The non-aggregate version of `ST_Union` is not yet implemented. {{site.data.alerts.end}} {{site.data.alerts.callout_info}} @@ -236,7 +236,7 @@ In this example, we will generate a single geometry from many individual points 1. Paste the JSON emitted in the previous step into [geojson.io](http://geojson.io) and you should see an image like the following, which shows the location of [most of the independent bookstores in New York State](https://www.bookweb.org/member_directory/search/ABAmember/results/0/0/ny/0): - ST_Union example + ST_Union example 1. Finally, drop the temporary table if you no longer need it: diff --git a/src/current/v25.1/temporary-tables.md b/src/current/v25.1/temporary-tables.md index 3a92fc64c97..3d96d296a59 100644 --- a/src/current/v25.1/temporary-tables.md +++ b/src/current/v25.1/temporary-tables.md @@ -10,7 +10,7 @@ docs_area: develop To create a temp table, add `TEMP`/`TEMPORARY` to a [`CREATE TABLE`]({% link {{ page.version.version }}/create-table.md %}) or [`CREATE TABLE AS`]({% link {{ page.version.version }}/create-table-as.md %}) statement. For full syntax details, see the [`CREATE TABLE`]({% link {{ page.version.version }}/create-table.md %}#synopsis) and [`CREATE TABLE AS`]({% link {{ page.version.version }}/create-table-as.md %}#synopsis) pages. For example usage, see [Examples](#examples). {{site.data.alerts.callout_info}} -{% include feature-phases/preview.md %} For details, see the tracking issue [cockroachdb/cockroach#46260](https://github.com/cockroachdb/cockroach/issues/46260). +{% include feature-phases/preview.md %} {{site.data.alerts.end}} {{site.data.alerts.callout_info}} diff --git a/src/current/v25.1/views.md b/src/current/v25.1/views.md index 1b703728bcf..5ff04786770 100644 --- a/src/current/v25.1/views.md +++ b/src/current/v25.1/views.md @@ -634,7 +634,7 @@ To speed up queries on materialized views, you can add an [index]({% link {{ pag CockroachDB supports session-scoped temporary views. Unlike persistent views, temporary views can only be accessed from the session in which they were created, and they are dropped at the end of the session. You can create temporary views on both persistent tables and [temporary tables]({% link {{ page.version.version }}/temporary-tables.md %}). {{site.data.alerts.callout_info}} -{% include feature-phases/preview.md %} For details, see the tracking issue [cockroachdb/cockroach#46260](https://github.com/cockroachdb/cockroach/issues/46260). +{% include feature-phases/preview.md %} {{site.data.alerts.end}} {{site.data.alerts.callout_info}} diff --git a/src/current/v25.2/cluster-setup-troubleshooting.md b/src/current/v25.2/cluster-setup-troubleshooting.md index 936d68938ee..5daa8586d68 100644 --- a/src/current/v25.2/cluster-setup-troubleshooting.md +++ b/src/current/v25.2/cluster-setup-troubleshooting.md @@ -104,7 +104,7 @@ If you are trying to run all nodes on the same machine, you might get the follow #### Store directory already exists ~~~ -ERROR: could not cleanup temporary directories from record file: could not lock temporary directory /Users/amruta/go/src/github.com/cockroachdb/cockroach/cockroach-data/cockroach-temp301343769, may still be in use: IO error: While lock file: /Users/amruta/go/src/github.com/cockroachdb/cockroach/cockroach-data/cockroach-temp301343769/TEMP_DIR.LOCK: Resource temporarily unavailable +ERROR: could not cleanup temporary directories from record file: could not lock temporary directory /cockroach-data/cockroach-temp301343769, may still be in use: IO error: While lock file: /cockroach-data/cockroach-temp301343769/TEMP_DIR.LOCK: Resource temporarily unavailable ~~~ **Explanation:** When starting a new node on the same machine, the directory you choose to store the data in also contains metadata identifying the cluster the data came from. This causes conflicts when you've already started a node on the server and then tried to start another cluster using the same directory. diff --git a/src/current/v25.2/cockroachdb-feature-availability.md b/src/current/v25.2/cockroachdb-feature-availability.md index aabc6b915a0..9134f0af087 100644 --- a/src/current/v25.2/cockroachdb-feature-availability.md +++ b/src/current/v25.2/cockroachdb-feature-availability.md @@ -183,7 +183,7 @@ Example: ### Check for constraint violations with `SCRUB` -Checks the consistency of [`UNIQUE`]({% link {{ page.version.version }}/unique.md %}) indexes, [`CHECK`]({% link {{ page.version.version }}/check.md %}) constraints, and more. Partially implemented; see [cockroachdb/cockroach#10425](https://github.com/cockroachdb/cockroach/issues/10425) for details. +Checks the consistency of [`UNIQUE`]({% link {{ page.version.version }}/unique.md %}) indexes, [`CHECK`]({% link {{ page.version.version }}/check.md %}) constraints, and more. Partially implemented. {{site.data.alerts.callout_info}} This example uses the `users` table from our open-source, fictional peer-to-peer vehicle-sharing application, [MovR]({% link {{ page.version.version }}/movr.md %}). @@ -214,7 +214,7 @@ The [`SHOW RANGE ... FOR ROW`]({% link {{ page.version.version }}/show-range-for ### Temporary objects -[Temporary tables]({% link {{ page.version.version }}/temporary-tables.md %}), [temporary views]({% link {{ page.version.version }}/views.md %}#temporary-views), and [temporary sequences]({% link {{ page.version.version }}/create-sequence.md %}#temporary-sequences) are in preview in CockroachDB. If you create too many temporary objects in a session, the performance of DDL operations will degrade. Dropping large numbers of temporary objects in rapid succession can also enqueue many [schema change GC jobs]({% link {{ page.version.version }}/show-jobs.md %}), which may further degrade cluster performance. This performance degradation could persist long after creating the temporary objects. For more details, see [cockroachdb/cockroach#46260](https://github.com/cockroachdb/cockroach/issues/46260). +[Temporary tables]({% link {{ page.version.version }}/temporary-tables.md %}), [temporary views]({% link {{ page.version.version }}/views.md %}#temporary-views), and [temporary sequences]({% link {{ page.version.version }}/create-sequence.md %}#temporary-sequences) are in preview in CockroachDB. If you create too many temporary objects in a session, the performance of DDL operations will degrade. Dropping large numbers of temporary objects in rapid succession can also enqueue many [schema change GC jobs]({% link {{ page.version.version }}/show-jobs.md %}), which may further degrade cluster performance. This performance degradation could persist long after creating the temporary objects. To enable temporary objects, set the `experimental_enable_temp_tables` [session variable]({% link {{ page.version.version }}/show-vars.md %}) to `on`. diff --git a/src/current/v25.2/common-table-expressions.md b/src/current/v25.2/common-table-expressions.md index a76f13ff39d..eecee66be5a 100644 --- a/src/current/v25.2/common-table-expressions.md +++ b/src/current/v25.2/common-table-expressions.md @@ -446,7 +446,7 @@ SELECT COUNT(*) FROM temp; Because this pattern incurs the overhead of a new scan for each iteration, it is slower per row than a full scan. It is therefore faster than a full scan in cases (such as this one) where many rows are skipped, but is slower if they are not. {{site.data.alerts.callout_info}} -Some recursive CTEs are not not yet optimized. For details, see the [tracking issue](https://github.com/cockroachdb/cockroach/issues/89954). +Some recursive CTEs are not not yet optimized. {{site.data.alerts.end}} ## Correlated common table expressions diff --git a/src/current/v25.2/configure-replication-zones.md b/src/current/v25.2/configure-replication-zones.md index 927b5e363f3..2509e352ff5 100644 --- a/src/current/v25.2/configure-replication-zones.md +++ b/src/current/v25.2/configure-replication-zones.md @@ -98,7 +98,7 @@ For more information, see the following subsections: The hierarchy of inheritance for zone configs can be visualized using the following outline-style diagram, in which each level of indentation denotes an inheritance relationship. -The only exception to this simple inheritance relationship is that due to a known limitation, sub-partitions do not inherit their values from their parent partitions. Instead, sub-partitions inherit their values from the parent table. For more information, see [cockroachdb/cockroach#75862](https://github.com/cockroachdb/cockroach/issues/75862). +The only exception to this simple inheritance relationship is that due to a known limitation, sub-partitions do not inherit their values from their parent partitions. Instead, sub-partitions inherit their values from the parent table. ``` - default @@ -106,7 +106,7 @@ The only exception to this simple inheritance relationship is that due to a know - table A.B - index A.B.1 - partition (row) 1 - - sub-partition 1.1 (NB. Sub-partitions inherit from tables, *not* partitions - see cockroachdb/cockroach#75862) + - sub-partition 1.1 (NB. Sub-partitions inherit from tables, *not* partitions) - sub-partition 1.1.1 - sub-partition 1.2 - table A.C @@ -127,7 +127,7 @@ From the whole-system perspective, the hierarchy of schema object zone configs c The following diagram presents the same set of schema objects as the previous outline-style diagram, but using boxes and lines joined with arrows that represent the "top-down" view. -Each box represents a schema object in the zone configuration inheritance hierarchy. Each solid line ends in an arrow that points from a parent object to its child object, which will inherit the parent's values unless those values are changed at the child level. The dotted lines between partitions and sub-partitions represent the known limitation mentioned previously that sub-partitions do not inherit their values from their parent partitions. Instead, sub-partitions inherit their values from the parent table. For more information about this limitation, see [cockroachdb/cockroach#75862](https://github.com/cockroachdb/cockroach/issues/75862). +Each box represents a schema object in the zone configuration inheritance hierarchy. Each solid line ends in an arrow that points from a parent object to its child object, which will inherit the parent's values unless those values are changed at the child level. The dotted lines between partitions and sub-partitions represent the known limitation mentioned previously that sub-partitions do not inherit their values from their parent partitions. Instead, sub-partitions inherit their values from the parent table. zone config inheritance diagram diff --git a/src/current/v25.2/create-sequence.md b/src/current/v25.2/create-sequence.md index 36d8fd1da0b..5286eb48f06 100644 --- a/src/current/v25.2/create-sequence.md +++ b/src/current/v25.2/create-sequence.md @@ -59,7 +59,7 @@ CockroachDB supports the following [SQL sequence functions]({% link {{ page.vers CockroachDB supports session-scoped temporary sequences. Unlike persistent sequences, temporary sequences can only be accessed from the session in which they were created, and they are dropped at the end of the session. You can create temporary sequences on both persistent tables and [temporary tables]({% link {{ page.version.version }}/temporary-tables.md %}). {{site.data.alerts.callout_info}} -{% include feature-phases/preview.md %} For details, see the tracking issue [cockroachdb/cockroach#46260](https://github.com/cockroachdb/cockroach/issues/46260). +{% include feature-phases/preview.md %} {{site.data.alerts.end}} {{site.data.alerts.callout_info}} diff --git a/src/current/v25.2/create-table.md b/src/current/v25.2/create-table.md index e14849f0f2c..33f2f3e30f3 100644 --- a/src/current/v25.2/create-table.md +++ b/src/current/v25.2/create-table.md @@ -155,7 +155,7 @@ If you use `GENERATED BY DEFAULT AS IDENTITY` to define the identity column, any Note the following limitations of identity columns: -- `GENERATED ALWAYS AS IDENTITY`/`GENERATED BY DEFAULT AS IDENTITY` is supported in [`ALTER TABLE ... ADD COLUMN`]({% link {{ page.version.version }}/alter-table.md %}#add-column) statements only when the table being altered is empty, as [CockroachDB does not support back-filling sequential column data]({% link {{ page.version.version }}/known-limitations.md %}#adding-a-column-with-sequence-based-default-values). For more information, see [#42508](https://github.com/cockroachdb/cockroach/issues/42508). +- `GENERATED ALWAYS AS IDENTITY`/`GENERATED BY DEFAULT AS IDENTITY` is supported in [`ALTER TABLE ... ADD COLUMN`]({% link {{ page.version.version }}/alter-table.md %}#add-column) statements only when the table being altered is empty, as [CockroachDB does not support back-filling sequential column data]({% link {{ page.version.version }}/known-limitations.md %}#adding-a-column-with-sequence-based-default-values). - Unlike PostgreSQL, CockroachDB does not support using the `OVERRIDING SYSTEM VALUE` clause in `INSERT`/`UPDATE`/`UPSERT` statements to overwrite `GENERATED ALWAYS AS IDENTITY` identity column values. For an example of an identity column, see [Create a table with an identity column](#create-a-table-with-an-identity-column). diff --git a/src/current/v25.2/disaster-recovery-planning.md b/src/current/v25.2/disaster-recovery-planning.md index 59b05402692..6309327c116 100644 --- a/src/current/v25.2/disaster-recovery-planning.md +++ b/src/current/v25.2/disaster-recovery-planning.md @@ -322,7 +322,7 @@ If your cluster is running, you do not have a backup that encapsulates the time If you have corrupted data in a database or table, [restore]({% link {{ page.version.version }}/restore.md %}) the object from a prior [backup]({% link {{ page.version.version }}/backup.md %}). If revision history is in the backup, you can restore from a [point in time]({% link {{ page.version.version }}/take-backups-with-revision-history-and-restore-from-a-point-in-time.md %}). -Instead of dropping the corrupted table or database, we recommend [renaming the table]({% link {{ page.version.version }}/alter-table.md %}#rename-to) or [renaming the database]({% link {{ page.version.version }}/alter-database.md %}#rename-to) so you have historical data to compare to later. If you drop a database, the database cannot be referenced with `AS OF SYSTEM TIME` queries (see [#51380](https://github.com/cockroachdb/cockroach/issues/51380) for more information), and you will need to take a backup that is backdated to the system time when the database still existed. +Instead of dropping the corrupted table or database, we recommend [renaming the table]({% link {{ page.version.version }}/alter-table.md %}#rename-to) or [renaming the database]({% link {{ page.version.version }}/alter-database.md %}#rename-to) so you have historical data to compare to later. If you drop a database, the database cannot be referenced with `AS OF SYSTEM TIME` queries, and you will need to take a backup that is backdated to the system time when the database still existed. {{site.data.alerts.callout_info}} If the table you are restoring has foreign keys, [careful consideration]({% link {{ page.version.version }}/restore.md %}#remove-the-foreign-key-before-restore) should be applied to make sure data integrity is maintained during the restore process. diff --git a/src/current/v25.2/foreign-key.md b/src/current/v25.2/foreign-key.md index 55677511e3d..4b73d5f3211 100644 --- a/src/current/v25.2/foreign-key.md +++ b/src/current/v25.2/foreign-key.md @@ -93,7 +93,7 @@ For matching purposes, composite foreign keys can be in one of three states: For examples showing how these key matching algorithms work, see [Match composite foreign keys with `MATCH SIMPLE` and `MATCH FULL`](#match-composite-foreign-keys-with-match-simple-and-match-full). {{site.data.alerts.callout_info}} -CockroachDB does not support `MATCH PARTIAL`. For more information, see issue [#20305](https://github.com/cockroachdb/cockroach/issues/20305). +CockroachDB does not support `MATCH PARTIAL`. {{site.data.alerts.end}} ### Foreign key actions diff --git a/src/current/v25.2/install-cockroachdb-mac.md b/src/current/v25.2/install-cockroachdb-mac.md index b8e5583b7f0..61445f6709c 100644 --- a/src/current/v25.2/install-cockroachdb-mac.md +++ b/src/current/v25.2/install-cockroachdb-mac.md @@ -201,4 +201,4 @@ CockroachDB runtimes built for the ARM architecture have the following limitatio {% comment %}v22.2.0+{% endcomment %} -On macOS ARM systems, [spatial features]({% link {{ page.version.version }}/spatial-data-overview.md %}) are disabled due to an issue with macOS code signing for the GEOS libraries. Users needing spatial features on an ARM Mac may instead [run the Intel binary](#install-the-binary) or use the[Docker container image](#use-docker). Refer to [GitHub issue #93161](https://github.com/cockroachdb/cockroach/issues/93161) for more information. +On macOS ARM systems, [spatial features]({% link {{ page.version.version }}/spatial-data-overview.md %}) are disabled due to an issue with macOS code signing for the GEOS libraries. Users needing spatial features on an ARM Mac may instead [run the Intel binary](#install-the-binary) or use the[Docker container image](#use-docker). diff --git a/src/current/v25.2/known-limitations.md b/src/current/v25.2/known-limitations.md index e18fdc0a835..f3b254a4051 100644 --- a/src/current/v25.2/known-limitations.md +++ b/src/current/v25.2/known-limitations.md @@ -431,7 +431,7 @@ As a workaround, [execute the file from the command line]({% link {{ page.versio #### Spatial features disabled for ARM Macs -[Spatial features]({% link {{ page.version.version }}/spatial-data-overview.md %}) are disabled due to an issue with macOS code signing for the [GEOS](https://libgeos.org/) libraries. Users needing spatial features on an ARM Mac may instead [use Rosetta](https://developer.apple.com/documentation/virtualization/running_intel_binaries_in_linux_vms_with_rosetta) to [run the Intel binary]({% link {{ page.version.version }}/install-cockroachdb-mac.md %}#install-binary) or use the [Docker image]({% link {{ page.version.version }}/install-cockroachdb-mac.md %}#use-docker) distribution. [GitHub tracking issue](https://github.com/cockroachdb/cockroach/issues/93161) +[Spatial features]({% link {{ page.version.version }}/spatial-data-overview.md %}) are disabled due to an issue with macOS code signing for the [GEOS](https://libgeos.org/) libraries. Users needing spatial features on an ARM Mac may instead [use Rosetta](https://developer.apple.com/documentation/virtualization/running_intel_binaries_in_linux_vms_with_rosetta) to [run the Intel binary]({% link {{ page.version.version }}/install-cockroachdb-mac.md %}#install-binary) or use the [Docker image]({% link {{ page.version.version }}/install-cockroachdb-mac.md %}#use-docker) distribution. #### Logging system limitations diff --git a/src/current/v25.2/query-spatial-data.md b/src/current/v25.2/query-spatial-data.md index 572c3d1a1a1..23b370a8d2f 100644 --- a/src/current/v25.2/query-spatial-data.md +++ b/src/current/v25.2/query-spatial-data.md @@ -24,7 +24,7 @@ Just as CockroachDB strives for [PostgreSQL compatibility]({% link {{ page.versi CockroachDB does not implement the full list of PostGIS built-in functions and operators. Also, [spatial indexing works differently]({% link {{ page.version.version }}/spatial-indexes.md %}) (see the [Performance](#performance) section below). For a list of the spatial functions CockroachDB supports, see [Geospatial functions]({% link {{ page.version.version }}/functions-and-operators.md %}#spatial-functions). -If your application needs support for functions that are not yet implemented, check the [meta-issue for built-in function support on GitHub](https://github.com/cockroachdb/cockroach/issues/49203), which describes how to find an issue for the built-in function(s) you need. +If your application needs support for functions that are not yet implemented, please [contact Support](https://support.cockroachlabs.com). For a list of other known limitations, see [Known Limitations]({% link {{ page.version.version }}/known-limitations.md %}#spatial-support-limitations). diff --git a/src/current/v25.2/restore.md b/src/current/v25.2/restore.md index 927c1ace0a7..c040afb44cc 100644 --- a/src/current/v25.2/restore.md +++ b/src/current/v25.2/restore.md @@ -279,7 +279,7 @@ CockroachDB does **not** support incremental-only restores. - {% include {{ page.version.version }}/known-limitations/restore-multiregion-match.md %} -The ordering of regions and how region matching is determined is a known limitation. See the [Known Limitations](#known-limitations) section for the tracking issues on limitations around `RESTORE` and multi-region support. +The ordering of regions and how region matching is determined is a known limitation. For more on multi-region databases, see the [Multi-Region Capabilities Overview]({% link {{ page.version.version }}/multiregion-overview.md %}). diff --git a/src/current/v25.2/spatial-tutorial.md b/src/current/v25.2/spatial-tutorial.md index a2f0e59af87..37a52345d34 100644 --- a/src/current/v25.2/spatial-tutorial.md +++ b/src/current/v25.2/spatial-tutorial.md @@ -966,7 +966,7 @@ Time: 1.447s total (execution 1.446s / network 0.000s) Unfortunately, this query is a bit slower than you would like: about 1.5 seconds on a single-node [`cockroach demo`]({% link {{ page.version.version }}/cockroach-demo.md %}) cluster on a laptop. There are several reasons for this: 1. You haven't created any indexes at all yet. The query is likely to be doing full table scans, which you will need to hunt down with [`EXPLAIN`]({% link {{ page.version.version }}/explain.md %}). -1. CockroachDB does not yet have built-in support for index-based nearest neighbor queries. If this feature is important to you, please comment with some information about your use case on [cockroachdb/cockroach#55227](https://github.com/cockroachdb/cockroach/issues/55227). +1. CockroachDB does not yet have built-in support for index-based nearest neighbor queries. Let's look at the `EXPLAIN` output to see if there is something that can be done to improve this query's performance: diff --git a/src/current/v25.2/sql-feature-support.md b/src/current/v25.2/sql-feature-support.md index df9fa0711d8..a12847e0f67 100644 --- a/src/current/v25.2/sql-feature-support.md +++ b/src/current/v25.2/sql-feature-support.md @@ -194,4 +194,4 @@ XML | ✗ | Standard | XML data can be stored as `BYTES`, but we do not offer XM Triggers | Partial | Standard | [Triggers documentation]({% link {{ page.version.version }}/triggers.md %}) Row-level TTL | ✓ | Common Extension | Automatically delete expired rows. For more information, see [Batch-delete expired data with Row-Level TTL]({% link {{ page.version.version }}/row-level-ttl.md %}). User-defined functions | Partial | Standard | [User-Defined Functions documentation]({% link {{ page.version.version }}/user-defined-functions.md %}) - `CREATE EXTENSION "uuid-ossp"` | ✓ | Common Extension | Provides access to several additional [UUID generation functions]({% link {{ page.version.version }}/functions-and-operators.md %}#id-generation-functions). Note that these UUID functions are available without typing `CREATE EXTENSION "uuid-ossp"`. CockroachDB does not have full support for `CREATE EXTENSION`. [GitHub issue tracking `CREATE EXTENSION` support](https://github.com/cockroachdb/cockroach/issues/74777). + `CREATE EXTENSION "uuid-ossp"` | ✓ | Common Extension | Provides access to several additional [UUID generation functions]({% link {{ page.version.version }}/functions-and-operators.md %}#id-generation-functions). Note that these UUID functions are available without typing `CREATE EXTENSION "uuid-ossp"`. CockroachDB does not have full support for `CREATE EXTENSION`. diff --git a/src/current/v25.2/sql-name-resolution.md b/src/current/v25.2/sql-name-resolution.md index 554a9a65583..000ae5bf2dd 100644 --- a/src/current/v25.2/sql-name-resolution.md +++ b/src/current/v25.2/sql-name-resolution.md @@ -37,8 +37,7 @@ If you are upgrading to {{ page.version.version }}, take any combination of the - [Create new schemas]({% link {{ page.version.version }}/create-schema.md %}) in databases on your cluster. After the schemas are created, use [`ALTER TABLE ... RENAME`]({% link {{ page.version.version }}/alter-table.md %}#rename-to), [`ALTER SEQUENCE ... RENAME`]({% link {{ page.version.version }}/alter-sequence.md %}), [`ALTER TYPE ... RENAME`]({% link {{ page.version.version }}/alter-type.md %}), or [`ALTER VIEW ... RENAME`]({% link {{ page.version.version }}/alter-view.md %}) statements to move objects between databases as needed. To move objects between schemas, use [`ALTER TABLE ... SET SCHEMA`]({% link {{ page.version.version }}/alter-table.md %}#set-schema), [`ALTER SEQUENCE ... SET SCHEMA`]({% link {{ page.version.version }}/alter-sequence.md %}), or [`ALTER VIEW ... SET SCHEMA`]({% link {{ page.version.version }}/alter-view.md %}). -- If your cluster contains cross-database references (e.g., a cross-database foreign key reference, or a cross-database view reference), use the relevant [`ALTER TABLE`]({% link {{ page.version.version }}/alter-table.md %}), [`ALTER SEQUENCE`]({% link {{ page.version.version }}/alter-sequence.md %}), [`ALTER TYPE`]({% link {{ page.version.version }}/alter-type.md %}), or [`ALTER VIEW `]({% link {{ page.version.version }}/alter-view.md %}) statements to move any cross-referencing objects to the same database, but different schemas. Cross-database object references were allowed in earlier versions of CockroachDB to make database-object naming hierarchies more flexible for users. In v20.2, creating cross-database references are disabled for [foreign keys](foreign-key.html), [views]({% link {{ page.version.version }}/views.md %}), and [sequence ownership]({% link {{ page.version.version }}/create-sequence.md %}). For details, see [tracking issue](https://github.com/cockroachdb/cockroach/issues/55791). - +- If your cluster contains cross-database references (e.g., a cross-database foreign key reference, or a cross-database view reference), use the relevant [`ALTER TABLE`]({% link {{ page.version.version }}/alter-table.md %}), [`ALTER SEQUENCE`]({% link {{ page.version.version }}/alter-sequence.md %}), [`ALTER TYPE`]({% link {{ page.version.version }}/alter-type.md %}), or [`ALTER VIEW `]({% link {{ page.version.version }}/alter-view.md %}) statements to move any cross-referencing objects to the same database, but different schemas. Cross-database object references were allowed in earlier versions of CockroachDB to make database-object naming hierarchies more flexible for users. In v20.2, creating cross-database references are disabled for [foreign keys](foreign-key.html), [views]({% link {{ page.version.version }}/views.md %}), and [sequence ownership]({% link {{ page.version.version }}/create-sequence.md %}). ## How name resolution works Name resolution occurs separately to **look up existing objects** and to diff --git a/src/current/v25.2/st_union.md b/src/current/v25.2/st_union.md index 01796b337cf..f5970fa3559 100644 --- a/src/current/v25.2/st_union.md +++ b/src/current/v25.2/st_union.md @@ -12,7 +12,7 @@ Given a set of shapes (e.g., from a [selection query]({% link {{ page.version.ve - [`GEOMETRY`]({% link {{ page.version.version }}/architecture/glossary.md %}#geometry) {{site.data.alerts.callout_info}} -The non-aggregate version of `ST_Union` is not yet implemented. For more information, see [cockroach#49064](https://github.com/cockroachdb/cockroach/issues/49064). +The non-aggregate version of `ST_Union` is not yet implemented. {{site.data.alerts.end}} {{site.data.alerts.callout_info}} diff --git a/src/current/v25.2/temporary-tables.md b/src/current/v25.2/temporary-tables.md index 3a92fc64c97..3d96d296a59 100644 --- a/src/current/v25.2/temporary-tables.md +++ b/src/current/v25.2/temporary-tables.md @@ -10,7 +10,7 @@ docs_area: develop To create a temp table, add `TEMP`/`TEMPORARY` to a [`CREATE TABLE`]({% link {{ page.version.version }}/create-table.md %}) or [`CREATE TABLE AS`]({% link {{ page.version.version }}/create-table-as.md %}) statement. For full syntax details, see the [`CREATE TABLE`]({% link {{ page.version.version }}/create-table.md %}#synopsis) and [`CREATE TABLE AS`]({% link {{ page.version.version }}/create-table-as.md %}#synopsis) pages. For example usage, see [Examples](#examples). {{site.data.alerts.callout_info}} -{% include feature-phases/preview.md %} For details, see the tracking issue [cockroachdb/cockroach#46260](https://github.com/cockroachdb/cockroach/issues/46260). +{% include feature-phases/preview.md %} {{site.data.alerts.end}} {{site.data.alerts.callout_info}} diff --git a/src/current/v25.2/views.md b/src/current/v25.2/views.md index f7fe7c58d2a..59d5de3a9e0 100644 --- a/src/current/v25.2/views.md +++ b/src/current/v25.2/views.md @@ -653,7 +653,7 @@ To speed up queries on materialized views, you can add an [index]({% link {{ pag CockroachDB supports session-scoped temporary views. Unlike persistent views, temporary views can only be accessed from the session in which they were created, and they are dropped at the end of the session. You can create temporary views on both persistent tables and [temporary tables]({% link {{ page.version.version }}/temporary-tables.md %}). {{site.data.alerts.callout_info}} -{% include feature-phases/preview.md %} For details, see the tracking issue [cockroachdb/cockroach#46260](https://github.com/cockroachdb/cockroach/issues/46260). +{% include feature-phases/preview.md %} {{site.data.alerts.end}} {{site.data.alerts.callout_info}} diff --git a/src/current/v25.3/cluster-setup-troubleshooting.md b/src/current/v25.3/cluster-setup-troubleshooting.md index 8b75c204bd9..426aed1b7c1 100644 --- a/src/current/v25.3/cluster-setup-troubleshooting.md +++ b/src/current/v25.3/cluster-setup-troubleshooting.md @@ -104,7 +104,7 @@ If you are trying to run all nodes on the same machine, you might get the follow #### Store directory already exists ~~~ -ERROR: could not cleanup temporary directories from record file: could not lock temporary directory /Users/amruta/go/src/github.com/cockroachdb/cockroach/cockroach-data/cockroach-temp301343769, may still be in use: IO error: While lock file: /Users/amruta/go/src/github.com/cockroachdb/cockroach/cockroach-data/cockroach-temp301343769/TEMP_DIR.LOCK: Resource temporarily unavailable +ERROR: could not cleanup temporary directories from record file: could not lock temporary directory /cockroach-data/cockroach-temp301343769, may still be in use: IO error: While lock file: /cockroach-data/cockroach-temp301343769/TEMP_DIR.LOCK: Resource temporarily unavailable ~~~ **Explanation:** When starting a new node on the same machine, the directory you choose to store the data in also contains metadata identifying the cluster the data came from. This causes conflicts when you've already started a node on the server and then tried to start another cluster using the same directory. diff --git a/src/current/v25.3/cockroachdb-feature-availability.md b/src/current/v25.3/cockroachdb-feature-availability.md index ff39f751213..722e226ec9d 100644 --- a/src/current/v25.3/cockroachdb-feature-availability.md +++ b/src/current/v25.3/cockroachdb-feature-availability.md @@ -198,7 +198,7 @@ Example: ### Check for constraint violations with `SCRUB` -Checks the consistency of [`UNIQUE`]({% link {{ page.version.version }}/unique.md %}) indexes, [`CHECK`]({% link {{ page.version.version }}/check.md %}) constraints, and more. Partially implemented; see [cockroachdb/cockroach#10425](https://github.com/cockroachdb/cockroach/issues/10425) for details. +Checks the consistency of [`UNIQUE`]({% link {{ page.version.version }}/unique.md %}) indexes, [`CHECK`]({% link {{ page.version.version }}/check.md %}) constraints, and more. Partially implemented. {{site.data.alerts.callout_info}} This example uses the `users` table from our open-source, fictional peer-to-peer vehicle-sharing application, [MovR]({% link {{ page.version.version }}/movr.md %}). @@ -229,7 +229,7 @@ The [`SHOW RANGE ... FOR ROW`]({% link {{ page.version.version }}/show-range-for ### Temporary objects -[Temporary tables]({% link {{ page.version.version }}/temporary-tables.md %}), [temporary views]({% link {{ page.version.version }}/views.md %}#temporary-views), and [temporary sequences]({% link {{ page.version.version }}/create-sequence.md %}#temporary-sequences) are in preview in CockroachDB. If you create too many temporary objects in a session, the performance of DDL operations will degrade. Dropping large numbers of temporary objects in rapid succession can also enqueue many [schema change GC jobs]({% link {{ page.version.version }}/show-jobs.md %}), which may further degrade cluster performance. This performance degradation could persist long after creating the temporary objects. For more details, see [cockroachdb/cockroach#46260](https://github.com/cockroachdb/cockroach/issues/46260). +[Temporary tables]({% link {{ page.version.version }}/temporary-tables.md %}), [temporary views]({% link {{ page.version.version }}/views.md %}#temporary-views), and [temporary sequences]({% link {{ page.version.version }}/create-sequence.md %}#temporary-sequences) are in preview in CockroachDB. If you create too many temporary objects in a session, the performance of DDL operations will degrade. Dropping large numbers of temporary objects in rapid succession can also enqueue many [schema change GC jobs]({% link {{ page.version.version }}/show-jobs.md %}), which may further degrade cluster performance. This performance degradation could persist long after creating the temporary objects. To enable temporary objects, set the `experimental_enable_temp_tables` [session variable]({% link {{ page.version.version }}/show-vars.md %}) to `on`. diff --git a/src/current/v25.3/common-table-expressions.md b/src/current/v25.3/common-table-expressions.md index a76f13ff39d..eecee66be5a 100644 --- a/src/current/v25.3/common-table-expressions.md +++ b/src/current/v25.3/common-table-expressions.md @@ -446,7 +446,7 @@ SELECT COUNT(*) FROM temp; Because this pattern incurs the overhead of a new scan for each iteration, it is slower per row than a full scan. It is therefore faster than a full scan in cases (such as this one) where many rows are skipped, but is slower if they are not. {{site.data.alerts.callout_info}} -Some recursive CTEs are not not yet optimized. For details, see the [tracking issue](https://github.com/cockroachdb/cockroach/issues/89954). +Some recursive CTEs are not not yet optimized. {{site.data.alerts.end}} ## Correlated common table expressions diff --git a/src/current/v25.3/configure-replication-zones.md b/src/current/v25.3/configure-replication-zones.md index 02752f39314..99704c2d5f8 100644 --- a/src/current/v25.3/configure-replication-zones.md +++ b/src/current/v25.3/configure-replication-zones.md @@ -98,7 +98,7 @@ For more information, see the following subsections: The hierarchy of inheritance for zone configs can be visualized using the following outline-style diagram, in which each level of indentation denotes an inheritance relationship. -The only exception to this simple inheritance relationship is that due to a known limitation, sub-partitions do not inherit their values from their parent partitions. Instead, sub-partitions inherit their values from the parent table. For more information, see [cockroachdb/cockroach#75862](https://github.com/cockroachdb/cockroach/issues/75862). +The only exception to this simple inheritance relationship is that due to a known limitation, sub-partitions do not inherit their values from their parent partitions. Instead, sub-partitions inherit their values from the parent table. ``` - default @@ -106,7 +106,7 @@ The only exception to this simple inheritance relationship is that due to a know - table A.B - index A.B.1 - partition (row) 1 - - sub-partition 1.1 (NB. Sub-partitions inherit from tables, *not* partitions - see cockroachdb/cockroach#75862) + - sub-partition 1.1 (NB. Sub-partitions inherit from tables, *not* partitions) - sub-partition 1.1.1 - sub-partition 1.2 - table A.C @@ -127,7 +127,7 @@ From the whole-system perspective, the hierarchy of schema object zone configs c The following diagram presents the same set of schema objects as the previous outline-style diagram, but using boxes and lines joined with arrows that represent the "top-down" view. -Each box represents a schema object in the zone configuration inheritance hierarchy. Each solid line ends in an arrow that points from a parent object to its child object, which will inherit the parent's values unless those values are changed at the child level. The dotted lines between partitions and sub-partitions represent the known limitation mentioned previously that sub-partitions do not inherit their values from their parent partitions. Instead, sub-partitions inherit their values from the parent table. For more information about this limitation, see [cockroachdb/cockroach#75862](https://github.com/cockroachdb/cockroach/issues/75862). +Each box represents a schema object in the zone configuration inheritance hierarchy. Each solid line ends in an arrow that points from a parent object to its child object, which will inherit the parent's values unless those values are changed at the child level. The dotted lines between partitions and sub-partitions represent the known limitation mentioned previously that sub-partitions do not inherit their values from their parent partitions. Instead, sub-partitions inherit their values from the parent table. zone config inheritance diagram diff --git a/src/current/v25.3/create-sequence.md b/src/current/v25.3/create-sequence.md index 72bc62b717b..6f3ffb659ae 100644 --- a/src/current/v25.3/create-sequence.md +++ b/src/current/v25.3/create-sequence.md @@ -60,7 +60,7 @@ CockroachDB supports the following [SQL sequence functions]({% link {{ page.vers CockroachDB supports session-scoped temporary sequences. Unlike persistent sequences, temporary sequences can only be accessed from the session in which they were created, and they are dropped at the end of the session. You can create temporary sequences on both persistent tables and [temporary tables]({% link {{ page.version.version }}/temporary-tables.md %}). {{site.data.alerts.callout_info}} -{% include feature-phases/preview.md %} For details, see the tracking issue [cockroachdb/cockroach#46260](https://github.com/cockroachdb/cockroach/issues/46260). +{% include feature-phases/preview.md %} {{site.data.alerts.end}} {{site.data.alerts.callout_info}} diff --git a/src/current/v25.3/create-table.md b/src/current/v25.3/create-table.md index e14849f0f2c..33f2f3e30f3 100644 --- a/src/current/v25.3/create-table.md +++ b/src/current/v25.3/create-table.md @@ -155,7 +155,7 @@ If you use `GENERATED BY DEFAULT AS IDENTITY` to define the identity column, any Note the following limitations of identity columns: -- `GENERATED ALWAYS AS IDENTITY`/`GENERATED BY DEFAULT AS IDENTITY` is supported in [`ALTER TABLE ... ADD COLUMN`]({% link {{ page.version.version }}/alter-table.md %}#add-column) statements only when the table being altered is empty, as [CockroachDB does not support back-filling sequential column data]({% link {{ page.version.version }}/known-limitations.md %}#adding-a-column-with-sequence-based-default-values). For more information, see [#42508](https://github.com/cockroachdb/cockroach/issues/42508). +- `GENERATED ALWAYS AS IDENTITY`/`GENERATED BY DEFAULT AS IDENTITY` is supported in [`ALTER TABLE ... ADD COLUMN`]({% link {{ page.version.version }}/alter-table.md %}#add-column) statements only when the table being altered is empty, as [CockroachDB does not support back-filling sequential column data]({% link {{ page.version.version }}/known-limitations.md %}#adding-a-column-with-sequence-based-default-values). - Unlike PostgreSQL, CockroachDB does not support using the `OVERRIDING SYSTEM VALUE` clause in `INSERT`/`UPDATE`/`UPSERT` statements to overwrite `GENERATED ALWAYS AS IDENTITY` identity column values. For an example of an identity column, see [Create a table with an identity column](#create-a-table-with-an-identity-column). diff --git a/src/current/v25.3/disaster-recovery-planning.md b/src/current/v25.3/disaster-recovery-planning.md index de593915cf0..6e050ea012d 100644 --- a/src/current/v25.3/disaster-recovery-planning.md +++ b/src/current/v25.3/disaster-recovery-planning.md @@ -322,7 +322,7 @@ If your cluster is running, you do not have a backup that encapsulates the time If you have corrupted data in a database or table, [restore]({% link {{ page.version.version }}/restore.md %}) the object from a prior [backup]({% link {{ page.version.version }}/backup.md %}). If revision history is in the backup, you can restore from a [point in time]({% link {{ page.version.version }}/take-backups-with-revision-history-and-restore-from-a-point-in-time.md %}). -Instead of dropping the corrupted table or database, we recommend [renaming the table]({% link {{ page.version.version }}/alter-table.md %}#rename-to) or [renaming the database]({% link {{ page.version.version }}/alter-database.md %}#rename-to) so you have historical data to compare to later. If you drop a database, the database cannot be referenced with `AS OF SYSTEM TIME` queries (see [#51380](https://github.com/cockroachdb/cockroach/issues/51380) for more information), and you will need to take a backup that is backdated to the system time when the database still existed. +Instead of dropping the corrupted table or database, we recommend [renaming the table]({% link {{ page.version.version }}/alter-table.md %}#rename-to) or [renaming the database]({% link {{ page.version.version }}/alter-database.md %}#rename-to) so you have historical data to compare to later. If you drop a database, the database cannot be referenced with `AS OF SYSTEM TIME` queries, and you will need to take a backup that is backdated to the system time when the database still existed. {{site.data.alerts.callout_info}} If the table you are restoring has foreign keys, [careful consideration]({% link {{ page.version.version }}/restore.md %}#remove-the-foreign-key-before-restore) should be applied to make sure data integrity is maintained during the restore process. diff --git a/src/current/v25.3/foreign-key.md b/src/current/v25.3/foreign-key.md index 88a094b2a74..ef65ae8171d 100644 --- a/src/current/v25.3/foreign-key.md +++ b/src/current/v25.3/foreign-key.md @@ -92,7 +92,7 @@ For matching purposes, composite foreign keys can be in one of three states: For examples showing how these key matching algorithms work, see [Match composite foreign keys with `MATCH SIMPLE` and `MATCH FULL`](#match-composite-foreign-keys-with-match-simple-and-match-full). {{site.data.alerts.callout_info}} -CockroachDB does not support `MATCH PARTIAL`. For more information, see issue [#20305](https://github.com/cockroachdb/cockroach/issues/20305). +CockroachDB does not support `MATCH PARTIAL`. {{site.data.alerts.end}} ### Foreign key actions diff --git a/src/current/v25.3/install-cockroachdb-mac.md b/src/current/v25.3/install-cockroachdb-mac.md index b8e5583b7f0..61445f6709c 100644 --- a/src/current/v25.3/install-cockroachdb-mac.md +++ b/src/current/v25.3/install-cockroachdb-mac.md @@ -201,4 +201,4 @@ CockroachDB runtimes built for the ARM architecture have the following limitatio {% comment %}v22.2.0+{% endcomment %} -On macOS ARM systems, [spatial features]({% link {{ page.version.version }}/spatial-data-overview.md %}) are disabled due to an issue with macOS code signing for the GEOS libraries. Users needing spatial features on an ARM Mac may instead [run the Intel binary](#install-the-binary) or use the[Docker container image](#use-docker). Refer to [GitHub issue #93161](https://github.com/cockroachdb/cockroach/issues/93161) for more information. +On macOS ARM systems, [spatial features]({% link {{ page.version.version }}/spatial-data-overview.md %}) are disabled due to an issue with macOS code signing for the GEOS libraries. Users needing spatial features on an ARM Mac may instead [run the Intel binary](#install-the-binary) or use the[Docker container image](#use-docker). diff --git a/src/current/v25.3/known-limitations.md b/src/current/v25.3/known-limitations.md index ddc193ed9e9..8ac70f0b59b 100644 --- a/src/current/v25.3/known-limitations.md +++ b/src/current/v25.3/known-limitations.md @@ -451,7 +451,7 @@ As a workaround, [execute the file from the command line]({% link {{ page.versio #### Spatial features disabled for ARM Macs -[Spatial features]({% link {{ page.version.version }}/spatial-data-overview.md %}) are disabled due to an issue with macOS code signing for the [GEOS](https://libgeos.org/) libraries. Users needing spatial features on an ARM Mac may instead [use Rosetta](https://developer.apple.com/documentation/virtualization/running_intel_binaries_in_linux_vms_with_rosetta) to [run the Intel binary]({% link {{ page.version.version }}/install-cockroachdb-mac.md %}#install-binary) or use the [Docker image]({% link {{ page.version.version }}/install-cockroachdb-mac.md %}#use-docker) distribution. [GitHub tracking issue](https://github.com/cockroachdb/cockroach/issues/93161) +[Spatial features]({% link {{ page.version.version }}/spatial-data-overview.md %}) are disabled due to an issue with macOS code signing for the [GEOS](https://libgeos.org/) libraries. Users needing spatial features on an ARM Mac may instead [use Rosetta](https://developer.apple.com/documentation/virtualization/running_intel_binaries_in_linux_vms_with_rosetta) to [run the Intel binary]({% link {{ page.version.version }}/install-cockroachdb-mac.md %}#install-binary) or use the [Docker image]({% link {{ page.version.version }}/install-cockroachdb-mac.md %}#use-docker) distribution. #### Logging system limitations diff --git a/src/current/v25.3/query-spatial-data.md b/src/current/v25.3/query-spatial-data.md index 6a32054d268..4134006a456 100644 --- a/src/current/v25.3/query-spatial-data.md +++ b/src/current/v25.3/query-spatial-data.md @@ -24,7 +24,7 @@ Just as CockroachDB strives for [PostgreSQL compatibility]({% link {{ page.versi CockroachDB does not implement the full list of PostGIS built-in functions and operators. Also, [spatial indexing works differently]({% link {{ page.version.version }}/spatial-indexes.md %}) (see the [Performance](#performance) section below). For a list of the spatial functions CockroachDB supports, see [Geospatial functions]({% link {{ page.version.version }}/functions-and-operators.md %}#spatial-functions). -If your application needs support for functions that are not yet implemented, check the [meta-issue for built-in function support on GitHub](https://github.com/cockroachdb/cockroach/issues/49203), which describes how to find an issue for the built-in function(s) you need. +If your application needs support for functions that are not yet implemented, please [contact Support](https://support.cockroachlabs.com). For a list of other known limitations, see [Known Limitations]({% link {{ page.version.version }}/known-limitations.md %}#spatial-support-limitations). diff --git a/src/current/v25.3/restore.md b/src/current/v25.3/restore.md index 927c1ace0a7..c040afb44cc 100644 --- a/src/current/v25.3/restore.md +++ b/src/current/v25.3/restore.md @@ -279,7 +279,7 @@ CockroachDB does **not** support incremental-only restores. - {% include {{ page.version.version }}/known-limitations/restore-multiregion-match.md %} -The ordering of regions and how region matching is determined is a known limitation. See the [Known Limitations](#known-limitations) section for the tracking issues on limitations around `RESTORE` and multi-region support. +The ordering of regions and how region matching is determined is a known limitation. For more on multi-region databases, see the [Multi-Region Capabilities Overview]({% link {{ page.version.version }}/multiregion-overview.md %}). diff --git a/src/current/v25.3/spatial-tutorial.md b/src/current/v25.3/spatial-tutorial.md index 72d45bf1fdd..319be38c328 100644 --- a/src/current/v25.3/spatial-tutorial.md +++ b/src/current/v25.3/spatial-tutorial.md @@ -966,7 +966,7 @@ Time: 1.447s total (execution 1.446s / network 0.000s) Unfortunately, this query is a bit slower than you would like: about 1.5 seconds on a single-node [`cockroach demo`]({% link {{ page.version.version }}/cockroach-demo.md %}) cluster on a laptop. There are several reasons for this: 1. You haven't created any indexes at all yet. The query is likely to be doing full table scans, which you will need to hunt down with [`EXPLAIN`]({% link {{ page.version.version }}/explain.md %}). -1. CockroachDB does not yet have built-in support for index-based nearest neighbor queries. If this feature is important to you, please comment with some information about your use case on [cockroachdb/cockroach#55227](https://github.com/cockroachdb/cockroach/issues/55227). +1. CockroachDB does not yet have built-in support for index-based nearest neighbor queries. Let's look at the `EXPLAIN` output to see if there is something that can be done to improve this query's performance: diff --git a/src/current/v25.3/sql-feature-support.md b/src/current/v25.3/sql-feature-support.md index df9fa0711d8..a12847e0f67 100644 --- a/src/current/v25.3/sql-feature-support.md +++ b/src/current/v25.3/sql-feature-support.md @@ -194,4 +194,4 @@ XML | ✗ | Standard | XML data can be stored as `BYTES`, but we do not offer XM Triggers | Partial | Standard | [Triggers documentation]({% link {{ page.version.version }}/triggers.md %}) Row-level TTL | ✓ | Common Extension | Automatically delete expired rows. For more information, see [Batch-delete expired data with Row-Level TTL]({% link {{ page.version.version }}/row-level-ttl.md %}). User-defined functions | Partial | Standard | [User-Defined Functions documentation]({% link {{ page.version.version }}/user-defined-functions.md %}) - `CREATE EXTENSION "uuid-ossp"` | ✓ | Common Extension | Provides access to several additional [UUID generation functions]({% link {{ page.version.version }}/functions-and-operators.md %}#id-generation-functions). Note that these UUID functions are available without typing `CREATE EXTENSION "uuid-ossp"`. CockroachDB does not have full support for `CREATE EXTENSION`. [GitHub issue tracking `CREATE EXTENSION` support](https://github.com/cockroachdb/cockroach/issues/74777). + `CREATE EXTENSION "uuid-ossp"` | ✓ | Common Extension | Provides access to several additional [UUID generation functions]({% link {{ page.version.version }}/functions-and-operators.md %}#id-generation-functions). Note that these UUID functions are available without typing `CREATE EXTENSION "uuid-ossp"`. CockroachDB does not have full support for `CREATE EXTENSION`. diff --git a/src/current/v25.3/sql-name-resolution.md b/src/current/v25.3/sql-name-resolution.md index 554a9a65583..000ae5bf2dd 100644 --- a/src/current/v25.3/sql-name-resolution.md +++ b/src/current/v25.3/sql-name-resolution.md @@ -37,8 +37,7 @@ If you are upgrading to {{ page.version.version }}, take any combination of the - [Create new schemas]({% link {{ page.version.version }}/create-schema.md %}) in databases on your cluster. After the schemas are created, use [`ALTER TABLE ... RENAME`]({% link {{ page.version.version }}/alter-table.md %}#rename-to), [`ALTER SEQUENCE ... RENAME`]({% link {{ page.version.version }}/alter-sequence.md %}), [`ALTER TYPE ... RENAME`]({% link {{ page.version.version }}/alter-type.md %}), or [`ALTER VIEW ... RENAME`]({% link {{ page.version.version }}/alter-view.md %}) statements to move objects between databases as needed. To move objects between schemas, use [`ALTER TABLE ... SET SCHEMA`]({% link {{ page.version.version }}/alter-table.md %}#set-schema), [`ALTER SEQUENCE ... SET SCHEMA`]({% link {{ page.version.version }}/alter-sequence.md %}), or [`ALTER VIEW ... SET SCHEMA`]({% link {{ page.version.version }}/alter-view.md %}). -- If your cluster contains cross-database references (e.g., a cross-database foreign key reference, or a cross-database view reference), use the relevant [`ALTER TABLE`]({% link {{ page.version.version }}/alter-table.md %}), [`ALTER SEQUENCE`]({% link {{ page.version.version }}/alter-sequence.md %}), [`ALTER TYPE`]({% link {{ page.version.version }}/alter-type.md %}), or [`ALTER VIEW `]({% link {{ page.version.version }}/alter-view.md %}) statements to move any cross-referencing objects to the same database, but different schemas. Cross-database object references were allowed in earlier versions of CockroachDB to make database-object naming hierarchies more flexible for users. In v20.2, creating cross-database references are disabled for [foreign keys](foreign-key.html), [views]({% link {{ page.version.version }}/views.md %}), and [sequence ownership]({% link {{ page.version.version }}/create-sequence.md %}). For details, see [tracking issue](https://github.com/cockroachdb/cockroach/issues/55791). - +- If your cluster contains cross-database references (e.g., a cross-database foreign key reference, or a cross-database view reference), use the relevant [`ALTER TABLE`]({% link {{ page.version.version }}/alter-table.md %}), [`ALTER SEQUENCE`]({% link {{ page.version.version }}/alter-sequence.md %}), [`ALTER TYPE`]({% link {{ page.version.version }}/alter-type.md %}), or [`ALTER VIEW `]({% link {{ page.version.version }}/alter-view.md %}) statements to move any cross-referencing objects to the same database, but different schemas. Cross-database object references were allowed in earlier versions of CockroachDB to make database-object naming hierarchies more flexible for users. In v20.2, creating cross-database references are disabled for [foreign keys](foreign-key.html), [views]({% link {{ page.version.version }}/views.md %}), and [sequence ownership]({% link {{ page.version.version }}/create-sequence.md %}). ## How name resolution works Name resolution occurs separately to **look up existing objects** and to diff --git a/src/current/v25.3/st_union.md b/src/current/v25.3/st_union.md index df4a9429bc1..47147d0a0cd 100644 --- a/src/current/v25.3/st_union.md +++ b/src/current/v25.3/st_union.md @@ -12,7 +12,7 @@ Given a set of shapes (e.g., from a [selection query]({% link {{ page.version.ve - [`GEOMETRY`]({% link {{ page.version.version }}/architecture/glossary.md %}#geometry) {{site.data.alerts.callout_info}} -The non-aggregate version of `ST_Union` is not yet implemented. For more information, see [cockroach#49064](https://github.com/cockroachdb/cockroach/issues/49064). +The non-aggregate version of `ST_Union` is not yet implemented. {{site.data.alerts.end}} {{site.data.alerts.callout_info}} @@ -236,7 +236,7 @@ In this example, we will generate a single geometry from many individual points 1. Paste the JSON emitted in the previous step into [geojson.io](http://geojson.io) and you should see an image like the following, which shows the location of [most of the independent bookstores in New York State](https://www.bookweb.org/member_directory/search/ABAmember/results/0/0/ny/0): - ST_Union example + ST_Union example 1. Finally, drop the temporary table if you no longer need it: diff --git a/src/current/v25.3/temporary-tables.md b/src/current/v25.3/temporary-tables.md index 3a92fc64c97..3d96d296a59 100644 --- a/src/current/v25.3/temporary-tables.md +++ b/src/current/v25.3/temporary-tables.md @@ -10,7 +10,7 @@ docs_area: develop To create a temp table, add `TEMP`/`TEMPORARY` to a [`CREATE TABLE`]({% link {{ page.version.version }}/create-table.md %}) or [`CREATE TABLE AS`]({% link {{ page.version.version }}/create-table-as.md %}) statement. For full syntax details, see the [`CREATE TABLE`]({% link {{ page.version.version }}/create-table.md %}#synopsis) and [`CREATE TABLE AS`]({% link {{ page.version.version }}/create-table-as.md %}#synopsis) pages. For example usage, see [Examples](#examples). {{site.data.alerts.callout_info}} -{% include feature-phases/preview.md %} For details, see the tracking issue [cockroachdb/cockroach#46260](https://github.com/cockroachdb/cockroach/issues/46260). +{% include feature-phases/preview.md %} {{site.data.alerts.end}} {{site.data.alerts.callout_info}} diff --git a/src/current/v25.3/views.md b/src/current/v25.3/views.md index 6b1a667a470..cdebd3ec44f 100644 --- a/src/current/v25.3/views.md +++ b/src/current/v25.3/views.md @@ -653,7 +653,7 @@ To speed up queries on materialized views, you can add an [index]({% link {{ pag CockroachDB supports session-scoped temporary views. Unlike persistent views, temporary views can only be accessed from the session in which they were created, and they are dropped at the end of the session. You can create temporary views on both persistent tables and [temporary tables]({% link {{ page.version.version }}/temporary-tables.md %}). {{site.data.alerts.callout_info}} -{% include feature-phases/preview.md %} For details, see the tracking issue [cockroachdb/cockroach#46260](https://github.com/cockroachdb/cockroach/issues/46260). +{% include feature-phases/preview.md %} {{site.data.alerts.end}} {{site.data.alerts.callout_info}} diff --git a/src/current/v25.4/cluster-setup-troubleshooting.md b/src/current/v25.4/cluster-setup-troubleshooting.md index b8aabecd89a..e6a519fa417 100644 --- a/src/current/v25.4/cluster-setup-troubleshooting.md +++ b/src/current/v25.4/cluster-setup-troubleshooting.md @@ -104,7 +104,7 @@ If you are trying to run all nodes on the same machine, you might get the follow #### Store directory already exists ~~~ -ERROR: could not cleanup temporary directories from record file: could not lock temporary directory /Users/amruta/go/src/github.com/cockroachdb/cockroach/cockroach-data/cockroach-temp301343769, may still be in use: IO error: While lock file: /Users/amruta/go/src/github.com/cockroachdb/cockroach/cockroach-data/cockroach-temp301343769/TEMP_DIR.LOCK: Resource temporarily unavailable +ERROR: could not cleanup temporary directories from record file: could not lock temporary directory /cockroach-data/cockroach-temp301343769, may still be in use: IO error: While lock file: /cockroach-data/cockroach-temp301343769/TEMP_DIR.LOCK: Resource temporarily unavailable ~~~ **Explanation:** When starting a new node on the same machine, the directory you choose to store the data in also contains metadata identifying the cluster the data came from. This causes conflicts when you've already started a node on the server and then tried to start another cluster using the same directory. @@ -225,7 +225,7 @@ Again, firewalls or hostname issues can cause any of these steps to fail. #### TCP connection lingering -If there is no host at the target IP address, or if a firewall rule blocks traffic to the target address and port, a [TCP handshake can linger](https://github.com/cockroachdb/cockroach/issues/53410) while the client network stack waits for a TCP packet in response to network requests. +If there is no host at the target IP address, or if a firewall rule blocks traffic to the target address and port, a TCP handshake can linger while the client network stack waits for a TCP packet in response to network requests. **Explanation:** CockroachDB servers rely on the network to report when a TCP connection fails. In most scenarios when a connection fails, the network immediately reports a connection failure, resulting in a `Connection refused` error. However, the scenario described above can cause connections to hang instead of failing immediately. diff --git a/src/current/v25.4/cockroachdb-feature-availability.md b/src/current/v25.4/cockroachdb-feature-availability.md index d054b6799b3..25baccec0a5 100644 --- a/src/current/v25.4/cockroachdb-feature-availability.md +++ b/src/current/v25.4/cockroachdb-feature-availability.md @@ -198,7 +198,7 @@ Example: ### Check for constraint violations with `SCRUB` -Checks the consistency of [`UNIQUE`]({% link {{ page.version.version }}/unique.md %}) indexes, [`CHECK`]({% link {{ page.version.version }}/check.md %}) constraints, and more. Partially implemented; see [cockroachdb/cockroach#10425](https://github.com/cockroachdb/cockroach/issues/10425) for details. +Checks the consistency of [`UNIQUE`]({% link {{ page.version.version }}/unique.md %}) indexes, [`CHECK`]({% link {{ page.version.version }}/check.md %}) constraints, and more. Partially implemented. {{site.data.alerts.callout_info}} This example uses the `users` table from our open-source, fictional peer-to-peer vehicle-sharing application, [MovR]({% link {{ page.version.version }}/movr.md %}). @@ -229,7 +229,7 @@ The [`SHOW RANGE ... FOR ROW`]({% link {{ page.version.version }}/show-range-for ### Temporary objects -[Temporary tables]({% link {{ page.version.version }}/temporary-tables.md %}), [temporary views]({% link {{ page.version.version }}/views.md %}#temporary-views), and [temporary sequences]({% link {{ page.version.version }}/create-sequence.md %}#temporary-sequences) are in preview in CockroachDB. If you create too many temporary objects in a session, the performance of DDL operations will degrade. Dropping large numbers of temporary objects in rapid succession can also enqueue many [schema change GC jobs]({% link {{ page.version.version }}/show-jobs.md %}), which may further degrade cluster performance. This performance degradation could persist long after creating the temporary objects. For more details, see [cockroachdb/cockroach#46260](https://github.com/cockroachdb/cockroach/issues/46260). +[Temporary tables]({% link {{ page.version.version }}/temporary-tables.md %}), [temporary views]({% link {{ page.version.version }}/views.md %}#temporary-views), and [temporary sequences]({% link {{ page.version.version }}/create-sequence.md %}#temporary-sequences) are in preview in CockroachDB. If you create too many temporary objects in a session, the performance of DDL operations will degrade. Dropping large numbers of temporary objects in rapid succession can also enqueue many [schema change GC jobs]({% link {{ page.version.version }}/show-jobs.md %}), which may further degrade cluster performance. This performance degradation could persist long after creating the temporary objects. To enable temporary objects, set the `experimental_enable_temp_tables` [session variable]({% link {{ page.version.version }}/show-vars.md %}) to `on`. diff --git a/src/current/v25.4/common-table-expressions.md b/src/current/v25.4/common-table-expressions.md index a76f13ff39d..eecee66be5a 100644 --- a/src/current/v25.4/common-table-expressions.md +++ b/src/current/v25.4/common-table-expressions.md @@ -446,7 +446,7 @@ SELECT COUNT(*) FROM temp; Because this pattern incurs the overhead of a new scan for each iteration, it is slower per row than a full scan. It is therefore faster than a full scan in cases (such as this one) where many rows are skipped, but is slower if they are not. {{site.data.alerts.callout_info}} -Some recursive CTEs are not not yet optimized. For details, see the [tracking issue](https://github.com/cockroachdb/cockroach/issues/89954). +Some recursive CTEs are not not yet optimized. {{site.data.alerts.end}} ## Correlated common table expressions diff --git a/src/current/v25.4/configure-replication-zones.md b/src/current/v25.4/configure-replication-zones.md index ced8cef3ded..fe3b610c594 100644 --- a/src/current/v25.4/configure-replication-zones.md +++ b/src/current/v25.4/configure-replication-zones.md @@ -98,7 +98,7 @@ For more information, see the following subsections: The hierarchy of inheritance for zone configs can be visualized using the following outline-style diagram, in which each level of indentation denotes an inheritance relationship. -The only exception to this simple inheritance relationship is that due to a known limitation, sub-partitions do not inherit their values from their parent partitions. Instead, sub-partitions inherit their values from the parent table. For more information, see [cockroachdb/cockroach#75862](https://github.com/cockroachdb/cockroach/issues/75862). +The only exception to this simple inheritance relationship is that due to a known limitation, sub-partitions do not inherit their values from their parent partitions. Instead, sub-partitions inherit their values from the parent table. ``` - default @@ -106,7 +106,7 @@ The only exception to this simple inheritance relationship is that due to a know - table A.B - index A.B.1 - partition (row) 1 - - sub-partition 1.1 (NB. Sub-partitions inherit from tables, *not* partitions - see cockroachdb/cockroach#75862) + - sub-partition 1.1 (NB. Sub-partitions inherit from tables, *not* partitions) - sub-partition 1.1.1 - sub-partition 1.2 - table A.C @@ -127,7 +127,7 @@ From the whole-system perspective, the hierarchy of schema object zone configs c The following diagram presents the same set of schema objects as the previous outline-style diagram, but using boxes and lines joined with arrows that represent the "top-down" view. -Each box represents a schema object in the zone configuration inheritance hierarchy. Each solid line ends in an arrow that points from a parent object to its child object, which will inherit the parent's values unless those values are changed at the child level. The dotted lines between partitions and sub-partitions represent the known limitation mentioned previously that sub-partitions do not inherit their values from their parent partitions. Instead, sub-partitions inherit their values from the parent table. For more information about this limitation, see [cockroachdb/cockroach#75862](https://github.com/cockroachdb/cockroach/issues/75862). +Each box represents a schema object in the zone configuration inheritance hierarchy. Each solid line ends in an arrow that points from a parent object to its child object, which will inherit the parent's values unless those values are changed at the child level. The dotted lines between partitions and sub-partitions represent the known limitation mentioned previously that sub-partitions do not inherit their values from their parent partitions. Instead, sub-partitions inherit their values from the parent table. zone config inheritance diagram diff --git a/src/current/v25.4/create-sequence.md b/src/current/v25.4/create-sequence.md index 72bc62b717b..6f3ffb659ae 100644 --- a/src/current/v25.4/create-sequence.md +++ b/src/current/v25.4/create-sequence.md @@ -60,7 +60,7 @@ CockroachDB supports the following [SQL sequence functions]({% link {{ page.vers CockroachDB supports session-scoped temporary sequences. Unlike persistent sequences, temporary sequences can only be accessed from the session in which they were created, and they are dropped at the end of the session. You can create temporary sequences on both persistent tables and [temporary tables]({% link {{ page.version.version }}/temporary-tables.md %}). {{site.data.alerts.callout_info}} -{% include feature-phases/preview.md %} For details, see the tracking issue [cockroachdb/cockroach#46260](https://github.com/cockroachdb/cockroach/issues/46260). +{% include feature-phases/preview.md %} {{site.data.alerts.end}} {{site.data.alerts.callout_info}} diff --git a/src/current/v25.4/disaster-recovery-planning.md b/src/current/v25.4/disaster-recovery-planning.md index de593915cf0..6e050ea012d 100644 --- a/src/current/v25.4/disaster-recovery-planning.md +++ b/src/current/v25.4/disaster-recovery-planning.md @@ -322,7 +322,7 @@ If your cluster is running, you do not have a backup that encapsulates the time If you have corrupted data in a database or table, [restore]({% link {{ page.version.version }}/restore.md %}) the object from a prior [backup]({% link {{ page.version.version }}/backup.md %}). If revision history is in the backup, you can restore from a [point in time]({% link {{ page.version.version }}/take-backups-with-revision-history-and-restore-from-a-point-in-time.md %}). -Instead of dropping the corrupted table or database, we recommend [renaming the table]({% link {{ page.version.version }}/alter-table.md %}#rename-to) or [renaming the database]({% link {{ page.version.version }}/alter-database.md %}#rename-to) so you have historical data to compare to later. If you drop a database, the database cannot be referenced with `AS OF SYSTEM TIME` queries (see [#51380](https://github.com/cockroachdb/cockroach/issues/51380) for more information), and you will need to take a backup that is backdated to the system time when the database still existed. +Instead of dropping the corrupted table or database, we recommend [renaming the table]({% link {{ page.version.version }}/alter-table.md %}#rename-to) or [renaming the database]({% link {{ page.version.version }}/alter-database.md %}#rename-to) so you have historical data to compare to later. If you drop a database, the database cannot be referenced with `AS OF SYSTEM TIME` queries, and you will need to take a backup that is backdated to the system time when the database still existed. {{site.data.alerts.callout_info}} If the table you are restoring has foreign keys, [careful consideration]({% link {{ page.version.version }}/restore.md %}#remove-the-foreign-key-before-restore) should be applied to make sure data integrity is maintained during the restore process. diff --git a/src/current/v25.4/foreign-key.md b/src/current/v25.4/foreign-key.md index b9e6cc50f5c..c0e01f2aa9d 100644 --- a/src/current/v25.4/foreign-key.md +++ b/src/current/v25.4/foreign-key.md @@ -92,7 +92,7 @@ For matching purposes, composite foreign keys can be in one of three states: For examples showing how these key matching algorithms work, see [Match composite foreign keys with `MATCH SIMPLE` and `MATCH FULL`](#match-composite-foreign-keys-with-match-simple-and-match-full). {{site.data.alerts.callout_info}} -CockroachDB does not support `MATCH PARTIAL`. For more information, see issue [#20305](https://github.com/cockroachdb/cockroach/issues/20305). +CockroachDB does not support `MATCH PARTIAL`. {{site.data.alerts.end}} ### Foreign key actions diff --git a/src/current/v25.4/install-cockroachdb-mac.md b/src/current/v25.4/install-cockroachdb-mac.md index 19ea059cbf1..b8e71250881 100644 --- a/src/current/v25.4/install-cockroachdb-mac.md +++ b/src/current/v25.4/install-cockroachdb-mac.md @@ -201,4 +201,4 @@ CockroachDB runtimes built for the ARM architecture have the following limitatio {% comment %}v22.2.0+{% endcomment %} -On macOS ARM systems, [spatial features]({% link {{ page.version.version }}/spatial-data-overview.md %}) are disabled due to an issue with macOS code signing for the GEOS libraries. Users needing spatial features on an ARM Mac may instead [run the Intel binary](#install-the-binary) or use the[Docker container image](#use-docker). Refer to [GitHub issue #93161](https://github.com/cockroachdb/cockroach/issues/93161) for more information. +On macOS ARM systems, [spatial features]({% link {{ page.version.version }}/spatial-data-overview.md %}) are disabled due to an issue with macOS code signing for the GEOS libraries. Users needing spatial features on an ARM Mac may instead [run the Intel binary](#install-the-binary) or use the[Docker container image](#use-docker). diff --git a/src/current/v25.4/query-spatial-data.md b/src/current/v25.4/query-spatial-data.md index 26710368ce2..b37b5aa1e26 100644 --- a/src/current/v25.4/query-spatial-data.md +++ b/src/current/v25.4/query-spatial-data.md @@ -24,7 +24,7 @@ Just as CockroachDB strives for [PostgreSQL compatibility]({% link {{ page.versi CockroachDB does not implement the full list of PostGIS built-in functions and operators. Also, [spatial indexing works differently]({% link {{ page.version.version }}/spatial-indexes.md %}) (see the [Performance](#performance) section below). For a list of the spatial functions CockroachDB supports, see [Geospatial functions]({% link {{ page.version.version }}/functions-and-operators.md %}#spatial-functions). -If your application needs support for functions that are not yet implemented, check the [meta-issue for built-in function support on GitHub](https://github.com/cockroachdb/cockroach/issues/49203), which describes how to find an issue for the built-in function(s) you need. +If your application needs support for functions that are not yet implemented, please [contact Support](https://support.cockroachlabs.com). For a list of other known limitations, refer to [Known Limitations]({% link {{ page.version.version }}/spatial-data-overview.md %}#known-limitations). diff --git a/src/current/v25.4/restore.md b/src/current/v25.4/restore.md index 927c1ace0a7..c040afb44cc 100644 --- a/src/current/v25.4/restore.md +++ b/src/current/v25.4/restore.md @@ -279,7 +279,7 @@ CockroachDB does **not** support incremental-only restores. - {% include {{ page.version.version }}/known-limitations/restore-multiregion-match.md %} -The ordering of regions and how region matching is determined is a known limitation. See the [Known Limitations](#known-limitations) section for the tracking issues on limitations around `RESTORE` and multi-region support. +The ordering of regions and how region matching is determined is a known limitation. For more on multi-region databases, see the [Multi-Region Capabilities Overview]({% link {{ page.version.version }}/multiregion-overview.md %}). diff --git a/src/current/v25.4/spatial-tutorial.md b/src/current/v25.4/spatial-tutorial.md index c0038c1de81..46a25420d80 100644 --- a/src/current/v25.4/spatial-tutorial.md +++ b/src/current/v25.4/spatial-tutorial.md @@ -966,7 +966,7 @@ Time: 1.447s total (execution 1.446s / network 0.000s) Unfortunately, this query is a bit slower than you would like: about 1.5 seconds on a single-node [`cockroach demo`]({% link {{ page.version.version }}/cockroach-demo.md %}) cluster on a laptop. There are several reasons for this: 1. You haven't created any indexes at all yet. The query is likely to be doing full table scans, which you will need to hunt down with [`EXPLAIN`]({% link {{ page.version.version }}/explain.md %}). -1. CockroachDB does not yet have built-in support for index-based nearest neighbor queries. If this feature is important to you, please comment with some information about your use case on [cockroachdb/cockroach#55227](https://github.com/cockroachdb/cockroach/issues/55227). +1. CockroachDB does not yet have built-in support for index-based nearest neighbor queries. Let's look at the `EXPLAIN` output to see if there is something that can be done to improve this query's performance: diff --git a/src/current/v25.4/sql-feature-support.md b/src/current/v25.4/sql-feature-support.md index df9fa0711d8..a12847e0f67 100644 --- a/src/current/v25.4/sql-feature-support.md +++ b/src/current/v25.4/sql-feature-support.md @@ -194,4 +194,4 @@ XML | ✗ | Standard | XML data can be stored as `BYTES`, but we do not offer XM Triggers | Partial | Standard | [Triggers documentation]({% link {{ page.version.version }}/triggers.md %}) Row-level TTL | ✓ | Common Extension | Automatically delete expired rows. For more information, see [Batch-delete expired data with Row-Level TTL]({% link {{ page.version.version }}/row-level-ttl.md %}). User-defined functions | Partial | Standard | [User-Defined Functions documentation]({% link {{ page.version.version }}/user-defined-functions.md %}) - `CREATE EXTENSION "uuid-ossp"` | ✓ | Common Extension | Provides access to several additional [UUID generation functions]({% link {{ page.version.version }}/functions-and-operators.md %}#id-generation-functions). Note that these UUID functions are available without typing `CREATE EXTENSION "uuid-ossp"`. CockroachDB does not have full support for `CREATE EXTENSION`. [GitHub issue tracking `CREATE EXTENSION` support](https://github.com/cockroachdb/cockroach/issues/74777). + `CREATE EXTENSION "uuid-ossp"` | ✓ | Common Extension | Provides access to several additional [UUID generation functions]({% link {{ page.version.version }}/functions-and-operators.md %}#id-generation-functions). Note that these UUID functions are available without typing `CREATE EXTENSION "uuid-ossp"`. CockroachDB does not have full support for `CREATE EXTENSION`. diff --git a/src/current/v25.4/sql-name-resolution.md b/src/current/v25.4/sql-name-resolution.md index 554a9a65583..000ae5bf2dd 100644 --- a/src/current/v25.4/sql-name-resolution.md +++ b/src/current/v25.4/sql-name-resolution.md @@ -37,8 +37,7 @@ If you are upgrading to {{ page.version.version }}, take any combination of the - [Create new schemas]({% link {{ page.version.version }}/create-schema.md %}) in databases on your cluster. After the schemas are created, use [`ALTER TABLE ... RENAME`]({% link {{ page.version.version }}/alter-table.md %}#rename-to), [`ALTER SEQUENCE ... RENAME`]({% link {{ page.version.version }}/alter-sequence.md %}), [`ALTER TYPE ... RENAME`]({% link {{ page.version.version }}/alter-type.md %}), or [`ALTER VIEW ... RENAME`]({% link {{ page.version.version }}/alter-view.md %}) statements to move objects between databases as needed. To move objects between schemas, use [`ALTER TABLE ... SET SCHEMA`]({% link {{ page.version.version }}/alter-table.md %}#set-schema), [`ALTER SEQUENCE ... SET SCHEMA`]({% link {{ page.version.version }}/alter-sequence.md %}), or [`ALTER VIEW ... SET SCHEMA`]({% link {{ page.version.version }}/alter-view.md %}). -- If your cluster contains cross-database references (e.g., a cross-database foreign key reference, or a cross-database view reference), use the relevant [`ALTER TABLE`]({% link {{ page.version.version }}/alter-table.md %}), [`ALTER SEQUENCE`]({% link {{ page.version.version }}/alter-sequence.md %}), [`ALTER TYPE`]({% link {{ page.version.version }}/alter-type.md %}), or [`ALTER VIEW `]({% link {{ page.version.version }}/alter-view.md %}) statements to move any cross-referencing objects to the same database, but different schemas. Cross-database object references were allowed in earlier versions of CockroachDB to make database-object naming hierarchies more flexible for users. In v20.2, creating cross-database references are disabled for [foreign keys](foreign-key.html), [views]({% link {{ page.version.version }}/views.md %}), and [sequence ownership]({% link {{ page.version.version }}/create-sequence.md %}). For details, see [tracking issue](https://github.com/cockroachdb/cockroach/issues/55791). - +- If your cluster contains cross-database references (e.g., a cross-database foreign key reference, or a cross-database view reference), use the relevant [`ALTER TABLE`]({% link {{ page.version.version }}/alter-table.md %}), [`ALTER SEQUENCE`]({% link {{ page.version.version }}/alter-sequence.md %}), [`ALTER TYPE`]({% link {{ page.version.version }}/alter-type.md %}), or [`ALTER VIEW `]({% link {{ page.version.version }}/alter-view.md %}) statements to move any cross-referencing objects to the same database, but different schemas. Cross-database object references were allowed in earlier versions of CockroachDB to make database-object naming hierarchies more flexible for users. In v20.2, creating cross-database references are disabled for [foreign keys](foreign-key.html), [views]({% link {{ page.version.version }}/views.md %}), and [sequence ownership]({% link {{ page.version.version }}/create-sequence.md %}). ## How name resolution works Name resolution occurs separately to **look up existing objects** and to diff --git a/src/current/v25.4/st_union.md b/src/current/v25.4/st_union.md index 5b4027bd0e0..5658f77f1b0 100644 --- a/src/current/v25.4/st_union.md +++ b/src/current/v25.4/st_union.md @@ -12,7 +12,7 @@ Given a set of shapes (e.g., from a [selection query]({% link {{ page.version.ve - [`GEOMETRY`]({% link {{ page.version.version }}/architecture/glossary.md %}#geometry) {{site.data.alerts.callout_info}} -The non-aggregate version of `ST_Union` is not yet implemented. For more information, see [cockroach#49064](https://github.com/cockroachdb/cockroach/issues/49064). +The non-aggregate version of `ST_Union` is not yet implemented. {{site.data.alerts.end}} {{site.data.alerts.callout_info}} diff --git a/src/current/v25.4/temporary-tables.md b/src/current/v25.4/temporary-tables.md index 3a92fc64c97..3d96d296a59 100644 --- a/src/current/v25.4/temporary-tables.md +++ b/src/current/v25.4/temporary-tables.md @@ -10,7 +10,7 @@ docs_area: develop To create a temp table, add `TEMP`/`TEMPORARY` to a [`CREATE TABLE`]({% link {{ page.version.version }}/create-table.md %}) or [`CREATE TABLE AS`]({% link {{ page.version.version }}/create-table-as.md %}) statement. For full syntax details, see the [`CREATE TABLE`]({% link {{ page.version.version }}/create-table.md %}#synopsis) and [`CREATE TABLE AS`]({% link {{ page.version.version }}/create-table-as.md %}#synopsis) pages. For example usage, see [Examples](#examples). {{site.data.alerts.callout_info}} -{% include feature-phases/preview.md %} For details, see the tracking issue [cockroachdb/cockroach#46260](https://github.com/cockroachdb/cockroach/issues/46260). +{% include feature-phases/preview.md %} {{site.data.alerts.end}} {{site.data.alerts.callout_info}} diff --git a/src/current/v25.4/views.md b/src/current/v25.4/views.md index 7aaea1c54a9..d4d4c876e5f 100644 --- a/src/current/v25.4/views.md +++ b/src/current/v25.4/views.md @@ -647,7 +647,7 @@ To speed up queries on materialized views, you can add an [index]({% link {{ pag CockroachDB supports session-scoped temporary views. Unlike persistent views, temporary views can only be accessed from the session in which they were created, and they are dropped at the end of the session. You can create temporary views on both persistent tables and [temporary tables]({% link {{ page.version.version }}/temporary-tables.md %}). {{site.data.alerts.callout_info}} -{% include feature-phases/preview.md %} For details, see the tracking issue [cockroachdb/cockroach#46260](https://github.com/cockroachdb/cockroach/issues/46260). +{% include feature-phases/preview.md %} {{site.data.alerts.end}} {{site.data.alerts.callout_info}} diff --git a/src/current/v26.1/cluster-setup-troubleshooting.md b/src/current/v26.1/cluster-setup-troubleshooting.md index b8aabecd89a..e6a519fa417 100644 --- a/src/current/v26.1/cluster-setup-troubleshooting.md +++ b/src/current/v26.1/cluster-setup-troubleshooting.md @@ -104,7 +104,7 @@ If you are trying to run all nodes on the same machine, you might get the follow #### Store directory already exists ~~~ -ERROR: could not cleanup temporary directories from record file: could not lock temporary directory /Users/amruta/go/src/github.com/cockroachdb/cockroach/cockroach-data/cockroach-temp301343769, may still be in use: IO error: While lock file: /Users/amruta/go/src/github.com/cockroachdb/cockroach/cockroach-data/cockroach-temp301343769/TEMP_DIR.LOCK: Resource temporarily unavailable +ERROR: could not cleanup temporary directories from record file: could not lock temporary directory /cockroach-data/cockroach-temp301343769, may still be in use: IO error: While lock file: /cockroach-data/cockroach-temp301343769/TEMP_DIR.LOCK: Resource temporarily unavailable ~~~ **Explanation:** When starting a new node on the same machine, the directory you choose to store the data in also contains metadata identifying the cluster the data came from. This causes conflicts when you've already started a node on the server and then tried to start another cluster using the same directory. @@ -225,7 +225,7 @@ Again, firewalls or hostname issues can cause any of these steps to fail. #### TCP connection lingering -If there is no host at the target IP address, or if a firewall rule blocks traffic to the target address and port, a [TCP handshake can linger](https://github.com/cockroachdb/cockroach/issues/53410) while the client network stack waits for a TCP packet in response to network requests. +If there is no host at the target IP address, or if a firewall rule blocks traffic to the target address and port, a TCP handshake can linger while the client network stack waits for a TCP packet in response to network requests. **Explanation:** CockroachDB servers rely on the network to report when a TCP connection fails. In most scenarios when a connection fails, the network immediately reports a connection failure, resulting in a `Connection refused` error. However, the scenario described above can cause connections to hang instead of failing immediately. diff --git a/src/current/v26.1/cockroachdb-feature-availability.md b/src/current/v26.1/cockroachdb-feature-availability.md index 80782e931f8..a5fb436d0a1 100644 --- a/src/current/v26.1/cockroachdb-feature-availability.md +++ b/src/current/v26.1/cockroachdb-feature-availability.md @@ -210,7 +210,7 @@ The [`SHOW RANGE ... FOR ROW`]({% link {{ page.version.version }}/show-range-for ### Temporary objects -[Temporary tables]({% link {{ page.version.version }}/temporary-tables.md %}), [temporary views]({% link {{ page.version.version }}/views.md %}#temporary-views), and [temporary sequences]({% link {{ page.version.version }}/create-sequence.md %}#temporary-sequences) are in preview in CockroachDB. If you create too many temporary objects in a session, the performance of DDL operations will degrade. Dropping large numbers of temporary objects in rapid succession can also enqueue many [schema change GC jobs]({% link {{ page.version.version }}/show-jobs.md %}), which may further degrade cluster performance. This performance degradation could persist long after creating the temporary objects. For more details, see [cockroachdb/cockroach#46260](https://github.com/cockroachdb/cockroach/issues/46260). +[Temporary tables]({% link {{ page.version.version }}/temporary-tables.md %}), [temporary views]({% link {{ page.version.version }}/views.md %}#temporary-views), and [temporary sequences]({% link {{ page.version.version }}/create-sequence.md %}#temporary-sequences) are in preview in CockroachDB. If you create too many temporary objects in a session, the performance of DDL operations will degrade. Dropping large numbers of temporary objects in rapid succession can also enqueue many [schema change GC jobs]({% link {{ page.version.version }}/show-jobs.md %}), which may further degrade cluster performance. This performance degradation could persist long after creating the temporary objects. To enable temporary objects, set the `experimental_enable_temp_tables` [session variable]({% link {{ page.version.version }}/show-vars.md %}) to `on`. diff --git a/src/current/v26.1/common-table-expressions.md b/src/current/v26.1/common-table-expressions.md index a76f13ff39d..eecee66be5a 100644 --- a/src/current/v26.1/common-table-expressions.md +++ b/src/current/v26.1/common-table-expressions.md @@ -446,7 +446,7 @@ SELECT COUNT(*) FROM temp; Because this pattern incurs the overhead of a new scan for each iteration, it is slower per row than a full scan. It is therefore faster than a full scan in cases (such as this one) where many rows are skipped, but is slower if they are not. {{site.data.alerts.callout_info}} -Some recursive CTEs are not not yet optimized. For details, see the [tracking issue](https://github.com/cockroachdb/cockroach/issues/89954). +Some recursive CTEs are not not yet optimized. {{site.data.alerts.end}} ## Correlated common table expressions diff --git a/src/current/v26.1/configure-replication-zones.md b/src/current/v26.1/configure-replication-zones.md index 05f564ed4c9..975b0b50068 100644 --- a/src/current/v26.1/configure-replication-zones.md +++ b/src/current/v26.1/configure-replication-zones.md @@ -98,7 +98,7 @@ For more information, see the following subsections: The hierarchy of inheritance for zone configs can be visualized using the following outline-style diagram, in which each level of indentation denotes an inheritance relationship. -The only exception to this simple inheritance relationship is that due to a known limitation, sub-partitions do not inherit their values from their parent partitions. Instead, sub-partitions inherit their values from the parent table. For more information, see [cockroachdb/cockroach#75862](https://github.com/cockroachdb/cockroach/issues/75862). +The only exception to this simple inheritance relationship is that due to a known limitation, sub-partitions do not inherit their values from their parent partitions. Instead, sub-partitions inherit their values from the parent table. ``` - default @@ -106,7 +106,7 @@ The only exception to this simple inheritance relationship is that due to a know - table A.B - index A.B.1 - partition (row) 1 - - sub-partition 1.1 (NB. Sub-partitions inherit from tables, *not* partitions - see cockroachdb/cockroach#75862) + - sub-partition 1.1 (NB. Sub-partitions inherit from tables, *not* partitions) - sub-partition 1.1.1 - sub-partition 1.2 - table A.C @@ -127,7 +127,7 @@ From the whole-system perspective, the hierarchy of schema object zone configs c The following diagram presents the same set of schema objects as the previous outline-style diagram, but using boxes and lines joined with arrows that represent the "top-down" view. -Each box represents a schema object in the zone configuration inheritance hierarchy. Each solid line ends in an arrow that points from a parent object to its child object, which will inherit the parent's values unless those values are changed at the child level. The dotted lines between partitions and sub-partitions represent the known limitation mentioned previously that sub-partitions do not inherit their values from their parent partitions. Instead, sub-partitions inherit their values from the parent table. For more information about this limitation, see [cockroachdb/cockroach#75862](https://github.com/cockroachdb/cockroach/issues/75862). +Each box represents a schema object in the zone configuration inheritance hierarchy. Each solid line ends in an arrow that points from a parent object to its child object, which will inherit the parent's values unless those values are changed at the child level. The dotted lines between partitions and sub-partitions represent the known limitation mentioned previously that sub-partitions do not inherit their values from their parent partitions. Instead, sub-partitions inherit their values from the parent table. zone config inheritance diagram diff --git a/src/current/v26.1/create-sequence.md b/src/current/v26.1/create-sequence.md index 72bc62b717b..6f3ffb659ae 100644 --- a/src/current/v26.1/create-sequence.md +++ b/src/current/v26.1/create-sequence.md @@ -60,7 +60,7 @@ CockroachDB supports the following [SQL sequence functions]({% link {{ page.vers CockroachDB supports session-scoped temporary sequences. Unlike persistent sequences, temporary sequences can only be accessed from the session in which they were created, and they are dropped at the end of the session. You can create temporary sequences on both persistent tables and [temporary tables]({% link {{ page.version.version }}/temporary-tables.md %}). {{site.data.alerts.callout_info}} -{% include feature-phases/preview.md %} For details, see the tracking issue [cockroachdb/cockroach#46260](https://github.com/cockroachdb/cockroach/issues/46260). +{% include feature-phases/preview.md %} {{site.data.alerts.end}} {{site.data.alerts.callout_info}} diff --git a/src/current/v26.1/disaster-recovery-planning.md b/src/current/v26.1/disaster-recovery-planning.md index de593915cf0..6e050ea012d 100644 --- a/src/current/v26.1/disaster-recovery-planning.md +++ b/src/current/v26.1/disaster-recovery-planning.md @@ -322,7 +322,7 @@ If your cluster is running, you do not have a backup that encapsulates the time If you have corrupted data in a database or table, [restore]({% link {{ page.version.version }}/restore.md %}) the object from a prior [backup]({% link {{ page.version.version }}/backup.md %}). If revision history is in the backup, you can restore from a [point in time]({% link {{ page.version.version }}/take-backups-with-revision-history-and-restore-from-a-point-in-time.md %}). -Instead of dropping the corrupted table or database, we recommend [renaming the table]({% link {{ page.version.version }}/alter-table.md %}#rename-to) or [renaming the database]({% link {{ page.version.version }}/alter-database.md %}#rename-to) so you have historical data to compare to later. If you drop a database, the database cannot be referenced with `AS OF SYSTEM TIME` queries (see [#51380](https://github.com/cockroachdb/cockroach/issues/51380) for more information), and you will need to take a backup that is backdated to the system time when the database still existed. +Instead of dropping the corrupted table or database, we recommend [renaming the table]({% link {{ page.version.version }}/alter-table.md %}#rename-to) or [renaming the database]({% link {{ page.version.version }}/alter-database.md %}#rename-to) so you have historical data to compare to later. If you drop a database, the database cannot be referenced with `AS OF SYSTEM TIME` queries, and you will need to take a backup that is backdated to the system time when the database still existed. {{site.data.alerts.callout_info}} If the table you are restoring has foreign keys, [careful consideration]({% link {{ page.version.version }}/restore.md %}#remove-the-foreign-key-before-restore) should be applied to make sure data integrity is maintained during the restore process. diff --git a/src/current/v26.1/foreign-key.md b/src/current/v26.1/foreign-key.md index b9e6cc50f5c..c0e01f2aa9d 100644 --- a/src/current/v26.1/foreign-key.md +++ b/src/current/v26.1/foreign-key.md @@ -92,7 +92,7 @@ For matching purposes, composite foreign keys can be in one of three states: For examples showing how these key matching algorithms work, see [Match composite foreign keys with `MATCH SIMPLE` and `MATCH FULL`](#match-composite-foreign-keys-with-match-simple-and-match-full). {{site.data.alerts.callout_info}} -CockroachDB does not support `MATCH PARTIAL`. For more information, see issue [#20305](https://github.com/cockroachdb/cockroach/issues/20305). +CockroachDB does not support `MATCH PARTIAL`. {{site.data.alerts.end}} ### Foreign key actions diff --git a/src/current/v26.1/install-cockroachdb-mac.md b/src/current/v26.1/install-cockroachdb-mac.md index 116d9e9901e..c50ee78aa8e 100644 --- a/src/current/v26.1/install-cockroachdb-mac.md +++ b/src/current/v26.1/install-cockroachdb-mac.md @@ -201,4 +201,4 @@ CockroachDB runtimes built for the ARM architecture have the following limitatio {% comment %}v22.2.0+{% endcomment %} -On macOS ARM systems, [spatial features]({% link {{ page.version.version }}/spatial-data-overview.md %}) are disabled due to an issue with macOS code signing for the GEOS libraries. Users needing spatial features on an ARM Mac may instead [run the Intel binary](#install-the-binary) or use the[Docker container image](#use-docker). Refer to [GitHub issue #93161](https://github.com/cockroachdb/cockroach/issues/93161) for more information. +On macOS ARM systems, [spatial features]({% link {{ page.version.version }}/spatial-data-overview.md %}) are disabled due to an issue with macOS code signing for the GEOS libraries. Users needing spatial features on an ARM Mac may instead [run the Intel binary](#install-the-binary) or use the[Docker container image](#use-docker). diff --git a/src/current/v26.1/query-spatial-data.md b/src/current/v26.1/query-spatial-data.md index a259dd87082..c511b1b3ace 100644 --- a/src/current/v26.1/query-spatial-data.md +++ b/src/current/v26.1/query-spatial-data.md @@ -24,7 +24,7 @@ Just as CockroachDB strives for [PostgreSQL compatibility]({% link {{ page.versi CockroachDB does not implement the full list of PostGIS built-in functions and operators. Also, [spatial indexing works differently]({% link {{ page.version.version }}/spatial-indexes.md %}) (see the [Performance](#performance) section below). For a list of the spatial functions CockroachDB supports, see [Geospatial functions]({% link {{ page.version.version }}/functions-and-operators.md %}#spatial-functions). -If your application needs support for functions that are not yet implemented, check the [meta-issue for built-in function support on GitHub](https://github.com/cockroachdb/cockroach/issues/49203), which describes how to find an issue for the built-in function(s) you need. +If your application needs support for functions that are not yet implemented, please [contact Support](https://support.cockroachlabs.com). For a list of other known limitations, refer to [Known Limitations]({% link {{ page.version.version }}/spatial-data-overview.md %}#known-limitations). diff --git a/src/current/v26.1/restore.md b/src/current/v26.1/restore.md index 5247a82cfcc..0b8b5b603cc 100644 --- a/src/current/v26.1/restore.md +++ b/src/current/v26.1/restore.md @@ -277,7 +277,7 @@ CockroachDB does **not** support incremental-only restores. - {% include {{ page.version.version }}/known-limitations/restore-multiregion-match.md %} -The ordering of regions and how region matching is determined is a known limitation. See the [Known Limitations](#known-limitations) section for the tracking issues on limitations around `RESTORE` and multi-region support. +The ordering of regions and how region matching is determined is a known limitation. For more on multi-region databases, see the [Multi-Region Capabilities Overview]({% link {{ page.version.version }}/multiregion-overview.md %}). diff --git a/src/current/v26.1/sql-feature-support.md b/src/current/v26.1/sql-feature-support.md index df9fa0711d8..a12847e0f67 100644 --- a/src/current/v26.1/sql-feature-support.md +++ b/src/current/v26.1/sql-feature-support.md @@ -194,4 +194,4 @@ XML | ✗ | Standard | XML data can be stored as `BYTES`, but we do not offer XM Triggers | Partial | Standard | [Triggers documentation]({% link {{ page.version.version }}/triggers.md %}) Row-level TTL | ✓ | Common Extension | Automatically delete expired rows. For more information, see [Batch-delete expired data with Row-Level TTL]({% link {{ page.version.version }}/row-level-ttl.md %}). User-defined functions | Partial | Standard | [User-Defined Functions documentation]({% link {{ page.version.version }}/user-defined-functions.md %}) - `CREATE EXTENSION "uuid-ossp"` | ✓ | Common Extension | Provides access to several additional [UUID generation functions]({% link {{ page.version.version }}/functions-and-operators.md %}#id-generation-functions). Note that these UUID functions are available without typing `CREATE EXTENSION "uuid-ossp"`. CockroachDB does not have full support for `CREATE EXTENSION`. [GitHub issue tracking `CREATE EXTENSION` support](https://github.com/cockroachdb/cockroach/issues/74777). + `CREATE EXTENSION "uuid-ossp"` | ✓ | Common Extension | Provides access to several additional [UUID generation functions]({% link {{ page.version.version }}/functions-and-operators.md %}#id-generation-functions). Note that these UUID functions are available without typing `CREATE EXTENSION "uuid-ossp"`. CockroachDB does not have full support for `CREATE EXTENSION`. diff --git a/src/current/v26.1/sql-name-resolution.md b/src/current/v26.1/sql-name-resolution.md index 554a9a65583..000ae5bf2dd 100644 --- a/src/current/v26.1/sql-name-resolution.md +++ b/src/current/v26.1/sql-name-resolution.md @@ -37,8 +37,7 @@ If you are upgrading to {{ page.version.version }}, take any combination of the - [Create new schemas]({% link {{ page.version.version }}/create-schema.md %}) in databases on your cluster. After the schemas are created, use [`ALTER TABLE ... RENAME`]({% link {{ page.version.version }}/alter-table.md %}#rename-to), [`ALTER SEQUENCE ... RENAME`]({% link {{ page.version.version }}/alter-sequence.md %}), [`ALTER TYPE ... RENAME`]({% link {{ page.version.version }}/alter-type.md %}), or [`ALTER VIEW ... RENAME`]({% link {{ page.version.version }}/alter-view.md %}) statements to move objects between databases as needed. To move objects between schemas, use [`ALTER TABLE ... SET SCHEMA`]({% link {{ page.version.version }}/alter-table.md %}#set-schema), [`ALTER SEQUENCE ... SET SCHEMA`]({% link {{ page.version.version }}/alter-sequence.md %}), or [`ALTER VIEW ... SET SCHEMA`]({% link {{ page.version.version }}/alter-view.md %}). -- If your cluster contains cross-database references (e.g., a cross-database foreign key reference, or a cross-database view reference), use the relevant [`ALTER TABLE`]({% link {{ page.version.version }}/alter-table.md %}), [`ALTER SEQUENCE`]({% link {{ page.version.version }}/alter-sequence.md %}), [`ALTER TYPE`]({% link {{ page.version.version }}/alter-type.md %}), or [`ALTER VIEW `]({% link {{ page.version.version }}/alter-view.md %}) statements to move any cross-referencing objects to the same database, but different schemas. Cross-database object references were allowed in earlier versions of CockroachDB to make database-object naming hierarchies more flexible for users. In v20.2, creating cross-database references are disabled for [foreign keys](foreign-key.html), [views]({% link {{ page.version.version }}/views.md %}), and [sequence ownership]({% link {{ page.version.version }}/create-sequence.md %}). For details, see [tracking issue](https://github.com/cockroachdb/cockroach/issues/55791). - +- If your cluster contains cross-database references (e.g., a cross-database foreign key reference, or a cross-database view reference), use the relevant [`ALTER TABLE`]({% link {{ page.version.version }}/alter-table.md %}), [`ALTER SEQUENCE`]({% link {{ page.version.version }}/alter-sequence.md %}), [`ALTER TYPE`]({% link {{ page.version.version }}/alter-type.md %}), or [`ALTER VIEW `]({% link {{ page.version.version }}/alter-view.md %}) statements to move any cross-referencing objects to the same database, but different schemas. Cross-database object references were allowed in earlier versions of CockroachDB to make database-object naming hierarchies more flexible for users. In v20.2, creating cross-database references are disabled for [foreign keys](foreign-key.html), [views]({% link {{ page.version.version }}/views.md %}), and [sequence ownership]({% link {{ page.version.version }}/create-sequence.md %}). ## How name resolution works Name resolution occurs separately to **look up existing objects** and to diff --git a/src/current/v26.1/st_union.md b/src/current/v26.1/st_union.md index c49acc60e30..78bad6d247f 100644 --- a/src/current/v26.1/st_union.md +++ b/src/current/v26.1/st_union.md @@ -12,7 +12,7 @@ Given a set of shapes (e.g., from a [selection query]({% link {{ page.version.ve - [`GEOMETRY`]({% link {{ page.version.version }}/architecture/glossary.md %}#geometry) {{site.data.alerts.callout_info}} -The non-aggregate version of `ST_Union` is not yet implemented. For more information, see [cockroach#49064](https://github.com/cockroachdb/cockroach/issues/49064). +The non-aggregate version of `ST_Union` is not yet implemented. {{site.data.alerts.end}} {{site.data.alerts.callout_info}} diff --git a/src/current/v26.1/temporary-tables.md b/src/current/v26.1/temporary-tables.md index 3a92fc64c97..3d96d296a59 100644 --- a/src/current/v26.1/temporary-tables.md +++ b/src/current/v26.1/temporary-tables.md @@ -10,7 +10,7 @@ docs_area: develop To create a temp table, add `TEMP`/`TEMPORARY` to a [`CREATE TABLE`]({% link {{ page.version.version }}/create-table.md %}) or [`CREATE TABLE AS`]({% link {{ page.version.version }}/create-table-as.md %}) statement. For full syntax details, see the [`CREATE TABLE`]({% link {{ page.version.version }}/create-table.md %}#synopsis) and [`CREATE TABLE AS`]({% link {{ page.version.version }}/create-table-as.md %}#synopsis) pages. For example usage, see [Examples](#examples). {{site.data.alerts.callout_info}} -{% include feature-phases/preview.md %} For details, see the tracking issue [cockroachdb/cockroach#46260](https://github.com/cockroachdb/cockroach/issues/46260). +{% include feature-phases/preview.md %} {{site.data.alerts.end}} {{site.data.alerts.callout_info}} diff --git a/src/current/v26.1/views.md b/src/current/v26.1/views.md index 7aaea1c54a9..d4d4c876e5f 100644 --- a/src/current/v26.1/views.md +++ b/src/current/v26.1/views.md @@ -647,7 +647,7 @@ To speed up queries on materialized views, you can add an [index]({% link {{ pag CockroachDB supports session-scoped temporary views. Unlike persistent views, temporary views can only be accessed from the session in which they were created, and they are dropped at the end of the session. You can create temporary views on both persistent tables and [temporary tables]({% link {{ page.version.version }}/temporary-tables.md %}). {{site.data.alerts.callout_info}} -{% include feature-phases/preview.md %} For details, see the tracking issue [cockroachdb/cockroach#46260](https://github.com/cockroachdb/cockroach/issues/46260). +{% include feature-phases/preview.md %} {{site.data.alerts.end}} {{site.data.alerts.callout_info}} diff --git a/src/current/v26.2/cluster-setup-troubleshooting.md b/src/current/v26.2/cluster-setup-troubleshooting.md index b8aabecd89a..e6a519fa417 100644 --- a/src/current/v26.2/cluster-setup-troubleshooting.md +++ b/src/current/v26.2/cluster-setup-troubleshooting.md @@ -104,7 +104,7 @@ If you are trying to run all nodes on the same machine, you might get the follow #### Store directory already exists ~~~ -ERROR: could not cleanup temporary directories from record file: could not lock temporary directory /Users/amruta/go/src/github.com/cockroachdb/cockroach/cockroach-data/cockroach-temp301343769, may still be in use: IO error: While lock file: /Users/amruta/go/src/github.com/cockroachdb/cockroach/cockroach-data/cockroach-temp301343769/TEMP_DIR.LOCK: Resource temporarily unavailable +ERROR: could not cleanup temporary directories from record file: could not lock temporary directory /cockroach-data/cockroach-temp301343769, may still be in use: IO error: While lock file: /cockroach-data/cockroach-temp301343769/TEMP_DIR.LOCK: Resource temporarily unavailable ~~~ **Explanation:** When starting a new node on the same machine, the directory you choose to store the data in also contains metadata identifying the cluster the data came from. This causes conflicts when you've already started a node on the server and then tried to start another cluster using the same directory. @@ -225,7 +225,7 @@ Again, firewalls or hostname issues can cause any of these steps to fail. #### TCP connection lingering -If there is no host at the target IP address, or if a firewall rule blocks traffic to the target address and port, a [TCP handshake can linger](https://github.com/cockroachdb/cockroach/issues/53410) while the client network stack waits for a TCP packet in response to network requests. +If there is no host at the target IP address, or if a firewall rule blocks traffic to the target address and port, a TCP handshake can linger while the client network stack waits for a TCP packet in response to network requests. **Explanation:** CockroachDB servers rely on the network to report when a TCP connection fails. In most scenarios when a connection fails, the network immediately reports a connection failure, resulting in a `Connection refused` error. However, the scenario described above can cause connections to hang instead of failing immediately. diff --git a/src/current/v26.2/cockroachdb-feature-availability.md b/src/current/v26.2/cockroachdb-feature-availability.md index 3cc21c29e27..089faf14092 100644 --- a/src/current/v26.2/cockroachdb-feature-availability.md +++ b/src/current/v26.2/cockroachdb-feature-availability.md @@ -206,7 +206,7 @@ The [`SHOW RANGE ... FOR ROW`]({% link {{ page.version.version }}/show-range-for ### Temporary objects -[Temporary tables]({% link {{ page.version.version }}/temporary-tables.md %}), [temporary views]({% link {{ page.version.version }}/views.md %}#temporary-views), and [temporary sequences]({% link {{ page.version.version }}/create-sequence.md %}#temporary-sequences) are in preview in CockroachDB. If you create too many temporary objects in a session, the performance of DDL operations will degrade. Dropping large numbers of temporary objects in rapid succession can also enqueue many [schema change GC jobs]({% link {{ page.version.version }}/show-jobs.md %}), which may further degrade cluster performance. This performance degradation could persist long after creating the temporary objects. For more details, see [cockroachdb/cockroach#46260](https://github.com/cockroachdb/cockroach/issues/46260). +[Temporary tables]({% link {{ page.version.version }}/temporary-tables.md %}), [temporary views]({% link {{ page.version.version }}/views.md %}#temporary-views), and [temporary sequences]({% link {{ page.version.version }}/create-sequence.md %}#temporary-sequences) are in preview in CockroachDB. If you create too many temporary objects in a session, the performance of DDL operations will degrade. Dropping large numbers of temporary objects in rapid succession can also enqueue many [schema change GC jobs]({% link {{ page.version.version }}/show-jobs.md %}), which may further degrade cluster performance. This performance degradation could persist long after creating the temporary objects. To enable temporary objects, set the `experimental_enable_temp_tables` [session variable]({% link {{ page.version.version }}/show-vars.md %}) to `on`. diff --git a/src/current/v26.2/common-table-expressions.md b/src/current/v26.2/common-table-expressions.md index a76f13ff39d..eecee66be5a 100644 --- a/src/current/v26.2/common-table-expressions.md +++ b/src/current/v26.2/common-table-expressions.md @@ -446,7 +446,7 @@ SELECT COUNT(*) FROM temp; Because this pattern incurs the overhead of a new scan for each iteration, it is slower per row than a full scan. It is therefore faster than a full scan in cases (such as this one) where many rows are skipped, but is slower if they are not. {{site.data.alerts.callout_info}} -Some recursive CTEs are not not yet optimized. For details, see the [tracking issue](https://github.com/cockroachdb/cockroach/issues/89954). +Some recursive CTEs are not not yet optimized. {{site.data.alerts.end}} ## Correlated common table expressions diff --git a/src/current/v26.2/configure-replication-zones.md b/src/current/v26.2/configure-replication-zones.md index 77ca4c675ec..99e422ff311 100644 --- a/src/current/v26.2/configure-replication-zones.md +++ b/src/current/v26.2/configure-replication-zones.md @@ -98,7 +98,7 @@ For more information, see the following subsections: The hierarchy of inheritance for zone configs can be visualized using the following outline-style diagram, in which each level of indentation denotes an inheritance relationship. -The only exception to this simple inheritance relationship is that due to a known limitation, sub-partitions do not inherit their values from their parent partitions. Instead, sub-partitions inherit their values from the parent table. For more information, see [cockroachdb/cockroach#75862](https://github.com/cockroachdb/cockroach/issues/75862). +The only exception to this simple inheritance relationship is that due to a known limitation, sub-partitions do not inherit their values from their parent partitions. Instead, sub-partitions inherit their values from the parent table. ``` - default @@ -106,7 +106,7 @@ The only exception to this simple inheritance relationship is that due to a know - table A.B - index A.B.1 - partition (row) 1 - - sub-partition 1.1 (NB. Sub-partitions inherit from tables, *not* partitions - see cockroachdb/cockroach#75862) + - sub-partition 1.1 (NB. Sub-partitions inherit from tables, *not* partitions) - sub-partition 1.1.1 - sub-partition 1.2 - table A.C @@ -127,7 +127,7 @@ From the whole-system perspective, the hierarchy of schema object zone configs c The following diagram presents the same set of schema objects as the previous outline-style diagram, but using boxes and lines joined with arrows that represent the "top-down" view. -Each box represents a schema object in the zone configuration inheritance hierarchy. Each solid line ends in an arrow that points from a parent object to its child object, which will inherit the parent's values unless those values are changed at the child level. The dotted lines between partitions and sub-partitions represent the known limitation mentioned previously that sub-partitions do not inherit their values from their parent partitions. Instead, sub-partitions inherit their values from the parent table. For more information about this limitation, see [cockroachdb/cockroach#75862](https://github.com/cockroachdb/cockroach/issues/75862). +Each box represents a schema object in the zone configuration inheritance hierarchy. Each solid line ends in an arrow that points from a parent object to its child object, which will inherit the parent's values unless those values are changed at the child level. The dotted lines between partitions and sub-partitions represent the known limitation mentioned previously that sub-partitions do not inherit their values from their parent partitions. Instead, sub-partitions inherit their values from the parent table. zone config inheritance diagram diff --git a/src/current/v26.2/create-sequence.md b/src/current/v26.2/create-sequence.md index 72bc62b717b..6f3ffb659ae 100644 --- a/src/current/v26.2/create-sequence.md +++ b/src/current/v26.2/create-sequence.md @@ -60,7 +60,7 @@ CockroachDB supports the following [SQL sequence functions]({% link {{ page.vers CockroachDB supports session-scoped temporary sequences. Unlike persistent sequences, temporary sequences can only be accessed from the session in which they were created, and they are dropped at the end of the session. You can create temporary sequences on both persistent tables and [temporary tables]({% link {{ page.version.version }}/temporary-tables.md %}). {{site.data.alerts.callout_info}} -{% include feature-phases/preview.md %} For details, see the tracking issue [cockroachdb/cockroach#46260](https://github.com/cockroachdb/cockroach/issues/46260). +{% include feature-phases/preview.md %} {{site.data.alerts.end}} {{site.data.alerts.callout_info}} diff --git a/src/current/v26.2/disaster-recovery-planning.md b/src/current/v26.2/disaster-recovery-planning.md index de593915cf0..6e050ea012d 100644 --- a/src/current/v26.2/disaster-recovery-planning.md +++ b/src/current/v26.2/disaster-recovery-planning.md @@ -322,7 +322,7 @@ If your cluster is running, you do not have a backup that encapsulates the time If you have corrupted data in a database or table, [restore]({% link {{ page.version.version }}/restore.md %}) the object from a prior [backup]({% link {{ page.version.version }}/backup.md %}). If revision history is in the backup, you can restore from a [point in time]({% link {{ page.version.version }}/take-backups-with-revision-history-and-restore-from-a-point-in-time.md %}). -Instead of dropping the corrupted table or database, we recommend [renaming the table]({% link {{ page.version.version }}/alter-table.md %}#rename-to) or [renaming the database]({% link {{ page.version.version }}/alter-database.md %}#rename-to) so you have historical data to compare to later. If you drop a database, the database cannot be referenced with `AS OF SYSTEM TIME` queries (see [#51380](https://github.com/cockroachdb/cockroach/issues/51380) for more information), and you will need to take a backup that is backdated to the system time when the database still existed. +Instead of dropping the corrupted table or database, we recommend [renaming the table]({% link {{ page.version.version }}/alter-table.md %}#rename-to) or [renaming the database]({% link {{ page.version.version }}/alter-database.md %}#rename-to) so you have historical data to compare to later. If you drop a database, the database cannot be referenced with `AS OF SYSTEM TIME` queries, and you will need to take a backup that is backdated to the system time when the database still existed. {{site.data.alerts.callout_info}} If the table you are restoring has foreign keys, [careful consideration]({% link {{ page.version.version }}/restore.md %}#remove-the-foreign-key-before-restore) should be applied to make sure data integrity is maintained during the restore process. diff --git a/src/current/v26.2/foreign-key.md b/src/current/v26.2/foreign-key.md index b9e6cc50f5c..c0e01f2aa9d 100644 --- a/src/current/v26.2/foreign-key.md +++ b/src/current/v26.2/foreign-key.md @@ -92,7 +92,7 @@ For matching purposes, composite foreign keys can be in one of three states: For examples showing how these key matching algorithms work, see [Match composite foreign keys with `MATCH SIMPLE` and `MATCH FULL`](#match-composite-foreign-keys-with-match-simple-and-match-full). {{site.data.alerts.callout_info}} -CockroachDB does not support `MATCH PARTIAL`. For more information, see issue [#20305](https://github.com/cockroachdb/cockroach/issues/20305). +CockroachDB does not support `MATCH PARTIAL`. {{site.data.alerts.end}} ### Foreign key actions diff --git a/src/current/v26.2/install-cockroachdb-mac.md b/src/current/v26.2/install-cockroachdb-mac.md index 116d9e9901e..c50ee78aa8e 100644 --- a/src/current/v26.2/install-cockroachdb-mac.md +++ b/src/current/v26.2/install-cockroachdb-mac.md @@ -201,4 +201,4 @@ CockroachDB runtimes built for the ARM architecture have the following limitatio {% comment %}v22.2.0+{% endcomment %} -On macOS ARM systems, [spatial features]({% link {{ page.version.version }}/spatial-data-overview.md %}) are disabled due to an issue with macOS code signing for the GEOS libraries. Users needing spatial features on an ARM Mac may instead [run the Intel binary](#install-the-binary) or use the[Docker container image](#use-docker). Refer to [GitHub issue #93161](https://github.com/cockroachdb/cockroach/issues/93161) for more information. +On macOS ARM systems, [spatial features]({% link {{ page.version.version }}/spatial-data-overview.md %}) are disabled due to an issue with macOS code signing for the GEOS libraries. Users needing spatial features on an ARM Mac may instead [run the Intel binary](#install-the-binary) or use the[Docker container image](#use-docker). diff --git a/src/current/v26.2/query-spatial-data.md b/src/current/v26.2/query-spatial-data.md index 2684600938e..34b2cec11b5 100644 --- a/src/current/v26.2/query-spatial-data.md +++ b/src/current/v26.2/query-spatial-data.md @@ -24,7 +24,7 @@ Just as CockroachDB strives for [PostgreSQL compatibility]({% link {{ page.versi CockroachDB does not implement the full list of PostGIS built-in functions and operators. Also, [spatial indexing works differently]({% link {{ page.version.version }}/spatial-indexes.md %}) (see the [Performance](#performance) section below). For a list of the spatial functions CockroachDB supports, see [Geospatial functions]({% link {{ page.version.version }}/functions-and-operators.md %}#spatial-functions). -If your application needs support for functions that are not yet implemented, check the [meta-issue for built-in function support on GitHub](https://github.com/cockroachdb/cockroach/issues/49203), which describes how to find an issue for the built-in function(s) you need. +If your application needs support for functions that are not yet implemented, please [contact Support](https://support.cockroachlabs.com). For a list of other known limitations, refer to [Known Limitations]({% link {{ page.version.version }}/spatial-data-overview.md %}#known-limitations). diff --git a/src/current/v26.2/restore.md b/src/current/v26.2/restore.md index 70d0063895e..9cff008fa13 100644 --- a/src/current/v26.2/restore.md +++ b/src/current/v26.2/restore.md @@ -278,7 +278,7 @@ CockroachDB does **not** support incremental-only restores. - {% include {{ page.version.version }}/known-limitations/restore-multiregion-match.md %} -The ordering of regions and how region matching is determined is a known limitation. See the [Known Limitations](#known-limitations) section for the tracking issues on limitations around `RESTORE` and multi-region support. +The ordering of regions and how region matching is determined is a known limitation. For more on multi-region databases, see the [Multi-Region Capabilities Overview]({% link {{ page.version.version }}/multiregion-overview.md %}). diff --git a/src/current/v26.2/sql-feature-support.md b/src/current/v26.2/sql-feature-support.md index d0d4b8051d6..680dc627abb 100644 --- a/src/current/v26.2/sql-feature-support.md +++ b/src/current/v26.2/sql-feature-support.md @@ -194,5 +194,5 @@ XML | ✗ | Standard | XML data can be stored as `BYTES`, but we do not offer XM Triggers | Partial | Standard | [Triggers documentation]({% link {{ page.version.version }}/triggers.md %}) Row-level TTL | ✓ | Common Extension | Automatically delete expired rows. For more information, see [Batch-delete expired data with Row-Level TTL]({% link {{ page.version.version }}/row-level-ttl.md %}). User-defined functions | Partial | Standard | [User-Defined Functions documentation]({% link {{ page.version.version }}/user-defined-functions.md %}) - New in v26.2: `CREATE EXTENSION "fuzzystrmatch"` | ✓ | Common Extension | Provides PostgreSQL-compatible fuzzy string matching functions including `soundex()`, `difference()`, `levenshtein()`, `metaphone()`, [`dmetaphone()`]({% link {{ page.version.version }}/functions-and-operators.md %}#dmetaphone), [`dmetaphone_alt()`]({% link {{ page.version.version }}/functions-and-operators.md %}#dmetaphone_alt), and [`daitch_mokotoff()`]({% link {{ page.version.version }}/functions-and-operators.md %}#daitch_mokotoff). These functions are available without running `CREATE EXTENSION "fuzzystrmatch"`. CockroachDB does not have full support for `CREATE EXTENSION`. [GitHub issue tracking `CREATE EXTENSION` support](https://github.com/cockroachdb/cockroach/issues/74777). - `CREATE EXTENSION "uuid-ossp"` | ✓ | Common Extension | Provides access to several additional [UUID generation functions]({% link {{ page.version.version }}/functions-and-operators.md %}#id-generation-functions). Note that these UUID functions are available without typing `CREATE EXTENSION "uuid-ossp"`. CockroachDB does not have full support for `CREATE EXTENSION`. [GitHub issue tracking `CREATE EXTENSION` support](https://github.com/cockroachdb/cockroach/issues/74777). + New in v26.2: `CREATE EXTENSION "fuzzystrmatch"` | ✓ | Common Extension | Provides PostgreSQL-compatible fuzzy string matching functions including `soundex()`, `difference()`, `levenshtein()`, `metaphone()`, [`dmetaphone()`]({% link {{ page.version.version }}/functions-and-operators.md %}#dmetaphone), [`dmetaphone_alt()`]({% link {{ page.version.version }}/functions-and-operators.md %}#dmetaphone_alt), and [`daitch_mokotoff()`]({% link {{ page.version.version }}/functions-and-operators.md %}#daitch_mokotoff). These functions are available without running `CREATE EXTENSION "fuzzystrmatch"`. CockroachDB does not have full support for `CREATE EXTENSION`. + `CREATE EXTENSION "uuid-ossp"` | ✓ | Common Extension | Provides access to several additional [UUID generation functions]({% link {{ page.version.version }}/functions-and-operators.md %}#id-generation-functions). Note that these UUID functions are available without typing `CREATE EXTENSION "uuid-ossp"`. CockroachDB does not have full support for `CREATE EXTENSION`. diff --git a/src/current/v26.2/sql-name-resolution.md b/src/current/v26.2/sql-name-resolution.md index 554a9a65583..000ae5bf2dd 100644 --- a/src/current/v26.2/sql-name-resolution.md +++ b/src/current/v26.2/sql-name-resolution.md @@ -37,8 +37,7 @@ If you are upgrading to {{ page.version.version }}, take any combination of the - [Create new schemas]({% link {{ page.version.version }}/create-schema.md %}) in databases on your cluster. After the schemas are created, use [`ALTER TABLE ... RENAME`]({% link {{ page.version.version }}/alter-table.md %}#rename-to), [`ALTER SEQUENCE ... RENAME`]({% link {{ page.version.version }}/alter-sequence.md %}), [`ALTER TYPE ... RENAME`]({% link {{ page.version.version }}/alter-type.md %}), or [`ALTER VIEW ... RENAME`]({% link {{ page.version.version }}/alter-view.md %}) statements to move objects between databases as needed. To move objects between schemas, use [`ALTER TABLE ... SET SCHEMA`]({% link {{ page.version.version }}/alter-table.md %}#set-schema), [`ALTER SEQUENCE ... SET SCHEMA`]({% link {{ page.version.version }}/alter-sequence.md %}), or [`ALTER VIEW ... SET SCHEMA`]({% link {{ page.version.version }}/alter-view.md %}). -- If your cluster contains cross-database references (e.g., a cross-database foreign key reference, or a cross-database view reference), use the relevant [`ALTER TABLE`]({% link {{ page.version.version }}/alter-table.md %}), [`ALTER SEQUENCE`]({% link {{ page.version.version }}/alter-sequence.md %}), [`ALTER TYPE`]({% link {{ page.version.version }}/alter-type.md %}), or [`ALTER VIEW `]({% link {{ page.version.version }}/alter-view.md %}) statements to move any cross-referencing objects to the same database, but different schemas. Cross-database object references were allowed in earlier versions of CockroachDB to make database-object naming hierarchies more flexible for users. In v20.2, creating cross-database references are disabled for [foreign keys](foreign-key.html), [views]({% link {{ page.version.version }}/views.md %}), and [sequence ownership]({% link {{ page.version.version }}/create-sequence.md %}). For details, see [tracking issue](https://github.com/cockroachdb/cockroach/issues/55791). - +- If your cluster contains cross-database references (e.g., a cross-database foreign key reference, or a cross-database view reference), use the relevant [`ALTER TABLE`]({% link {{ page.version.version }}/alter-table.md %}), [`ALTER SEQUENCE`]({% link {{ page.version.version }}/alter-sequence.md %}), [`ALTER TYPE`]({% link {{ page.version.version }}/alter-type.md %}), or [`ALTER VIEW `]({% link {{ page.version.version }}/alter-view.md %}) statements to move any cross-referencing objects to the same database, but different schemas. Cross-database object references were allowed in earlier versions of CockroachDB to make database-object naming hierarchies more flexible for users. In v20.2, creating cross-database references are disabled for [foreign keys](foreign-key.html), [views]({% link {{ page.version.version }}/views.md %}), and [sequence ownership]({% link {{ page.version.version }}/create-sequence.md %}). ## How name resolution works Name resolution occurs separately to **look up existing objects** and to diff --git a/src/current/v26.2/st_union.md b/src/current/v26.2/st_union.md index 3f5a33e6330..6d48cb8f133 100644 --- a/src/current/v26.2/st_union.md +++ b/src/current/v26.2/st_union.md @@ -12,7 +12,7 @@ Given a set of shapes (e.g., from a [selection query]({% link {{ page.version.ve - [`GEOMETRY`]({% link {{ page.version.version }}/architecture/glossary.md %}#geometry) {{site.data.alerts.callout_info}} -The non-aggregate version of `ST_Union` is not yet implemented. For more information, see [cockroach#49064](https://github.com/cockroachdb/cockroach/issues/49064). +The non-aggregate version of `ST_Union` is not yet implemented. {{site.data.alerts.end}} {{site.data.alerts.callout_info}} diff --git a/src/current/v26.2/temporary-tables.md b/src/current/v26.2/temporary-tables.md index 3a92fc64c97..3d96d296a59 100644 --- a/src/current/v26.2/temporary-tables.md +++ b/src/current/v26.2/temporary-tables.md @@ -10,7 +10,7 @@ docs_area: develop To create a temp table, add `TEMP`/`TEMPORARY` to a [`CREATE TABLE`]({% link {{ page.version.version }}/create-table.md %}) or [`CREATE TABLE AS`]({% link {{ page.version.version }}/create-table-as.md %}) statement. For full syntax details, see the [`CREATE TABLE`]({% link {{ page.version.version }}/create-table.md %}#synopsis) and [`CREATE TABLE AS`]({% link {{ page.version.version }}/create-table-as.md %}#synopsis) pages. For example usage, see [Examples](#examples). {{site.data.alerts.callout_info}} -{% include feature-phases/preview.md %} For details, see the tracking issue [cockroachdb/cockroach#46260](https://github.com/cockroachdb/cockroach/issues/46260). +{% include feature-phases/preview.md %} {{site.data.alerts.end}} {{site.data.alerts.callout_info}} diff --git a/src/current/v26.2/views.md b/src/current/v26.2/views.md index d21bbf6bef1..36429ca5245 100644 --- a/src/current/v26.2/views.md +++ b/src/current/v26.2/views.md @@ -665,7 +665,7 @@ To speed up queries on materialized views, you can add an [index]({% link {{ pag CockroachDB supports session-scoped temporary views. Unlike persistent views, temporary views can only be accessed from the session in which they were created, and they are dropped at the end of the session. You can create temporary views on both persistent tables and [temporary tables]({% link {{ page.version.version }}/temporary-tables.md %}). {{site.data.alerts.callout_info}} -{% include feature-phases/preview.md %} For details, see the tracking issue [cockroachdb/cockroach#46260](https://github.com/cockroachdb/cockroach/issues/46260). +{% include feature-phases/preview.md %} {{site.data.alerts.end}} {{site.data.alerts.callout_info}} diff --git a/src/current/v26.3/cluster-setup-troubleshooting.md b/src/current/v26.3/cluster-setup-troubleshooting.md index b8aabecd89a..fd9d0d20a9a 100644 --- a/src/current/v26.3/cluster-setup-troubleshooting.md +++ b/src/current/v26.3/cluster-setup-troubleshooting.md @@ -225,7 +225,7 @@ Again, firewalls or hostname issues can cause any of these steps to fail. #### TCP connection lingering -If there is no host at the target IP address, or if a firewall rule blocks traffic to the target address and port, a [TCP handshake can linger](https://github.com/cockroachdb/cockroach/issues/53410) while the client network stack waits for a TCP packet in response to network requests. +If there is no host at the target IP address, or if a firewall rule blocks traffic to the target address and port, a TCP handshake can linger while the client network stack waits for a TCP packet in response to network requests. **Explanation:** CockroachDB servers rely on the network to report when a TCP connection fails. In most scenarios when a connection fails, the network immediately reports a connection failure, resulting in a `Connection refused` error. However, the scenario described above can cause connections to hang instead of failing immediately. diff --git a/src/current/v26.3/cockroachdb-feature-availability.md b/src/current/v26.3/cockroachdb-feature-availability.md index 3cc21c29e27..089faf14092 100644 --- a/src/current/v26.3/cockroachdb-feature-availability.md +++ b/src/current/v26.3/cockroachdb-feature-availability.md @@ -206,7 +206,7 @@ The [`SHOW RANGE ... FOR ROW`]({% link {{ page.version.version }}/show-range-for ### Temporary objects -[Temporary tables]({% link {{ page.version.version }}/temporary-tables.md %}), [temporary views]({% link {{ page.version.version }}/views.md %}#temporary-views), and [temporary sequences]({% link {{ page.version.version }}/create-sequence.md %}#temporary-sequences) are in preview in CockroachDB. If you create too many temporary objects in a session, the performance of DDL operations will degrade. Dropping large numbers of temporary objects in rapid succession can also enqueue many [schema change GC jobs]({% link {{ page.version.version }}/show-jobs.md %}), which may further degrade cluster performance. This performance degradation could persist long after creating the temporary objects. For more details, see [cockroachdb/cockroach#46260](https://github.com/cockroachdb/cockroach/issues/46260). +[Temporary tables]({% link {{ page.version.version }}/temporary-tables.md %}), [temporary views]({% link {{ page.version.version }}/views.md %}#temporary-views), and [temporary sequences]({% link {{ page.version.version }}/create-sequence.md %}#temporary-sequences) are in preview in CockroachDB. If you create too many temporary objects in a session, the performance of DDL operations will degrade. Dropping large numbers of temporary objects in rapid succession can also enqueue many [schema change GC jobs]({% link {{ page.version.version }}/show-jobs.md %}), which may further degrade cluster performance. This performance degradation could persist long after creating the temporary objects. To enable temporary objects, set the `experimental_enable_temp_tables` [session variable]({% link {{ page.version.version }}/show-vars.md %}) to `on`. diff --git a/src/current/v26.3/common-table-expressions.md b/src/current/v26.3/common-table-expressions.md index a76f13ff39d..eecee66be5a 100644 --- a/src/current/v26.3/common-table-expressions.md +++ b/src/current/v26.3/common-table-expressions.md @@ -446,7 +446,7 @@ SELECT COUNT(*) FROM temp; Because this pattern incurs the overhead of a new scan for each iteration, it is slower per row than a full scan. It is therefore faster than a full scan in cases (such as this one) where many rows are skipped, but is slower if they are not. {{site.data.alerts.callout_info}} -Some recursive CTEs are not not yet optimized. For details, see the [tracking issue](https://github.com/cockroachdb/cockroach/issues/89954). +Some recursive CTEs are not not yet optimized. {{site.data.alerts.end}} ## Correlated common table expressions diff --git a/src/current/v26.3/configure-replication-zones.md b/src/current/v26.3/configure-replication-zones.md index b2f64a700ba..8f2001cb07b 100644 --- a/src/current/v26.3/configure-replication-zones.md +++ b/src/current/v26.3/configure-replication-zones.md @@ -98,7 +98,7 @@ For more information, see the following subsections: The hierarchy of inheritance for zone configs can be visualized using the following outline-style diagram, in which each level of indentation denotes an inheritance relationship. -The only exception to this simple inheritance relationship is that due to a known limitation, sub-partitions do not inherit their values from their parent partitions. Instead, sub-partitions inherit their values from the parent table. For more information, see [cockroachdb/cockroach#75862](https://github.com/cockroachdb/cockroach/issues/75862). +The only exception to this simple inheritance relationship is that due to a known limitation, sub-partitions do not inherit their values from their parent partitions. Instead, sub-partitions inherit their values from the parent table. ``` - default @@ -106,7 +106,7 @@ The only exception to this simple inheritance relationship is that due to a know - table A.B - index A.B.1 - partition (row) 1 - - sub-partition 1.1 (NB. Sub-partitions inherit from tables, *not* partitions - see cockroachdb/cockroach#75862) + - sub-partition 1.1 (NB. Sub-partitions inherit from tables, *not* partitions) - sub-partition 1.1.1 - sub-partition 1.2 - table A.C @@ -127,7 +127,7 @@ From the whole-system perspective, the hierarchy of schema object zone configs c The following diagram presents the same set of schema objects as the previous outline-style diagram, but using boxes and lines joined with arrows that represent the "top-down" view. -Each box represents a schema object in the zone configuration inheritance hierarchy. Each solid line ends in an arrow that points from a parent object to its child object, which will inherit the parent's values unless those values are changed at the child level. The dotted lines between partitions and sub-partitions represent the known limitation mentioned previously that sub-partitions do not inherit their values from their parent partitions. Instead, sub-partitions inherit their values from the parent table. For more information about this limitation, see [cockroachdb/cockroach#75862](https://github.com/cockroachdb/cockroach/issues/75862). +Each box represents a schema object in the zone configuration inheritance hierarchy. Each solid line ends in an arrow that points from a parent object to its child object, which will inherit the parent's values unless those values are changed at the child level. The dotted lines between partitions and sub-partitions represent the known limitation mentioned previously that sub-partitions do not inherit their values from their parent partitions. Instead, sub-partitions inherit their values from the parent table. zone config inheritance diagram diff --git a/src/current/v26.3/create-sequence.md b/src/current/v26.3/create-sequence.md index 72bc62b717b..6f3ffb659ae 100644 --- a/src/current/v26.3/create-sequence.md +++ b/src/current/v26.3/create-sequence.md @@ -60,7 +60,7 @@ CockroachDB supports the following [SQL sequence functions]({% link {{ page.vers CockroachDB supports session-scoped temporary sequences. Unlike persistent sequences, temporary sequences can only be accessed from the session in which they were created, and they are dropped at the end of the session. You can create temporary sequences on both persistent tables and [temporary tables]({% link {{ page.version.version }}/temporary-tables.md %}). {{site.data.alerts.callout_info}} -{% include feature-phases/preview.md %} For details, see the tracking issue [cockroachdb/cockroach#46260](https://github.com/cockroachdb/cockroach/issues/46260). +{% include feature-phases/preview.md %} {{site.data.alerts.end}} {{site.data.alerts.callout_info}} diff --git a/src/current/v26.3/disaster-recovery-planning.md b/src/current/v26.3/disaster-recovery-planning.md index de593915cf0..6e050ea012d 100644 --- a/src/current/v26.3/disaster-recovery-planning.md +++ b/src/current/v26.3/disaster-recovery-planning.md @@ -322,7 +322,7 @@ If your cluster is running, you do not have a backup that encapsulates the time If you have corrupted data in a database or table, [restore]({% link {{ page.version.version }}/restore.md %}) the object from a prior [backup]({% link {{ page.version.version }}/backup.md %}). If revision history is in the backup, you can restore from a [point in time]({% link {{ page.version.version }}/take-backups-with-revision-history-and-restore-from-a-point-in-time.md %}). -Instead of dropping the corrupted table or database, we recommend [renaming the table]({% link {{ page.version.version }}/alter-table.md %}#rename-to) or [renaming the database]({% link {{ page.version.version }}/alter-database.md %}#rename-to) so you have historical data to compare to later. If you drop a database, the database cannot be referenced with `AS OF SYSTEM TIME` queries (see [#51380](https://github.com/cockroachdb/cockroach/issues/51380) for more information), and you will need to take a backup that is backdated to the system time when the database still existed. +Instead of dropping the corrupted table or database, we recommend [renaming the table]({% link {{ page.version.version }}/alter-table.md %}#rename-to) or [renaming the database]({% link {{ page.version.version }}/alter-database.md %}#rename-to) so you have historical data to compare to later. If you drop a database, the database cannot be referenced with `AS OF SYSTEM TIME` queries, and you will need to take a backup that is backdated to the system time when the database still existed. {{site.data.alerts.callout_info}} If the table you are restoring has foreign keys, [careful consideration]({% link {{ page.version.version }}/restore.md %}#remove-the-foreign-key-before-restore) should be applied to make sure data integrity is maintained during the restore process. diff --git a/src/current/v26.3/foreign-key.md b/src/current/v26.3/foreign-key.md index b9e6cc50f5c..c0e01f2aa9d 100644 --- a/src/current/v26.3/foreign-key.md +++ b/src/current/v26.3/foreign-key.md @@ -92,7 +92,7 @@ For matching purposes, composite foreign keys can be in one of three states: For examples showing how these key matching algorithms work, see [Match composite foreign keys with `MATCH SIMPLE` and `MATCH FULL`](#match-composite-foreign-keys-with-match-simple-and-match-full). {{site.data.alerts.callout_info}} -CockroachDB does not support `MATCH PARTIAL`. For more information, see issue [#20305](https://github.com/cockroachdb/cockroach/issues/20305). +CockroachDB does not support `MATCH PARTIAL`. {{site.data.alerts.end}} ### Foreign key actions diff --git a/src/current/v26.3/install-cockroachdb-mac.md b/src/current/v26.3/install-cockroachdb-mac.md index 116d9e9901e..c50ee78aa8e 100644 --- a/src/current/v26.3/install-cockroachdb-mac.md +++ b/src/current/v26.3/install-cockroachdb-mac.md @@ -201,4 +201,4 @@ CockroachDB runtimes built for the ARM architecture have the following limitatio {% comment %}v22.2.0+{% endcomment %} -On macOS ARM systems, [spatial features]({% link {{ page.version.version }}/spatial-data-overview.md %}) are disabled due to an issue with macOS code signing for the GEOS libraries. Users needing spatial features on an ARM Mac may instead [run the Intel binary](#install-the-binary) or use the[Docker container image](#use-docker). Refer to [GitHub issue #93161](https://github.com/cockroachdb/cockroach/issues/93161) for more information. +On macOS ARM systems, [spatial features]({% link {{ page.version.version }}/spatial-data-overview.md %}) are disabled due to an issue with macOS code signing for the GEOS libraries. Users needing spatial features on an ARM Mac may instead [run the Intel binary](#install-the-binary) or use the[Docker container image](#use-docker). diff --git a/src/current/v26.3/query-spatial-data.md b/src/current/v26.3/query-spatial-data.md index cf24623a439..cac84f424d0 100644 --- a/src/current/v26.3/query-spatial-data.md +++ b/src/current/v26.3/query-spatial-data.md @@ -24,7 +24,7 @@ Just as CockroachDB strives for [PostgreSQL compatibility]({% link {{ page.versi CockroachDB does not implement the full list of PostGIS built-in functions and operators. Also, [spatial indexing works differently]({% link {{ page.version.version }}/spatial-indexes.md %}) (see the [Performance](#performance) section below). For a list of the spatial functions CockroachDB supports, see [Geospatial functions]({% link {{ page.version.version }}/functions-and-operators.md %}#spatial-functions). -If your application needs support for functions that are not yet implemented, check the [meta-issue for built-in function support on GitHub](https://github.com/cockroachdb/cockroach/issues/49203), which describes how to find an issue for the built-in function(s) you need. +If your application needs support for functions that are not yet implemented, please [contact Support](https://support.cockroachlabs.com). For a list of other known limitations, refer to [Known Limitations]({% link {{ page.version.version }}/spatial-data-overview.md %}#known-limitations). diff --git a/src/current/v26.3/sql-feature-support.md b/src/current/v26.3/sql-feature-support.md index 731a2491e7b..0a2bbb0d37e 100644 --- a/src/current/v26.3/sql-feature-support.md +++ b/src/current/v26.3/sql-feature-support.md @@ -194,5 +194,5 @@ XML | ✗ | Standard | XML data can be stored as `BYTES`, but we do not offer XM Triggers | Partial | Standard | [Triggers documentation]({% link {{ page.version.version }}/triggers.md %}) Row-level TTL | ✓ | Common Extension | Automatically delete expired rows. For more information, see [Batch-delete expired data with Row-Level TTL]({% link {{ page.version.version }}/row-level-ttl.md %}). User-defined functions | Partial | Standard | [User-Defined Functions documentation]({% link {{ page.version.version }}/user-defined-functions.md %}) - `CREATE EXTENSION "fuzzystrmatch"` | ✓ | Common Extension | Provides PostgreSQL-compatible fuzzy string matching functions including `soundex()`, `difference()`, `levenshtein()`, `metaphone()`, [`dmetaphone()`]({% link {{ page.version.version }}/functions-and-operators.md %}#dmetaphone), [`dmetaphone_alt()`]({% link {{ page.version.version }}/functions-and-operators.md %}#dmetaphone_alt), and [`daitch_mokotoff()`]({% link {{ page.version.version }}/functions-and-operators.md %}#daitch_mokotoff). These functions are available without running `CREATE EXTENSION "fuzzystrmatch"`. CockroachDB does not have full support for `CREATE EXTENSION`. [GitHub issue tracking `CREATE EXTENSION` support](https://github.com/cockroachdb/cockroach/issues/74777). - `CREATE EXTENSION "uuid-ossp"` | ✓ | Common Extension | Provides access to several additional [UUID generation functions]({% link {{ page.version.version }}/functions-and-operators.md %}#id-generation-functions). Note that these UUID functions are available without typing `CREATE EXTENSION "uuid-ossp"`. CockroachDB does not have full support for `CREATE EXTENSION`. [GitHub issue tracking `CREATE EXTENSION` support](https://github.com/cockroachdb/cockroach/issues/74777). + `CREATE EXTENSION "fuzzystrmatch"` | ✓ | Common Extension | Provides PostgreSQL-compatible fuzzy string matching functions including `soundex()`, `difference()`, `levenshtein()`, `metaphone()`, [`dmetaphone()`]({% link {{ page.version.version }}/functions-and-operators.md %}#dmetaphone), [`dmetaphone_alt()`]({% link {{ page.version.version }}/functions-and-operators.md %}#dmetaphone_alt), and [`daitch_mokotoff()`]({% link {{ page.version.version }}/functions-and-operators.md %}#daitch_mokotoff). These functions are available without running `CREATE EXTENSION "fuzzystrmatch"`. CockroachDB does not have full support for `CREATE EXTENSION`. + `CREATE EXTENSION "uuid-ossp"` | ✓ | Common Extension | Provides access to several additional [UUID generation functions]({% link {{ page.version.version }}/functions-and-operators.md %}#id-generation-functions). Note that these UUID functions are available without typing `CREATE EXTENSION "uuid-ossp"`. CockroachDB does not have full support for `CREATE EXTENSION`. diff --git a/src/current/v26.3/sql-name-resolution.md b/src/current/v26.3/sql-name-resolution.md index 554a9a65583..000ae5bf2dd 100644 --- a/src/current/v26.3/sql-name-resolution.md +++ b/src/current/v26.3/sql-name-resolution.md @@ -37,8 +37,7 @@ If you are upgrading to {{ page.version.version }}, take any combination of the - [Create new schemas]({% link {{ page.version.version }}/create-schema.md %}) in databases on your cluster. After the schemas are created, use [`ALTER TABLE ... RENAME`]({% link {{ page.version.version }}/alter-table.md %}#rename-to), [`ALTER SEQUENCE ... RENAME`]({% link {{ page.version.version }}/alter-sequence.md %}), [`ALTER TYPE ... RENAME`]({% link {{ page.version.version }}/alter-type.md %}), or [`ALTER VIEW ... RENAME`]({% link {{ page.version.version }}/alter-view.md %}) statements to move objects between databases as needed. To move objects between schemas, use [`ALTER TABLE ... SET SCHEMA`]({% link {{ page.version.version }}/alter-table.md %}#set-schema), [`ALTER SEQUENCE ... SET SCHEMA`]({% link {{ page.version.version }}/alter-sequence.md %}), or [`ALTER VIEW ... SET SCHEMA`]({% link {{ page.version.version }}/alter-view.md %}). -- If your cluster contains cross-database references (e.g., a cross-database foreign key reference, or a cross-database view reference), use the relevant [`ALTER TABLE`]({% link {{ page.version.version }}/alter-table.md %}), [`ALTER SEQUENCE`]({% link {{ page.version.version }}/alter-sequence.md %}), [`ALTER TYPE`]({% link {{ page.version.version }}/alter-type.md %}), or [`ALTER VIEW `]({% link {{ page.version.version }}/alter-view.md %}) statements to move any cross-referencing objects to the same database, but different schemas. Cross-database object references were allowed in earlier versions of CockroachDB to make database-object naming hierarchies more flexible for users. In v20.2, creating cross-database references are disabled for [foreign keys](foreign-key.html), [views]({% link {{ page.version.version }}/views.md %}), and [sequence ownership]({% link {{ page.version.version }}/create-sequence.md %}). For details, see [tracking issue](https://github.com/cockroachdb/cockroach/issues/55791). - +- If your cluster contains cross-database references (e.g., a cross-database foreign key reference, or a cross-database view reference), use the relevant [`ALTER TABLE`]({% link {{ page.version.version }}/alter-table.md %}), [`ALTER SEQUENCE`]({% link {{ page.version.version }}/alter-sequence.md %}), [`ALTER TYPE`]({% link {{ page.version.version }}/alter-type.md %}), or [`ALTER VIEW `]({% link {{ page.version.version }}/alter-view.md %}) statements to move any cross-referencing objects to the same database, but different schemas. Cross-database object references were allowed in earlier versions of CockroachDB to make database-object naming hierarchies more flexible for users. In v20.2, creating cross-database references are disabled for [foreign keys](foreign-key.html), [views]({% link {{ page.version.version }}/views.md %}), and [sequence ownership]({% link {{ page.version.version }}/create-sequence.md %}). ## How name resolution works Name resolution occurs separately to **look up existing objects** and to diff --git a/src/current/v26.3/st_union.md b/src/current/v26.3/st_union.md index f2540cc9ec8..7c860cbc5cb 100644 --- a/src/current/v26.3/st_union.md +++ b/src/current/v26.3/st_union.md @@ -12,7 +12,7 @@ Given a set of shapes (e.g., from a [selection query]({% link {{ page.version.ve - [`GEOMETRY`]({% link {{ page.version.version }}/architecture/glossary.md %}#geometry) {{site.data.alerts.callout_info}} -The non-aggregate version of `ST_Union` is not yet implemented. For more information, see [cockroach#49064](https://github.com/cockroachdb/cockroach/issues/49064). +The non-aggregate version of `ST_Union` is not yet implemented. {{site.data.alerts.end}} {{site.data.alerts.callout_info}} diff --git a/src/current/v26.3/temporary-tables.md b/src/current/v26.3/temporary-tables.md index 3a92fc64c97..3d96d296a59 100644 --- a/src/current/v26.3/temporary-tables.md +++ b/src/current/v26.3/temporary-tables.md @@ -10,7 +10,7 @@ docs_area: develop To create a temp table, add `TEMP`/`TEMPORARY` to a [`CREATE TABLE`]({% link {{ page.version.version }}/create-table.md %}) or [`CREATE TABLE AS`]({% link {{ page.version.version }}/create-table-as.md %}) statement. For full syntax details, see the [`CREATE TABLE`]({% link {{ page.version.version }}/create-table.md %}#synopsis) and [`CREATE TABLE AS`]({% link {{ page.version.version }}/create-table-as.md %}#synopsis) pages. For example usage, see [Examples](#examples). {{site.data.alerts.callout_info}} -{% include feature-phases/preview.md %} For details, see the tracking issue [cockroachdb/cockroach#46260](https://github.com/cockroachdb/cockroach/issues/46260). +{% include feature-phases/preview.md %} {{site.data.alerts.end}} {{site.data.alerts.callout_info}} diff --git a/src/current/v26.3/views.md b/src/current/v26.3/views.md index d21bbf6bef1..36429ca5245 100644 --- a/src/current/v26.3/views.md +++ b/src/current/v26.3/views.md @@ -665,7 +665,7 @@ To speed up queries on materialized views, you can add an [index]({% link {{ pag CockroachDB supports session-scoped temporary views. Unlike persistent views, temporary views can only be accessed from the session in which they were created, and they are dropped at the end of the session. You can create temporary views on both persistent tables and [temporary tables]({% link {{ page.version.version }}/temporary-tables.md %}). {{site.data.alerts.callout_info}} -{% include feature-phases/preview.md %} For details, see the tracking issue [cockroachdb/cockroach#46260](https://github.com/cockroachdb/cockroach/issues/46260). +{% include feature-phases/preview.md %} {{site.data.alerts.end}} {{site.data.alerts.callout_info}}