From 8bb5d148f017fc03ceabc733de8b4f24fc51940e Mon Sep 17 00:00:00 2001 From: ebembi-crdb Date: Tue, 12 May 2026 19:07:47 +0530 Subject: [PATCH] Remove cockroach issue links from known limitations Unlink 542 known limitation files by converting issue references like [#96398](https://github.com/cockroachdb/cockroach/issues/96398) to plain #96398 text. The issue numbers are preserved for reference. Part of DOC-17056. Co-Authored-By: Claude Opus 4.6 --- .../known-limitations/copy-from-clients.md | 2 +- .../v20.2/known-limitations/copy-syntax.md | 8 +- .../known-limitations/old-multi-col-stats.md | 2 +- .../set-transaction-no-rollback.md | 2 +- .../single-col-stats-deletion.md | 2 +- .../stats-refresh-upgrade.md | 2 +- .../known-limitations/unordered-operations.md | 2 +- .../userfile-upload-non-recursive.md | 2 +- .../alter-changefeed-cdc-queries.md | 2 +- .../cdc-execution-locality.md | 2 +- .../cdc-queries-column-families.md | 2 +- .../v23.1/known-limitations/cdc-queries.md | 4 +- .../_includes/v23.1/known-limitations/cdc.md | 8 +- .../changefeed-column-family-message.md | 2 +- .../v23.1/known-limitations/copy-syntax.md | 8 +- .../drop-owned-by-role-limitations.md | 2 +- .../forecasted-stats-limitations.md | 2 +- .../restore-tables-non-multi-reg.md | 2 +- .../v23.1/known-limitations/restore-udf.md | 2 +- .../set-transaction-no-rollback.md | 2 +- ...ow-backup-locality-incremental-location.md | 2 +- .../known-limitations/show-backup-symlink.md | 2 +- .../v23.1/known-limitations/sql-cursors.md | 14 +- .../stats-refresh-upgrade.md | 2 +- .../userfile-upload-non-recursive.md | 2 +- .../alter-changefeed-cdc-queries.md | 2 +- .../cdc-execution-locality.md | 2 +- .../cdc-queries-column-families.md | 2 +- .../v23.2/known-limitations/cdc-queries.md | 4 +- .../_includes/v23.2/known-limitations/cdc.md | 8 +- .../changefeed-column-family-message.md | 2 +- .../v23.2/known-limitations/copy-syntax.md | 8 +- .../drop-owned-by-role-limitations.md | 2 +- .../forecasted-stats-limitations.md | 2 +- .../generic-query-plan-limitations.md | 4 +- .../pcr-scheduled-changefeeds.md | 2 +- .../restore-tables-non-multi-reg.md | 2 +- .../v23.2/known-limitations/restore-udf.md | 2 +- .../row-level-ttl-limitations.md | 2 +- .../set-transaction-no-rollback.md | 2 +- ...ow-backup-locality-incremental-location.md | 2 +- .../known-limitations/show-backup-symlink.md | 2 +- .../v23.2/known-limitations/sql-cursors.md | 14 +- .../stats-refresh-upgrade.md | 2 +- .../userfile-upload-non-recursive.md | 2 +- .../alter-changefeed-cdc-queries.md | 2 +- .../alter-changefeed-limitations.md | 2 +- .../alter-view-limitations.md | 2 +- .../known-limitations/aost-limitations.md | 2 +- ...-materialized-views-inside-transactions.md | 2 +- .../cdc-queries-column-families.md | 2 +- .../v24.1/known-limitations/cdc-queries.md | 4 +- .../_includes/v24.1/known-limitations/cdc.md | 8 +- .../changefeed-column-family-message.md | 2 +- .../v24.1/known-limitations/copy-syntax.md | 6 +- .../create-statistics-aost-limitation.md | 2 +- .../drop-column-partial-index.md | 2 +- .../drop-owned-by-limitations.md | 2 +- .../expression-index-limitations.md | 4 +- .../fast-cutback-latest-timestamp.md | 2 +- .../forecasted-stats-limitations.md | 2 +- .../full-text-search-unsupported.md | 2 +- .../generic-query-plan-limitations.md | 4 +- ...timized-search-virtual-computed-columns.md | 2 +- .../materialized-views-no-stats.md | 2 +- .../multiple-arbiter-indexes.md | 2 +- .../pcr-scheduled-changefeeds.md | 2 +- .../known-limitations/plpgsql-limitations.md | 46 +++--- .../read-committed-limitations.md | 8 +- .../restore-multiregion-match.md | 2 +- .../restore-tables-non-multi-reg.md | 2 +- .../v24.1/known-limitations/restore-udf.md | 2 +- .../known-limitations/routine-limitations.md | 14 +- .../row-level-ttl-limitations.md | 2 +- .../select-for-update-limitations.md | 2 +- .../set-transaction-no-rollback.md | 2 +- .../known-limitations/show-backup-symlink.md | 2 +- .../v24.1/known-limitations/sql-cursors.md | 14 +- .../srid-4326-limitations.md | 2 +- .../stats-refresh-upgrade.md | 2 +- .../stored-proc-limitations.md | 2 +- .../trigram-unsupported-syntax.md | 2 +- .../known-limitations/udf-limitations.md | 14 +- .../vectorized-engine-limitations.md | 2 +- .../alter-changefeed-cdc-queries.md | 2 +- .../alter-changefeed-limitations.md | 2 +- .../alter-view-limitations.md | 2 +- .../known-limitations/aost-limitations.md | 2 +- ...-materialized-views-inside-transactions.md | 2 +- .../cdc-queries-column-families.md | 2 +- .../v24.2/known-limitations/cdc-queries.md | 4 +- .../_includes/v24.2/known-limitations/cdc.md | 8 +- .../changefeed-column-family-message.md | 2 +- .../v24.2/known-limitations/copy-syntax.md | 6 +- .../create-statistics-aost-limitation.md | 2 +- .../drop-column-partial-index.md | 2 +- .../drop-owned-by-limitations.md | 2 +- .../expression-index-limitations.md | 4 +- .../forecasted-stats-limitations.md | 2 +- .../full-text-search-unsupported.md | 2 +- .../generic-query-plan-limitations.md | 4 +- ...timized-search-virtual-computed-columns.md | 2 +- .../materialized-views-no-stats.md | 2 +- .../multiple-arbiter-indexes.md | 2 +- .../known-limitations/plpgsql-limitations.md | 46 +++--- .../read-committed-limitations.md | 8 +- .../restore-multiregion-match.md | 2 +- .../restore-tables-non-multi-reg.md | 2 +- .../v24.2/known-limitations/restore-udf.md | 2 +- .../known-limitations/routine-limitations.md | 16 +- .../select-for-update-limitations.md | 2 +- .../set-transaction-no-rollback.md | 2 +- .../known-limitations/show-backup-symlink.md | 2 +- .../v24.2/known-limitations/sql-cursors.md | 14 +- .../srid-4326-limitations.md | 2 +- .../stats-refresh-upgrade.md | 2 +- .../stored-proc-limitations.md | 2 +- .../trigram-unsupported-syntax.md | 2 +- .../known-limitations/udf-limitations.md | 14 +- .../vectorized-engine-limitations.md | 2 +- .../alter-changefeed-cdc-queries.md | 2 +- .../alter-changefeed-limitations.md | 2 +- .../alter-view-limitations.md | 2 +- .../known-limitations/aost-limitations.md | 2 +- ...-materialized-views-inside-transactions.md | 2 +- .../cdc-queries-column-families.md | 2 +- .../v24.3/known-limitations/cdc-queries.md | 4 +- .../_includes/v24.3/known-limitations/cdc.md | 8 +- .../changefeed-column-family-message.md | 2 +- .../compression-level-kafka-config.md | 2 +- .../v24.3/known-limitations/copy-syntax.md | 6 +- .../create-statistics-aost-limitation.md | 2 +- .../drop-column-partial-index.md | 2 +- .../drop-owned-by-limitations.md | 2 +- .../drop-trigger-limitations.md | 2 +- .../expression-index-limitations.md | 4 +- .../forecasted-stats-limitations.md | 2 +- .../full-text-search-unsupported.md | 2 +- .../generic-query-plan-limitations.md | 4 +- .../known-limitations/ldr-column-families.md | 2 +- .../ldr-composite-primary.md | 2 +- .../v24.3/known-limitations/ldr-indexes.md | 2 +- .../v24.3/known-limitations/ldr-sequences.md | 2 +- .../v24.3/known-limitations/ldr-triggers.md | 2 +- .../v24.3/known-limitations/ldr-udfs.md | 2 +- ...timized-search-virtual-computed-columns.md | 2 +- .../materialized-views-no-stats.md | 2 +- .../multiple-arbiter-indexes.md | 2 +- .../known-limitations/plpgsql-limitations.md | 46 +++--- .../read-committed-limitations.md | 6 +- .../restore-multiregion-match.md | 2 +- .../restore-tables-non-multi-reg.md | 2 +- .../v24.3/known-limitations/restore-udf.md | 2 +- .../known-limitations/routine-limitations.md | 16 +- .../row-level-ttl-limitations.md | 2 +- .../select-for-update-limitations.md | 2 +- .../set-transaction-no-rollback.md | 2 +- .../known-limitations/show-backup-symlink.md | 2 +- .../v24.3/known-limitations/sql-cursors.md | 14 +- .../srid-4326-limitations.md | 2 +- .../stats-refresh-upgrade.md | 2 +- .../stored-proc-limitations.md | 2 +- .../known-limitations/trigger-limitations.md | 10 +- .../trigram-unsupported-syntax.md | 2 +- .../known-limitations/udf-limitations.md | 14 +- .../vectorized-engine-limitations.md | 2 +- .../alter-changefeed-cdc-queries.md | 2 +- .../alter-changefeed-limitations.md | 2 +- .../alter-view-limitations.md | 2 +- .../known-limitations/aost-limitations.md | 2 +- ...-materialized-views-inside-transactions.md | 2 +- .../cdc-queries-column-families.md | 2 +- .../v25.1/known-limitations/cdc-queries.md | 4 +- .../_includes/v25.1/known-limitations/cdc.md | 8 +- .../changefeed-column-family-message.md | 2 +- .../v25.1/known-limitations/copy-syntax.md | 6 +- .../create-statistics-aost-limitation.md | 2 +- .../drop-column-partial-index.md | 2 +- .../drop-owned-by-limitations.md | 2 +- .../drop-trigger-limitations.md | 2 +- .../expression-index-limitations.md | 4 +- .../forecasted-stats-limitations.md | 2 +- .../full-text-search-unsupported.md | 2 +- .../generic-query-plan-limitations.md | 4 +- .../known-limitations/ldr-column-families.md | 2 +- .../ldr-composite-primary.md | 2 +- .../v25.1/known-limitations/ldr-indexes.md | 2 +- .../v25.1/known-limitations/ldr-sequences.md | 2 +- .../v25.1/known-limitations/ldr-triggers.md | 2 +- .../v25.1/known-limitations/ldr-udfs.md | 2 +- ...timized-search-virtual-computed-columns.md | 2 +- .../materialized-views-no-stats.md | 2 +- .../multiple-arbiter-indexes.md | 2 +- .../known-limitations/plpgsql-limitations.md | 46 +++--- .../read-committed-limitations.md | 6 +- .../restore-multiregion-match.md | 2 +- .../restore-tables-non-multi-reg.md | 2 +- .../v25.1/known-limitations/restore-udf.md | 2 +- .../known-limitations/routine-limitations.md | 16 +- .../select-for-update-limitations.md | 2 +- .../set-transaction-no-rollback.md | 2 +- .../known-limitations/show-backup-symlink.md | 2 +- .../v25.1/known-limitations/sql-cursors.md | 14 +- .../srid-4326-limitations.md | 2 +- .../stats-refresh-upgrade.md | 2 +- .../stored-proc-limitations.md | 2 +- .../known-limitations/trigger-limitations.md | 10 +- .../trigram-unsupported-syntax.md | 2 +- .../known-limitations/udf-limitations.md | 12 +- .../vectorized-engine-limitations.md | 2 +- .../alter-changefeed-cdc-queries.md | 2 +- .../alter-changefeed-limitations.md | 2 +- .../alter-view-limitations.md | 2 +- .../known-limitations/aost-limitations.md | 2 +- ...-materialized-views-inside-transactions.md | 2 +- .../cdc-queries-column-families.md | 2 +- .../v25.2/known-limitations/cdc-queries.md | 4 +- .../_includes/v25.2/known-limitations/cdc.md | 8 +- .../changefeed-column-family-message.md | 2 +- .../v25.2/known-limitations/copy-syntax.md | 6 +- .../create-statistics-aost-limitation.md | 2 +- .../drop-column-partial-index.md | 2 +- .../drop-owned-by-limitations.md | 2 +- .../drop-trigger-limitations.md | 2 +- .../expression-index-limitations.md | 4 +- .../forecasted-stats-limitations.md | 2 +- .../full-text-search-unsupported.md | 2 +- .../generic-query-plan-limitations.md | 4 +- .../known-limitations/jsonpath-limitations.md | 4 +- .../known-limitations/ldr-column-families.md | 2 +- .../ldr-composite-primary.md | 2 +- .../v25.2/known-limitations/ldr-indexes.md | 2 +- .../v25.2/known-limitations/ldr-sequences.md | 2 +- .../v25.2/known-limitations/ldr-triggers.md | 2 +- .../v25.2/known-limitations/ldr-udfs.md | 2 +- ...timized-search-virtual-computed-columns.md | 2 +- .../materialized-views-no-stats.md | 2 +- .../multiple-arbiter-indexes.md | 2 +- .../known-limitations/plpgsql-limitations.md | 44 +++--- .../read-committed-limitations.md | 6 +- .../restore-multiregion-match.md | 2 +- .../restore-tables-non-multi-reg.md | 2 +- .../v25.2/known-limitations/restore-udf.md | 2 +- .../rls-values-on-conflict-do-nothing.md | 2 +- .../known-limitations/rls-visibility-issue.md | 2 +- .../known-limitations/routine-limitations.md | 16 +- .../row-level-ttl-limitations.md | 2 +- .../select-for-update-limitations.md | 2 +- .../set-transaction-no-rollback.md | 2 +- .../known-limitations/show-backup-symlink.md | 2 +- .../v25.2/known-limitations/sql-cursors.md | 12 +- .../srid-4326-limitations.md | 2 +- .../stats-refresh-upgrade.md | 2 +- .../stored-proc-limitations.md | 2 +- .../known-limitations/trigger-limitations.md | 10 +- .../trigram-unsupported-syntax.md | 2 +- .../known-limitations/udf-limitations.md | 12 +- .../known-limitations/vector-limitations.md | 12 +- .../vectorized-engine-limitations.md | 2 +- .../alter-changefeed-cdc-queries.md | 2 +- .../alter-changefeed-limitations.md | 2 +- .../alter-view-limitations.md | 2 +- .../known-limitations/aost-limitations.md | 2 +- ...-materialized-views-inside-transactions.md | 2 +- .../cdc-queries-column-families.md | 2 +- .../v25.3/known-limitations/cdc-queries.md | 4 +- .../_includes/v25.3/known-limitations/cdc.md | 8 +- .../changefeed-column-family-message.md | 2 +- .../known-limitations/citext-limitations.md | 2 +- .../v25.3/known-limitations/copy-syntax.md | 6 +- .../create-statistics-aost-limitation.md | 2 +- .../distsql-heterogeneous-endianness.md | 2 +- .../drop-column-partial-index.md | 2 +- .../drop-owned-by-limitations.md | 2 +- .../drop-trigger-limitations.md | 2 +- .../enforce-home-region-limitations.md | 2 +- .../expression-index-limitations.md | 4 +- .../forecasted-stats-limitations.md | 2 +- .../full-text-search-unsupported.md | 2 +- .../generic-query-plan-limitations.md | 4 +- .../geospatial-heterogeneous-architectures.md | 2 +- .../known-limitations/jsonpath-limitations.md | 4 +- .../known-limitations/ldr-column-families.md | 2 +- .../ldr-composite-primary.md | 2 +- .../v25.3/known-limitations/ldr-indexes.md | 2 +- .../v25.3/known-limitations/ldr-sequences.md | 2 +- .../v25.3/known-limitations/ldr-triggers.md | 2 +- .../v25.3/known-limitations/ldr-udfs.md | 2 +- ...timized-search-virtual-computed-columns.md | 2 +- .../materialized-views-no-stats.md | 2 +- .../multiple-arbiter-indexes.md | 2 +- .../known-limitations/plpgsql-limitations.md | 44 +++--- .../read-committed-limitations.md | 6 +- .../restore-multiregion-match.md | 2 +- .../restore-tables-non-multi-reg.md | 2 +- .../v25.3/known-limitations/restore-udf.md | 2 +- .../rls-update-set-where-returning.md | 2 +- .../rls-values-on-conflict-do-nothing.md | 2 +- .../known-limitations/rls-visibility-issue.md | 2 +- .../known-limitations/routine-limitations.md | 16 +- .../select-for-update-limitations.md | 2 +- .../set-transaction-no-rollback.md | 2 +- .../known-limitations/show-backup-symlink.md | 2 +- .../v25.3/known-limitations/sql-cursors.md | 12 +- .../srid-4326-limitations.md | 2 +- .../stats-refresh-upgrade.md | 2 +- .../stored-proc-limitations.md | 2 +- .../known-limitations/trigger-limitations.md | 10 +- .../trigram-unsupported-syntax.md | 2 +- .../known-limitations/udf-limitations.md | 10 +- .../known-limitations/vector-limitations.md | 8 +- .../vectorized-engine-limitations.md | 2 +- .../alter-changefeed-cdc-queries.md | 2 +- .../alter-changefeed-limitations.md | 2 +- .../alter-sequence-limitations.md | 2 +- .../alter-table-add-column-limitations.md | 2 +- .../alter-view-limitations.md | 2 +- .../known-limitations/aost-limitations.md | 2 +- ...-materialized-views-inside-transactions.md | 2 +- .../cdc-queries-column-families.md | 2 +- .../v25.4/known-limitations/cdc-queries.md | 4 +- .../_includes/v25.4/known-limitations/cdc.md | 8 +- .../changefeed-column-family-message.md | 2 +- .../known-limitations/citext-limitations.md | 2 +- .../known-limitations/collate-limitations.md | 2 +- .../comment-on-limitations.md | 2 +- .../composite-type-limitations.md | 4 +- .../v25.4/known-limitations/copy-syntax.md | 6 +- .../create-statistics-aost-limitation.md | 2 +- .../data-domiciling-limitations.md | 2 +- .../distsql-heterogeneous-endianness.md | 2 +- .../drop-column-partial-index.md | 2 +- .../drop-owned-by-limitations.md | 2 +- .../drop-trigger-limitations.md | 2 +- .../enforce-home-region-limitations.md | 2 +- .../expression-index-limitations.md | 4 +- .../forecasted-stats-limitations.md | 2 +- .../full-text-search-unsupported.md | 2 +- .../generic-query-plan-limitations.md | 4 +- .../geospatial-heterogeneous-architectures.md | 2 +- .../known-limitations/int-limitations.md | 2 +- .../inverted-index-limitations.md | 6 +- .../known-limitations/jsonpath-limitations.md | 4 +- .../known-limitations/ldr-column-families.md | 2 +- .../ldr-composite-primary.md | 2 +- .../v25.4/known-limitations/ldr-indexes.md | 2 +- .../v25.4/known-limitations/ldr-sequences.md | 2 +- .../v25.4/known-limitations/ldr-triggers.md | 2 +- .../v25.4/known-limitations/ldr-udfs.md | 2 +- .../like-escape-performance.md | 2 +- ...timized-search-virtual-computed-columns.md | 2 +- .../materialized-views-no-stats.md | 2 +- .../max-row-size-limitations.md | 2 +- .../multiple-arbiter-indexes.md | 2 +- .../node-shutdown-limitations.md | 2 +- .../known-limitations/null-limitations.md | 2 +- .../online-schema-changes-limitations.md | 4 +- .../partition-limitations.md | 2 +- .../known-limitations/plpgsql-limitations.md | 44 +++--- .../read-committed-limitations.md | 8 +- .../restore-multiregion-match.md | 2 +- .../restore-tables-non-multi-reg.md | 2 +- .../v25.4/known-limitations/restore-udf.md | 2 +- .../rls-update-set-where-returning.md | 2 +- .../rls-values-on-conflict-do-nothing.md | 2 +- .../known-limitations/routine-limitations.md | 16 +- .../row-level-ttl-limitations.md | 2 +- .../savepoint-limitations.md | 2 +- .../select-for-update-limitations.md | 4 +- .../set-transaction-no-rollback.md | 2 +- .../known-limitations/show-backup-symlink.md | 2 +- .../known-limitations/spatial-limitations.md | 16 +- .../v25.4/known-limitations/sql-cursors.md | 12 +- .../sql-guardrails-limitations.md | 4 +- .../srid-4326-limitations.md | 2 +- .../stats-refresh-upgrade.md | 2 +- .../stored-proc-limitations.md | 4 +- .../subquery-mutations-limitations.md | 2 +- .../transaction-row-count-limitations.md | 2 +- .../known-limitations/trigger-limitations.md | 18 +-- .../trigram-unsupported-syntax.md | 2 +- .../known-limitations/udf-limitations.md | 16 +- .../known-limitations/vector-limitations.md | 8 +- .../vectorized-engine-limitations.md | 2 +- .../known-limitations/view-limitations.md | 4 +- .../alter-changefeed-cdc-queries.md | 2 +- .../alter-changefeed-limitations.md | 2 +- .../alter-sequence-limitations.md | 2 +- .../alter-table-add-column-limitations.md | 2 +- .../alter-view-limitations.md | 2 +- .../known-limitations/aost-limitations.md | 2 +- ...-materialized-views-inside-transactions.md | 2 +- .../cdc-queries-column-families.md | 2 +- .../v26.1/known-limitations/cdc-queries.md | 4 +- .../_includes/v26.1/known-limitations/cdc.md | 8 +- .../changefeed-column-family-message.md | 2 +- .../known-limitations/citext-limitations.md | 2 +- .../known-limitations/collate-limitations.md | 2 +- .../comment-on-limitations.md | 2 +- .../composite-type-limitations.md | 4 +- .../v26.1/known-limitations/copy-syntax.md | 6 +- .../create-statistics-aost-limitation.md | 2 +- .../data-domiciling-limitations.md | 2 +- .../distsql-heterogeneous-endianness.md | 2 +- .../drop-column-partial-index.md | 2 +- .../drop-owned-by-limitations.md | 2 +- .../drop-trigger-limitations.md | 2 +- .../enforce-home-region-limitations.md | 2 +- .../expression-index-limitations.md | 4 +- .../forecasted-stats-limitations.md | 2 +- .../full-text-search-unsupported.md | 2 +- .../generic-query-plan-limitations.md | 4 +- .../geospatial-heterogeneous-architectures.md | 2 +- .../known-limitations/int-limitations.md | 2 +- .../inverted-index-limitations.md | 6 +- .../known-limitations/jsonpath-limitations.md | 4 +- .../known-limitations/ldr-column-families.md | 2 +- .../ldr-composite-primary.md | 2 +- .../v26.1/known-limitations/ldr-indexes.md | 2 +- .../v26.1/known-limitations/ldr-sequences.md | 2 +- .../v26.1/known-limitations/ldr-triggers.md | 2 +- .../v26.1/known-limitations/ldr-udfs.md | 2 +- .../like-escape-performance.md | 2 +- ...timized-search-virtual-computed-columns.md | 2 +- .../materialized-views-no-stats.md | 2 +- .../max-row-size-limitations.md | 2 +- .../multiple-arbiter-indexes.md | 2 +- .../node-shutdown-limitations.md | 2 +- .../known-limitations/null-limitations.md | 2 +- .../online-schema-changes-limitations.md | 4 +- .../partition-limitations.md | 2 +- .../known-limitations/plpgsql-limitations.md | 44 +++--- .../read-committed-limitations.md | 8 +- .../restore-multiregion-match.md | 2 +- .../restore-tables-non-multi-reg.md | 2 +- .../v26.1/known-limitations/restore-udf.md | 2 +- .../rls-update-set-where-returning.md | 2 +- .../rls-values-on-conflict-do-nothing.md | 2 +- .../known-limitations/routine-limitations.md | 20 +-- .../row-level-ttl-limitations.md | 2 +- .../savepoint-limitations.md | 2 +- .../select-for-update-limitations.md | 4 +- .../set-transaction-no-rollback.md | 2 +- .../known-limitations/show-backup-symlink.md | 2 +- .../known-limitations/spatial-limitations.md | 16 +- .../v26.1/known-limitations/sql-cursors.md | 12 +- .../sql-guardrails-limitations.md | 4 +- .../srid-4326-limitations.md | 2 +- .../stats-refresh-upgrade.md | 2 +- .../stored-proc-limitations.md | 4 +- .../subquery-mutations-limitations.md | 2 +- .../transaction-row-count-limitations.md | 2 +- .../known-limitations/trigger-limitations.md | 18 +-- .../trigram-unsupported-syntax.md | 2 +- .../known-limitations/udf-limitations.md | 16 +- .../known-limitations/vector-limitations.md | 8 +- .../vectorized-engine-limitations.md | 2 +- .../known-limitations/view-limitations.md | 6 +- .../active-session-history.md | 4 +- .../alter-changefeed-cdc-queries.md | 2 +- .../alter-changefeed-limitations.md | 2 +- .../alter-sequence-limitations.md | 2 +- .../alter-table-add-column-limitations.md | 2 +- .../alter-view-limitations.md | 2 +- .../known-limitations/aost-limitations.md | 2 +- ...-materialized-views-inside-transactions.md | 2 +- .../cdc-queries-column-families.md | 2 +- .../v26.2/known-limitations/cdc-queries.md | 4 +- .../_includes/v26.2/known-limitations/cdc.md | 8 +- .../changefeed-column-family-message.md | 2 +- .../known-limitations/citext-limitations.md | 2 +- .../known-limitations/collate-limitations.md | 2 +- .../comment-on-limitations.md | 2 +- .../composite-type-limitations.md | 4 +- .../v26.2/known-limitations/copy-syntax.md | 6 +- .../create-statistics-aost-limitation.md | 2 +- .../data-domiciling-limitations.md | 2 +- .../distsql-heterogeneous-endianness.md | 2 +- .../drop-column-partial-index.md | 2 +- .../drop-owned-by-limitations.md | 2 +- .../enforce-home-region-limitations.md | 2 +- .../expression-index-limitations.md | 4 +- .../forecasted-stats-limitations.md | 2 +- .../full-text-search-unsupported.md | 2 +- .../generic-query-plan-limitations.md | 4 +- .../geospatial-heterogeneous-architectures.md | 2 +- .../import-into-limitations.md | 2 +- .../known-limitations/int-limitations.md | 2 +- .../inverted-index-limitations.md | 6 +- .../known-limitations/jsonpath-limitations.md | 4 +- .../known-limitations/ldr-column-families.md | 2 +- .../ldr-composite-primary.md | 2 +- .../v26.2/known-limitations/ldr-indexes.md | 2 +- .../v26.2/known-limitations/ldr-sequences.md | 2 +- .../v26.2/known-limitations/ldr-triggers.md | 2 +- .../v26.2/known-limitations/ldr-udfs.md | 2 +- .../like-escape-performance.md | 2 +- ...timized-search-virtual-computed-columns.md | 2 +- .../materialized-views-no-stats.md | 2 +- .../max-row-size-limitations.md | 2 +- .../multiple-arbiter-indexes.md | 2 +- .../node-shutdown-limitations.md | 2 +- .../known-limitations/null-limitations.md | 2 +- .../online-schema-changes-limitations.md | 4 +- .../partition-limitations.md | 2 +- .../known-limitations/plpgsql-limitations.md | 44 +++--- .../read-committed-limitations.md | 8 +- .../restore-multiregion-match.md | 2 +- .../restore-tables-non-multi-reg.md | 2 +- .../v26.2/known-limitations/restore-udf.md | 2 +- .../v26.2/known-limitations/restore-zones.md | 2 +- .../rls-update-set-where-returning.md | 2 +- .../rls-values-on-conflict-do-nothing.md | 2 +- .../known-limitations/routine-limitations.md | 20 +-- .../row-level-ttl-limitations.md | 2 +- .../savepoint-limitations.md | 2 +- .../select-for-update-limitations.md | 4 +- .../set-transaction-no-rollback.md | 2 +- .../known-limitations/show-backup-symlink.md | 2 +- .../known-limitations/spatial-limitations.md | 16 +- .../v26.2/known-limitations/sql-cursors.md | 12 +- .../sql-guardrails-limitations.md | 4 +- .../srid-4326-limitations.md | 2 +- .../statement-hints-limitations.md | 4 +- .../stats-refresh-upgrade.md | 2 +- .../stored-proc-limitations.md | 4 +- .../subquery-mutations-limitations.md | 2 +- .../transaction-row-count-limitations.md | 2 +- .../known-limitations/trigger-limitations.md | 12 +- .../trigram-unsupported-syntax.md | 2 +- .../known-limitations/udf-limitations.md | 16 +- .../known-limitations/vector-limitations.md | 8 +- .../vectorized-engine-limitations.md | 2 +- .../known-limitations/view-limitations.md | 4 +- src/current/v23.1/known-limitations.md | 108 ++++++------- src/current/v23.2/known-limitations.md | 142 +++++++++--------- src/current/v24.1/known-limitations.md | 82 +++++----- src/current/v24.2/known-limitations.md | 68 ++++----- src/current/v24.3/known-limitations.md | 68 ++++----- src/current/v25.1/known-limitations.md | 68 ++++----- src/current/v25.2/known-limitations.md | 68 ++++----- src/current/v25.3/known-limitations.md | 68 ++++----- 542 files changed, 1463 insertions(+), 1463 deletions(-) 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..5b7ff8f5502 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 @@ -2,4 +2,4 @@ The built-in SQL shell provided with CockroachDB ([`cockroach sql`](cockroach-sq 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 +Tracking GitHub Issue \ 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..b64f3b02872 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,16 @@ 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) + Tracking GitHub Issue - `COPY ... FROM CSV` - [Tracking GitHub Issue](https://github.com/cockroachdb/cockroach/issues/51891) + Tracking GitHub Issue - `COPY ... FROM STDIN` with a delimiter other than the default tab delimiter. - [Tracking GitHub Issue](https://github.com/cockroachdb/cockroach/issues/16407) + Tracking GitHub Issue - `COPY ... FROM ... WHERE ` - [Tracking GitHub Issue](https://github.com/cockroachdb/cockroach/issues/54580) \ No newline at end of file + Tracking GitHub Issue \ 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..4047ba82ff4 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,3 @@ 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) + Tracking GitHub Issue 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..1c45a935448 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 @@ -14,4 +14,4 @@ timezone 3 ~~~ -[Tracking GitHub Issue](https://github.com/cockroachdb/cockroach/issues/69396) +Tracking GitHub Issue 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..3382eec7b9e 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,3 @@ [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) + Tracking GitHub Issue 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..4df7d83e986 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,3 @@ 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) + Tracking GitHub Issue 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..f91839359ca 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 GitHub tracking issue 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..c20fc85b310 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. Tracking GitHub Issue 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..6c02bffd16b 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. Tracking GitHub issue \ 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..45b96995cb2 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. Tracking GitHub Issue \ 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..fd6a60b41c7 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. Tracking GitHub Issue \ 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..5ca18d6696d 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). Tracking GitHub issue +- `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 diff --git a/src/current/_includes/v23.1/known-limitations/cdc.md b/src/current/_includes/v23.1/known-limitations/cdc.md index 008fdb46867..89a1aa6165f 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 %}). Tracking GitHub Issue - {% 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. Tracking GitHub Issue +- 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 +- 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 - {% 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..0c61edd8d82 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. Tracking GitHub Issue \ 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..2bff2dca9b3 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) + - Tracking GitHub Issue + - Tracking GitHub Issue + - Tracking GitHub Issue - `COPY ... FROM ... WHERE `. - - [Tracking GitHub Issue](https://github.com/cockroachdb/cockroach/issues/54580) + - Tracking GitHub Issue diff --git a/src/current/_includes/v23.1/known-limitations/drop-owned-by-role-limitations.md b/src/current/_includes/v23.1/known-limitations/drop-owned-by-role-limitations.md index cfa718d4e2d..c2cef607345 100644 --- a/src/current/_includes/v23.1/known-limitations/drop-owned-by-role-limitations.md +++ b/src/current/_includes/v23.1/known-limitations/drop-owned-by-role-limitations.md @@ -1,4 +1,4 @@ -- If the [role]({% link {{ page.version.version }}/security-reference/authorization.md %}#roles) for which you are trying to `DROP OWNED BY` was granted a [system-level privilege]({% link {{ page.version.version }}/security-reference/authorization.md %}#supported-privileges) (i.e., using the [`GRANT SYSTEM ...`]({% link {{ page.version.version }}/grant.md %}#grant-system-level-privileges-on-the-entire-cluster) statement), the error shown below will be signalled. The workaround is to use [`SHOW SYSTEM GRANTS FOR {role}`](show-system-grants.html) and then use [`REVOKE SYSTEM ...`](revoke.html#revoke-system-level-privileges-on-the-entire-cluster) for each privilege in the result. For more information about this known limitation, see [cockroachdb/cockroach#88149](https://github.com/cockroachdb/cockroach/issues/88149). +- If the [role]({% link {{ page.version.version }}/security-reference/authorization.md %}#roles) for which you are trying to `DROP OWNED BY` was granted a [system-level privilege]({% link {{ page.version.version }}/security-reference/authorization.md %}#supported-privileges) (i.e., using the [`GRANT SYSTEM ...`]({% link {{ page.version.version }}/grant.md %}#grant-system-level-privileges-on-the-entire-cluster) statement), the error shown below will be signalled. The workaround is to use [`SHOW SYSTEM GRANTS FOR {role}`](show-system-grants.html) and then use [`REVOKE SYSTEM ...`](revoke.html#revoke-system-level-privileges-on-the-entire-cluster) for each privilege in the result. For more information about this known limitation, see cockroachdb/cockroach#88149. ~~~ ERROR: cannot perform drop owned by if role has synthetic privileges; foo has entries in system.privileges diff --git a/src/current/_includes/v23.1/known-limitations/forecasted-stats-limitations.md b/src/current/_includes/v23.1/known-limitations/forecasted-stats-limitations.md index c8753124a96..b5d03e8ffc5 100644 --- a/src/current/_includes/v23.1/known-limitations/forecasted-stats-limitations.md +++ b/src/current/_includes/v23.1/known-limitations/forecasted-stats-limitations.md @@ -6,4 +6,4 @@ Although [`SHOW STATISTICS WITH FORECAST`]({% link {{ page.version.version }}/show-statistics.md %}#display-forecasted-statistics) shows the settings taking effect immediately, they do not actually take effect until new statistics are collected (as can be verified with [`EXPLAIN`]({% link {{ page.version.version }}/explain.md %})). - As a workaround, disable and enable forecasting at the [cluster]({% link {{ page.version.version }}/cost-based-optimizer.md %}#enable-and-disable-automatic-statistics-collection-for-clusters) or [table]({% link {{ page.version.version }}/cost-based-optimizer.md %}#enable-and-disable-automatic-statistics-collection-for-tables) level. This will invalidate the statistics cache and cause these settings to take effect immediately. [#123852](https://github.com/cockroachdb/cockroach/issues/123852) \ No newline at end of file + As a workaround, disable and enable forecasting at the [cluster]({% link {{ page.version.version }}/cost-based-optimizer.md %}#enable-and-disable-automatic-statistics-collection-for-clusters) or [table]({% link {{ page.version.version }}/cost-based-optimizer.md %}#enable-and-disable-automatic-statistics-collection-for-tables) level. This will invalidate the statistics cache and cause these settings to take effect immediately. #123852 \ No newline at end of file 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..89b723fdb02 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. Tracking GitHub Issue 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..ce70aea2383 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. Tracking GitHub Issue \ 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..22de1824dc1 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 @@ -14,4 +14,4 @@ timezone 3 ~~~ -[Tracking GitHub Issue](https://github.com/cockroachdb/cockroach/issues/69396) +Tracking GitHub Issue 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..db6cb6a6f9e 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. Tracking GitHub issue. \ 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..d6d2c0c96a3 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. Tracking GitHub Issue \ No newline at end of file diff --git a/src/current/_includes/v23.1/known-limitations/sql-cursors.md b/src/current/_includes/v23.1/known-limitations/sql-cursors.md index d1c42749661..802f577cfdc 100644 --- a/src/current/_includes/v23.1/known-limitations/sql-cursors.md +++ b/src/current/_includes/v23.1/known-limitations/sql-cursors.md @@ -1,9 +1,9 @@ CockroachDB implements SQL {% if page.name == "known-limitations.md" %} [cursor]({% link {{ page.version.version }}/cursors.md %}) {% else %} cursor {% endif %} support with the following limitations: -- `DECLARE` only supports forward cursors. Reverse cursors created with `DECLARE SCROLL` are not supported. [cockroachdb/cockroach#77102](https://github.com/cockroachdb/cockroach/issues/77102) -- `FETCH` supports forward, relative, and absolute variants, but only for forward cursors. [cockroachdb/cockroach#77102](https://github.com/cockroachdb/cockroach/issues/77102) -- `BINARY CURSOR`, which returns data in the Postgres binary format, is not supported. [cockroachdb/cockroach#77099](https://github.com/cockroachdb/cockroach/issues/77099) -- `WITH HOLD`, which allows keeping a cursor open for longer than a transaction by writing its results into a buffer, is accepted as valid syntax within a single transaction but is not supported. It acts as a no-op and does not actually perform the function of `WITH HOLD`, which is to make the cursor live outside its parent transaction. Instead, if you are using `WITH HOLD`, you will be forced to close that cursor within the transaction it was created in. [cockroachdb/cockroach#77101](https://github.com/cockroachdb/cockroach/issues/77101) +- `DECLARE` only supports forward cursors. Reverse cursors created with `DECLARE SCROLL` are not supported. cockroachdb/cockroach#77102 +- `FETCH` supports forward, relative, and absolute variants, but only for forward cursors. cockroachdb/cockroach#77102 +- `BINARY CURSOR`, which returns data in the Postgres binary format, is not supported. cockroachdb/cockroach#77099 +- `WITH HOLD`, which allows keeping a cursor open for longer than a transaction by writing its results into a buffer, is accepted as valid syntax within a single transaction but is not supported. It acts as a no-op and does not actually perform the function of `WITH HOLD`, which is to make the cursor live outside its parent transaction. Instead, if you are using `WITH HOLD`, you will be forced to close that cursor within the transaction it was created in. cockroachdb/cockroach#77101 - This syntax is accepted (but does not have any effect): {% include_cached copy-clipboard.html %} ~~~ sql @@ -19,6 +19,6 @@ CockroachDB implements SQL {% if page.name == "known-limitations.md" %} [cursor] DECLARE test_cur CURSOR WITH HOLD FOR SELECT * FROM foo ORDER BY bar; COMMIT; -- This will fail with an error because CLOSE test_cur was not called inside the transaction. ~~~ -- Scrollable cursor (also known as reverse `FETCH`) is not supported. [cockroachdb/cockroach#77102](https://github.com/cockroachdb/cockroach/issues/77102) -- [`SELECT ... FOR UPDATE`]({% link {{ page.version.version }}/select-for-update.md %}) with a cursor is not supported. [cockroachdb/cockroach#77103](https://github.com/cockroachdb/cockroach/issues/77103) -- Respect for [`SAVEPOINT`s]({% link {{ page.version.version }}/savepoint.md %}) is not supported. Cursor definitions do not disappear properly if rolled back to a `SAVEPOINT` from before they were created. [cockroachdb/cockroach#77104](https://github.com/cockroachdb/cockroach/issues/77104) +- Scrollable cursor (also known as reverse `FETCH`) is not supported. cockroachdb/cockroach#77102 +- [`SELECT ... FOR UPDATE`]({% link {{ page.version.version }}/select-for-update.md %}) with a cursor is not supported. cockroachdb/cockroach#77103 +- Respect for [`SAVEPOINT`s]({% link {{ page.version.version }}/savepoint.md %}) is not supported. Cursor definitions do not disappear properly if rolled back to a `SAVEPOINT` from before they were created. cockroachdb/cockroach#77104 diff --git a/src/current/_includes/v23.1/known-limitations/stats-refresh-upgrade.md b/src/current/_includes/v23.1/known-limitations/stats-refresh-upgrade.md index 3d5a8d26325..3325dfaa53b 100644 --- a/src/current/_includes/v23.1/known-limitations/stats-refresh-upgrade.md +++ b/src/current/_includes/v23.1/known-limitations/stats-refresh-upgrade.md @@ -1 +1 @@ -- The [automatic statistics refresher]({% link {{ page.version.version }}/cost-based-optimizer.md %}#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]({% link {{ page.version.version }}/upgrade-cockroach-version.md %}). This could cause a problem, for example, if the upgrade moves from a version without [histograms]({% link {{ page.version.version }}/cost-based-optimizer.md %}#control-histogram-collection) to a version with histograms. To refresh statistics manually, use [`CREATE STATISTICS`](create-statistics.html). [#54816](https://github.com/cockroachdb/cockroach/issues/54816) +- The [automatic statistics refresher]({% link {{ page.version.version }}/cost-based-optimizer.md %}#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]({% link {{ page.version.version }}/upgrade-cockroach-version.md %}). This could cause a problem, for example, if the upgrade moves from a version without [histograms]({% link {{ page.version.version }}/cost-based-optimizer.md %}#control-histogram-collection) to a version with histograms. To refresh statistics manually, use [`CREATE STATISTICS`](create-statistics.html). #54816 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..c20fc85b310 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. Tracking GitHub Issue 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..6c02bffd16b 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. Tracking GitHub issue \ 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..082889b672a 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 in v23.2.1 and later. Tracking GitHub Issue \ 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..fd6a60b41c7 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. Tracking GitHub Issue \ 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..5ca18d6696d 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). Tracking GitHub issue +- `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 diff --git a/src/current/_includes/v23.2/known-limitations/cdc.md b/src/current/_includes/v23.2/known-limitations/cdc.md index 008fdb46867..89a1aa6165f 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 %}). Tracking GitHub Issue - {% 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. Tracking GitHub Issue +- 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 +- 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 - {% 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..0c61edd8d82 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. Tracking GitHub Issue \ 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..2bff2dca9b3 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) + - Tracking GitHub Issue + - Tracking GitHub Issue + - Tracking GitHub Issue - `COPY ... FROM ... WHERE `. - - [Tracking GitHub Issue](https://github.com/cockroachdb/cockroach/issues/54580) + - Tracking GitHub Issue diff --git a/src/current/_includes/v23.2/known-limitations/drop-owned-by-role-limitations.md b/src/current/_includes/v23.2/known-limitations/drop-owned-by-role-limitations.md index cfa718d4e2d..c2cef607345 100644 --- a/src/current/_includes/v23.2/known-limitations/drop-owned-by-role-limitations.md +++ b/src/current/_includes/v23.2/known-limitations/drop-owned-by-role-limitations.md @@ -1,4 +1,4 @@ -- If the [role]({% link {{ page.version.version }}/security-reference/authorization.md %}#roles) for which you are trying to `DROP OWNED BY` was granted a [system-level privilege]({% link {{ page.version.version }}/security-reference/authorization.md %}#supported-privileges) (i.e., using the [`GRANT SYSTEM ...`]({% link {{ page.version.version }}/grant.md %}#grant-system-level-privileges-on-the-entire-cluster) statement), the error shown below will be signalled. The workaround is to use [`SHOW SYSTEM GRANTS FOR {role}`](show-system-grants.html) and then use [`REVOKE SYSTEM ...`](revoke.html#revoke-system-level-privileges-on-the-entire-cluster) for each privilege in the result. For more information about this known limitation, see [cockroachdb/cockroach#88149](https://github.com/cockroachdb/cockroach/issues/88149). +- If the [role]({% link {{ page.version.version }}/security-reference/authorization.md %}#roles) for which you are trying to `DROP OWNED BY` was granted a [system-level privilege]({% link {{ page.version.version }}/security-reference/authorization.md %}#supported-privileges) (i.e., using the [`GRANT SYSTEM ...`]({% link {{ page.version.version }}/grant.md %}#grant-system-level-privileges-on-the-entire-cluster) statement), the error shown below will be signalled. The workaround is to use [`SHOW SYSTEM GRANTS FOR {role}`](show-system-grants.html) and then use [`REVOKE SYSTEM ...`](revoke.html#revoke-system-level-privileges-on-the-entire-cluster) for each privilege in the result. For more information about this known limitation, see cockroachdb/cockroach#88149. ~~~ ERROR: cannot perform drop owned by if role has synthetic privileges; foo has entries in system.privileges diff --git a/src/current/_includes/v23.2/known-limitations/forecasted-stats-limitations.md b/src/current/_includes/v23.2/known-limitations/forecasted-stats-limitations.md index c8753124a96..b5d03e8ffc5 100644 --- a/src/current/_includes/v23.2/known-limitations/forecasted-stats-limitations.md +++ b/src/current/_includes/v23.2/known-limitations/forecasted-stats-limitations.md @@ -6,4 +6,4 @@ Although [`SHOW STATISTICS WITH FORECAST`]({% link {{ page.version.version }}/show-statistics.md %}#display-forecasted-statistics) shows the settings taking effect immediately, they do not actually take effect until new statistics are collected (as can be verified with [`EXPLAIN`]({% link {{ page.version.version }}/explain.md %})). - As a workaround, disable and enable forecasting at the [cluster]({% link {{ page.version.version }}/cost-based-optimizer.md %}#enable-and-disable-automatic-statistics-collection-for-clusters) or [table]({% link {{ page.version.version }}/cost-based-optimizer.md %}#enable-and-disable-automatic-statistics-collection-for-tables) level. This will invalidate the statistics cache and cause these settings to take effect immediately. [#123852](https://github.com/cockroachdb/cockroach/issues/123852) \ No newline at end of file + As a workaround, disable and enable forecasting at the [cluster]({% link {{ page.version.version }}/cost-based-optimizer.md %}#enable-and-disable-automatic-statistics-collection-for-clusters) or [table]({% link {{ page.version.version }}/cost-based-optimizer.md %}#enable-and-disable-automatic-statistics-collection-for-tables) level. This will invalidate the statistics cache and cause these settings to take effect immediately. #123852 \ No newline at end of file diff --git a/src/current/_includes/v23.2/known-limitations/generic-query-plan-limitations.md b/src/current/_includes/v23.2/known-limitations/generic-query-plan-limitations.md index e28e66d5f32..03d72195334 100644 --- a/src/current/_includes/v23.2/known-limitations/generic-query-plan-limitations.md +++ b/src/current/_includes/v23.2/known-limitations/generic-query-plan-limitations.md @@ -1,2 +1,2 @@ -- Because [generic query plans]({% link {{ page.version.version }}/cost-based-optimizer.md %}#query-plan-cache) use lookup joins instead of the scans and revscans used by custom query plans, generic query plans do not perform as well as custom query plans in some cases. [#128916](https://github.com/cockroachdb/cockroach/issues/128916) -- [Generic query plans]({% link {{ page.version.version }}/cost-based-optimizer.md %}#query-plan-type) are not included in the [plan cache]({% link {{ page.version.version }}/cost-based-optimizer.md %}#query-plan-cache). This means a generic query plan built and optimized for a prepared statement in one session cannot be used by another session. To reuse generic query plans for maximum performance, a prepared statement should be executed multiple times instead of prepared and executed once. [#128911](https://github.com/cockroachdb/cockroach/issues/128911) \ No newline at end of file +- Because [generic query plans]({% link {{ page.version.version }}/cost-based-optimizer.md %}#query-plan-cache) use lookup joins instead of the scans and revscans used by custom query plans, generic query plans do not perform as well as custom query plans in some cases. #128916 +- [Generic query plans]({% link {{ page.version.version }}/cost-based-optimizer.md %}#query-plan-type) are not included in the [plan cache]({% link {{ page.version.version }}/cost-based-optimizer.md %}#query-plan-cache). This means a generic query plan built and optimized for a prepared statement in one session cannot be used by another session. To reuse generic query plans for maximum performance, a prepared statement should be executed multiple times instead of prepared and executed once. #128911 \ No newline at end of file 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..fccca74f637 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. Tracking GitHub issue \ 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..89b723fdb02 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. Tracking GitHub Issue 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..ce70aea2383 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. Tracking GitHub Issue \ No newline at end of file diff --git a/src/current/_includes/v23.2/known-limitations/row-level-ttl-limitations.md b/src/current/_includes/v23.2/known-limitations/row-level-ttl-limitations.md index ea61345f901..2ad04456283 100644 --- a/src/current/_includes/v23.2/known-limitations/row-level-ttl-limitations.md +++ b/src/current/_includes/v23.2/known-limitations/row-level-ttl-limitations.md @@ -1,5 +1,5 @@ - Any queries you run against tables with Row-Level TTL enabled do not filter out expired rows from the result set (this includes [`UPDATE`s]({% link {{ page.version.version }}/update.md %}) and [`DELETE`s]({% link {{ page.version.version }}/delete.md %})). This feature may be added in a future release. For now, follow the instructions in [Filter out expired rows from a selection query]({% link {{ page.version.version }}/row-level-ttl.md %}#filter-out-expired-rows-from-a-selection-query). -- Tables with Row-Level TTL can be referenced by [foreign keys]({% link {{page.version.version}}/foreign-key.md %}). TTL deletes are issued as regular [`DELETE`]({% link {{ page.version.version }}/delete.md %}) statements, so inbound foreign keys apply. If an inbound foreign key uses `ON DELETE RESTRICT` and referencing rows exist, the TTL job fails with a foreign key violation. [#101372](https://github.com/cockroachdb/cockroach/issues/101372) +- Tables with Row-Level TTL can be referenced by [foreign keys]({% link {{page.version.version}}/foreign-key.md %}). TTL deletes are issued as regular [`DELETE`]({% link {{ page.version.version }}/delete.md %}) statements, so inbound foreign keys apply. If an inbound foreign key uses `ON DELETE RESTRICT` and referencing rows exist, the TTL job fails with a foreign key violation. #101372 - Enabling Row-Level TTL on a table with multiple [secondary indexes]({% link {{ page.version.version }}/indexes.md %}) can have negative performance impacts on a cluster, including increased [latency]({% link {{ page.version.version }}/common-issues-to-monitor.md %}#service-latency) and [contention]({% link {{ page.version.version }}/performance-best-practices-overview.md %}#transaction-contention). This is particularly true for large tables with terabytes of data and billions of rows that are split up into multiple ranges across separate nodes. - Increased latency may occur because secondary indexes aren't necessarily stored on the same underlying [ranges]({% link {{ page.version.version }}/architecture/overview.md %}#architecture-range) as a table's [primary indexes]({% link {{ page.version.version }}/indexes.md %}). Further, the secondary indexes' ranges may have [leaseholders]({% link {{ page.version.version }}/architecture/overview.md %}#architecture-leaseholder) located on different nodes than the primary index. - Increased contention may occur because [intents]({% link {{ page.version.version }}/architecture/transaction-layer.md %}#write-intents) must be written as part of performing the deletions. 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..22de1824dc1 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 @@ -14,4 +14,4 @@ timezone 3 ~~~ -[Tracking GitHub Issue](https://github.com/cockroachdb/cockroach/issues/69396) +Tracking GitHub Issue 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..db6cb6a6f9e 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. Tracking GitHub issue. \ 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..d6d2c0c96a3 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. Tracking GitHub Issue \ No newline at end of file diff --git a/src/current/_includes/v23.2/known-limitations/sql-cursors.md b/src/current/_includes/v23.2/known-limitations/sql-cursors.md index d1c42749661..802f577cfdc 100644 --- a/src/current/_includes/v23.2/known-limitations/sql-cursors.md +++ b/src/current/_includes/v23.2/known-limitations/sql-cursors.md @@ -1,9 +1,9 @@ CockroachDB implements SQL {% if page.name == "known-limitations.md" %} [cursor]({% link {{ page.version.version }}/cursors.md %}) {% else %} cursor {% endif %} support with the following limitations: -- `DECLARE` only supports forward cursors. Reverse cursors created with `DECLARE SCROLL` are not supported. [cockroachdb/cockroach#77102](https://github.com/cockroachdb/cockroach/issues/77102) -- `FETCH` supports forward, relative, and absolute variants, but only for forward cursors. [cockroachdb/cockroach#77102](https://github.com/cockroachdb/cockroach/issues/77102) -- `BINARY CURSOR`, which returns data in the Postgres binary format, is not supported. [cockroachdb/cockroach#77099](https://github.com/cockroachdb/cockroach/issues/77099) -- `WITH HOLD`, which allows keeping a cursor open for longer than a transaction by writing its results into a buffer, is accepted as valid syntax within a single transaction but is not supported. It acts as a no-op and does not actually perform the function of `WITH HOLD`, which is to make the cursor live outside its parent transaction. Instead, if you are using `WITH HOLD`, you will be forced to close that cursor within the transaction it was created in. [cockroachdb/cockroach#77101](https://github.com/cockroachdb/cockroach/issues/77101) +- `DECLARE` only supports forward cursors. Reverse cursors created with `DECLARE SCROLL` are not supported. cockroachdb/cockroach#77102 +- `FETCH` supports forward, relative, and absolute variants, but only for forward cursors. cockroachdb/cockroach#77102 +- `BINARY CURSOR`, which returns data in the Postgres binary format, is not supported. cockroachdb/cockroach#77099 +- `WITH HOLD`, which allows keeping a cursor open for longer than a transaction by writing its results into a buffer, is accepted as valid syntax within a single transaction but is not supported. It acts as a no-op and does not actually perform the function of `WITH HOLD`, which is to make the cursor live outside its parent transaction. Instead, if you are using `WITH HOLD`, you will be forced to close that cursor within the transaction it was created in. cockroachdb/cockroach#77101 - This syntax is accepted (but does not have any effect): {% include_cached copy-clipboard.html %} ~~~ sql @@ -19,6 +19,6 @@ CockroachDB implements SQL {% if page.name == "known-limitations.md" %} [cursor] DECLARE test_cur CURSOR WITH HOLD FOR SELECT * FROM foo ORDER BY bar; COMMIT; -- This will fail with an error because CLOSE test_cur was not called inside the transaction. ~~~ -- Scrollable cursor (also known as reverse `FETCH`) is not supported. [cockroachdb/cockroach#77102](https://github.com/cockroachdb/cockroach/issues/77102) -- [`SELECT ... FOR UPDATE`]({% link {{ page.version.version }}/select-for-update.md %}) with a cursor is not supported. [cockroachdb/cockroach#77103](https://github.com/cockroachdb/cockroach/issues/77103) -- Respect for [`SAVEPOINT`s]({% link {{ page.version.version }}/savepoint.md %}) is not supported. Cursor definitions do not disappear properly if rolled back to a `SAVEPOINT` from before they were created. [cockroachdb/cockroach#77104](https://github.com/cockroachdb/cockroach/issues/77104) +- Scrollable cursor (also known as reverse `FETCH`) is not supported. cockroachdb/cockroach#77102 +- [`SELECT ... FOR UPDATE`]({% link {{ page.version.version }}/select-for-update.md %}) with a cursor is not supported. cockroachdb/cockroach#77103 +- Respect for [`SAVEPOINT`s]({% link {{ page.version.version }}/savepoint.md %}) is not supported. Cursor definitions do not disappear properly if rolled back to a `SAVEPOINT` from before they were created. cockroachdb/cockroach#77104 diff --git a/src/current/_includes/v23.2/known-limitations/stats-refresh-upgrade.md b/src/current/_includes/v23.2/known-limitations/stats-refresh-upgrade.md index 3d5a8d26325..3325dfaa53b 100644 --- a/src/current/_includes/v23.2/known-limitations/stats-refresh-upgrade.md +++ b/src/current/_includes/v23.2/known-limitations/stats-refresh-upgrade.md @@ -1 +1 @@ -- The [automatic statistics refresher]({% link {{ page.version.version }}/cost-based-optimizer.md %}#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]({% link {{ page.version.version }}/upgrade-cockroach-version.md %}). This could cause a problem, for example, if the upgrade moves from a version without [histograms]({% link {{ page.version.version }}/cost-based-optimizer.md %}#control-histogram-collection) to a version with histograms. To refresh statistics manually, use [`CREATE STATISTICS`](create-statistics.html). [#54816](https://github.com/cockroachdb/cockroach/issues/54816) +- The [automatic statistics refresher]({% link {{ page.version.version }}/cost-based-optimizer.md %}#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]({% link {{ page.version.version }}/upgrade-cockroach-version.md %}). This could cause a problem, for example, if the upgrade moves from a version without [histograms]({% link {{ page.version.version }}/cost-based-optimizer.md %}#control-histogram-collection) to a version with histograms. To refresh statistics manually, use [`CREATE STATISTICS`](create-statistics.html). #54816 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..c20fc85b310 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. Tracking GitHub Issue diff --git a/src/current/_includes/v24.1/known-limitations/alter-changefeed-cdc-queries.md b/src/current/_includes/v24.1/known-limitations/alter-changefeed-cdc-queries.md index 56dd7eeaacd..4134b3c9f86 100644 --- a/src/current/_includes/v24.1/known-limitations/alter-changefeed-cdc-queries.md +++ b/src/current/_includes/v24.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. [#83033](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. #83033 \ No newline at end of file diff --git a/src/current/_includes/v24.1/known-limitations/alter-changefeed-limitations.md b/src/current/_includes/v24.1/known-limitations/alter-changefeed-limitations.md index a183f2964f4..cb75ad71c55 100644 --- a/src/current/_includes/v24.1/known-limitations/alter-changefeed-limitations.md +++ b/src/current/_includes/v24.1/known-limitations/alter-changefeed-limitations.md @@ -1,4 +1,4 @@ -- It is necessary to [`PAUSE`]({% link {{ page.version.version }}/pause-job.md %}) the changefeed before performing any [`ALTER CHANGEFEED`]({% link {{ page.version.version }}/alter-changefeed.md %}) statement. [#77171](https://github.com/cockroachdb/cockroach/issues/77171) +- It is necessary to [`PAUSE`]({% link {{ page.version.version }}/pause-job.md %}) the changefeed before performing any [`ALTER CHANGEFEED`]({% link {{ page.version.version }}/alter-changefeed.md %}) statement. #77171 - 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: ~~~ sql diff --git a/src/current/_includes/v24.1/known-limitations/alter-view-limitations.md b/src/current/_includes/v24.1/known-limitations/alter-view-limitations.md index 642bed6ce08..e44921629ff 100644 --- a/src/current/_includes/v24.1/known-limitations/alter-view-limitations.md +++ b/src/current/_includes/v24.1/known-limitations/alter-view-limitations.md @@ -1,4 +1,4 @@ `ALTER VIEW` 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. [#10083](https://github.com/cockroachdb/cockroach/issues/10083) \ No newline at end of file +- Renaming a view that other views depend on. This feature may be added in the future. #10083 \ No newline at end of file diff --git a/src/current/_includes/v24.1/known-limitations/aost-limitations.md b/src/current/_includes/v24.1/known-limitations/aost-limitations.md index 811c884d08d..c42e62800d3 100644 --- a/src/current/_includes/v24.1/known-limitations/aost-limitations.md +++ b/src/current/_includes/v24.1/known-limitations/aost-limitations.md @@ -1 +1 @@ -CockroachDB does not support placeholders in {% if page.name == "as-of-system-time.md" %}`AS OF SYSTEM TIME`{% else %}[`AS OF SYSTEM TIME`]({% link {{ page.version.version }}/as-of-system-time.md %}){% endif %}. The time value must be a constant value embedded in the SQL string. [#30955](https://github.com/cockroachdb/cockroach/issues/30955) \ No newline at end of file +CockroachDB does not support placeholders in {% if page.name == "as-of-system-time.md" %}`AS OF SYSTEM TIME`{% else %}[`AS OF SYSTEM TIME`]({% link {{ page.version.version }}/as-of-system-time.md %}){% endif %}. The time value must be a constant value embedded in the SQL string. #30955 \ No newline at end of file diff --git a/src/current/_includes/v24.1/known-limitations/cannot-refresh-materialized-views-inside-transactions.md b/src/current/_includes/v24.1/known-limitations/cannot-refresh-materialized-views-inside-transactions.md index b0aaf728177..2f6fe466a95 100644 --- a/src/current/_includes/v24.1/known-limitations/cannot-refresh-materialized-views-inside-transactions.md +++ b/src/current/_includes/v24.1/known-limitations/cannot-refresh-materialized-views-inside-transactions.md @@ -24,4 +24,4 @@ SQLSTATE: 25000 ~~~ - [#66008](https://github.com/cockroachdb/cockroach/issues/66008) + #66008 diff --git a/src/current/_includes/v24.1/known-limitations/cdc-queries-column-families.md b/src/current/_includes/v24.1/known-limitations/cdc-queries-column-families.md index 505a8c9700e..52bdabec236 100644 --- a/src/current/_includes/v24.1/known-limitations/cdc-queries-column-families.md +++ b/src/current/_includes/v24.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. [#127761](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. #127761 \ No newline at end of file diff --git a/src/current/_includes/v24.1/known-limitations/cdc-queries.md b/src/current/_includes/v24.1/known-limitations/cdc-queries.md index 2839eba5eda..552900531b0 100644 --- a/src/current/_includes/v24.1/known-limitations/cdc-queries.md +++ b/src/current/_includes/v24.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). [#98237](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. [#83835](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). #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. #83835 diff --git a/src/current/_includes/v24.1/known-limitations/cdc.md b/src/current/_includes/v24.1/known-limitations/cdc.md index a473e94367c..0a3914da8bd 100644 --- a/src/current/_includes/v24.1/known-limitations/cdc.md +++ b/src/current/_includes/v24.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 %}). [#73435](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 %}). #73435 - {% 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 %}#insecure-tls-skip-verify) parameter when testing to disable certificate verification; however, this still requires HTTPS and certificates. [#73431](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. [#73432](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) 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. [#79452](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 %}#insecure-tls-skip-verify) parameter when testing to disable certificate verification; however, this still requires HTTPS and certificates. #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. #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) 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. #79452 - {% 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/v24.1/known-limitations/changefeed-column-family-message.md b/src/current/_includes/v24.1/known-limitations/changefeed-column-family-message.md index 41744b9b4b4..e77b6cc51e0 100644 --- a/src/current/_includes/v24.1/known-limitations/changefeed-column-family-message.md +++ b/src/current/_includes/v24.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. [#127736](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. #127736 \ No newline at end of file diff --git a/src/current/_includes/v24.1/known-limitations/copy-syntax.md b/src/current/_includes/v24.1/known-limitations/copy-syntax.md index e64a075dcac..bd2e56e1c25 100644 --- a/src/current/_includes/v24.1/known-limitations/copy-syntax.md +++ b/src/current/_includes/v24.1/known-limitations/copy-syntax.md @@ -1,5 +1,5 @@ CockroachDB does not yet support the following `COPY` syntax: - - `COPY ... WITH FREEZE`. [#85573](https://github.com/cockroachdb/cockroach/issues/85573) - - `COPY ... WITH QUOTE`. [#85574](https://github.com/cockroachdb/cockroach/issues/85574) - - `COPY ... FROM ... WHERE `. [#54580](https://github.com/cockroachdb/cockroach/issues/54580) + - `COPY ... WITH FREEZE`. #85573 + - `COPY ... WITH QUOTE`. #85574 + - `COPY ... FROM ... WHERE `. #54580 diff --git a/src/current/_includes/v24.1/known-limitations/create-statistics-aost-limitation.md b/src/current/_includes/v24.1/known-limitations/create-statistics-aost-limitation.md index 09f86f51c48..d318ce338be 100644 --- a/src/current/_includes/v24.1/known-limitations/create-statistics-aost-limitation.md +++ b/src/current/_includes/v24.1/known-limitations/create-statistics-aost-limitation.md @@ -1 +1 @@ -The `ANALYZE` alias {% if page.name != "create-statistics.md" %}of [`CREATE STATISTICS`]({% link {{ page.version.version }}/create-statistics.md %}){% endif %} does not support specifying an {% if page.name == "as-of-system-time.md" %}`AS OF SYSTEM TIME`{% else %}[`AS OF SYSTEM TIME`]({% link {{ page.version.version }}/as-of-system-time.md %}){% endif %} timestamp. `ANALYZE` statements use `AS OF SYSTEM TIME '-0.001ms'` automatically. For more control over the statistics interval, use the `CREATE STATISTICS` syntax instead. [#96430](https://github.com/cockroachdb/cockroach/issues/96430) \ No newline at end of file +The `ANALYZE` alias {% if page.name != "create-statistics.md" %}of [`CREATE STATISTICS`]({% link {{ page.version.version }}/create-statistics.md %}){% endif %} does not support specifying an {% if page.name == "as-of-system-time.md" %}`AS OF SYSTEM TIME`{% else %}[`AS OF SYSTEM TIME`]({% link {{ page.version.version }}/as-of-system-time.md %}){% endif %} timestamp. `ANALYZE` statements use `AS OF SYSTEM TIME '-0.001ms'` automatically. For more control over the statistics interval, use the `CREATE STATISTICS` syntax instead. #96430 \ No newline at end of file diff --git a/src/current/_includes/v24.1/known-limitations/drop-column-partial-index.md b/src/current/_includes/v24.1/known-limitations/drop-column-partial-index.md index 9fd1811cc43..fd28f0a96a2 100644 --- a/src/current/_includes/v24.1/known-limitations/drop-column-partial-index.md +++ b/src/current/_includes/v24.1/known-limitations/drop-column-partial-index.md @@ -1 +1 @@ -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 %}). [#97813](https://github.com/cockroachdb/cockroach/issues/97813). \ No newline at end of file +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 %}). #97813. \ No newline at end of file diff --git a/src/current/_includes/v24.1/known-limitations/drop-owned-by-limitations.md b/src/current/_includes/v24.1/known-limitations/drop-owned-by-limitations.md index 95685f6adf1..af99d4b7cfe 100644 --- a/src/current/_includes/v24.1/known-limitations/drop-owned-by-limitations.md +++ b/src/current/_includes/v24.1/known-limitations/drop-owned-by-limitations.md @@ -10,4 +10,4 @@ The phrase "synthetic privileges" in the error message refers to [system-level privileges]({% link {{ page.version.version }}/security-reference/authorization.md %}#supported-privileges). - The workaround is to use [`SHOW SYSTEM GRANTS FOR {role}`](show-system-grants.html) and then use [`REVOKE SYSTEM ...`](revoke.html#revoke-system-level-privileges-on-the-entire-cluster) for each privilege in the result. [#88149](https://github.com/cockroachdb/cockroach/issues/88149) \ No newline at end of file + The workaround is to use [`SHOW SYSTEM GRANTS FOR {role}`](show-system-grants.html) and then use [`REVOKE SYSTEM ...`](revoke.html#revoke-system-level-privileges-on-the-entire-cluster) for each privilege in the result. #88149 \ No newline at end of file diff --git a/src/current/_includes/v24.1/known-limitations/expression-index-limitations.md b/src/current/_includes/v24.1/known-limitations/expression-index-limitations.md index c0e94185948..9487028791c 100644 --- a/src/current/_includes/v24.1/known-limitations/expression-index-limitations.md +++ b/src/current/_includes/v24.1/known-limitations/expression-index-limitations.md @@ -1,6 +1,6 @@ - The expression cannot reference columns outside the index's table. - Functional expression output must be determined by the input arguments. For example, you can't use the [volatile function]({% link {{ page.version.version }}/functions-and-operators.md %}#function-volatility) `now()` to create an index because its output depends on more than just the function arguments. -- 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 %}). [#67900](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 %}). #67900 - CockroachDB does not support expressions as `ON CONFLICT` targets. This means that unique {% if page.name == "expression-indexes.md" %} expression indexes {% else %} [expression indexes]({% link {{ page.version.version }}/expression-indexes.md %}) {% endif %} cannot be selected as arbiters for [`INSERT .. ON CONFLICT`]({% link {{ page.version.version }}/insert.md %}#on-conflict-clause) statements. For example: {% include_cached copy-clipboard.html %} @@ -40,4 +40,4 @@ HINT: try \h INSERT ~~~ - [#67893](https://github.com/cockroachdb/cockroach/issues/67893) + #67893 diff --git a/src/current/_includes/v24.1/known-limitations/fast-cutback-latest-timestamp.md b/src/current/_includes/v24.1/known-limitations/fast-cutback-latest-timestamp.md index 1a5b3b91a2c..58c95b83bb5 100644 --- a/src/current/_includes/v24.1/known-limitations/fast-cutback-latest-timestamp.md +++ b/src/current/_includes/v24.1/known-limitations/fast-cutback-latest-timestamp.md @@ -1 +1 @@ -{% include {{ page.version.version }}/physical-replication/fast-cutback-latest-timestamp.md %} [#117984](https://github.com/cockroachdb/cockroach/issues/117984) \ No newline at end of file +{% include {{ page.version.version }}/physical-replication/fast-cutback-latest-timestamp.md %} #117984 \ No newline at end of file diff --git a/src/current/_includes/v24.1/known-limitations/forecasted-stats-limitations.md b/src/current/_includes/v24.1/known-limitations/forecasted-stats-limitations.md index c8753124a96..b5d03e8ffc5 100644 --- a/src/current/_includes/v24.1/known-limitations/forecasted-stats-limitations.md +++ b/src/current/_includes/v24.1/known-limitations/forecasted-stats-limitations.md @@ -6,4 +6,4 @@ Although [`SHOW STATISTICS WITH FORECAST`]({% link {{ page.version.version }}/show-statistics.md %}#display-forecasted-statistics) shows the settings taking effect immediately, they do not actually take effect until new statistics are collected (as can be verified with [`EXPLAIN`]({% link {{ page.version.version }}/explain.md %})). - As a workaround, disable and enable forecasting at the [cluster]({% link {{ page.version.version }}/cost-based-optimizer.md %}#enable-and-disable-automatic-statistics-collection-for-clusters) or [table]({% link {{ page.version.version }}/cost-based-optimizer.md %}#enable-and-disable-automatic-statistics-collection-for-tables) level. This will invalidate the statistics cache and cause these settings to take effect immediately. [#123852](https://github.com/cockroachdb/cockroach/issues/123852) \ No newline at end of file + As a workaround, disable and enable forecasting at the [cluster]({% link {{ page.version.version }}/cost-based-optimizer.md %}#enable-and-disable-automatic-statistics-collection-for-clusters) or [table]({% link {{ page.version.version }}/cost-based-optimizer.md %}#enable-and-disable-automatic-statistics-collection-for-tables) level. This will invalidate the statistics cache and cause these settings to take effect immediately. #123852 \ No newline at end of file diff --git a/src/current/_includes/v24.1/known-limitations/full-text-search-unsupported.md b/src/current/_includes/v24.1/known-limitations/full-text-search-unsupported.md index 7b5a83f2cae..2be666994f1 100644 --- a/src/current/_includes/v24.1/known-limitations/full-text-search-unsupported.md +++ b/src/current/_includes/v24.1/known-limitations/full-text-search-unsupported.md @@ -11,4 +11,4 @@ - `!! tsquery` comparisons. - `tsquery @> tsquery` and `tsquery <@ tsquery` comparisons. -[#41288](https://github.com/cockroachdb/cockroach/issues/41288) \ No newline at end of file +#41288 \ No newline at end of file diff --git a/src/current/_includes/v24.1/known-limitations/generic-query-plan-limitations.md b/src/current/_includes/v24.1/known-limitations/generic-query-plan-limitations.md index e28e66d5f32..03d72195334 100644 --- a/src/current/_includes/v24.1/known-limitations/generic-query-plan-limitations.md +++ b/src/current/_includes/v24.1/known-limitations/generic-query-plan-limitations.md @@ -1,2 +1,2 @@ -- Because [generic query plans]({% link {{ page.version.version }}/cost-based-optimizer.md %}#query-plan-cache) use lookup joins instead of the scans and revscans used by custom query plans, generic query plans do not perform as well as custom query plans in some cases. [#128916](https://github.com/cockroachdb/cockroach/issues/128916) -- [Generic query plans]({% link {{ page.version.version }}/cost-based-optimizer.md %}#query-plan-type) are not included in the [plan cache]({% link {{ page.version.version }}/cost-based-optimizer.md %}#query-plan-cache). This means a generic query plan built and optimized for a prepared statement in one session cannot be used by another session. To reuse generic query plans for maximum performance, a prepared statement should be executed multiple times instead of prepared and executed once. [#128911](https://github.com/cockroachdb/cockroach/issues/128911) \ No newline at end of file +- Because [generic query plans]({% link {{ page.version.version }}/cost-based-optimizer.md %}#query-plan-cache) use lookup joins instead of the scans and revscans used by custom query plans, generic query plans do not perform as well as custom query plans in some cases. #128916 +- [Generic query plans]({% link {{ page.version.version }}/cost-based-optimizer.md %}#query-plan-type) are not included in the [plan cache]({% link {{ page.version.version }}/cost-based-optimizer.md %}#query-plan-cache). This means a generic query plan built and optimized for a prepared statement in one session cannot be used by another session. To reuse generic query plans for maximum performance, a prepared statement should be executed multiple times instead of prepared and executed once. #128911 \ No newline at end of file diff --git a/src/current/_includes/v24.1/known-limitations/locality-optimized-search-virtual-computed-columns.md b/src/current/_includes/v24.1/known-limitations/locality-optimized-search-virtual-computed-columns.md index d6acf418aa8..39b3f2cb00e 100644 --- a/src/current/_includes/v24.1/known-limitations/locality-optimized-search-virtual-computed-columns.md +++ b/src/current/_includes/v24.1/known-limitations/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). [#68129](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). #68129 diff --git a/src/current/_includes/v24.1/known-limitations/materialized-views-no-stats.md b/src/current/_includes/v24.1/known-limitations/materialized-views-no-stats.md index 02f2bd787c4..2bfe00d5307 100644 --- a/src/current/_includes/v24.1/known-limitations/materialized-views-no-stats.md +++ b/src/current/_includes/v24.1/known-limitations/materialized-views-no-stats.md @@ -1 +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. [#78181](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. #78181. diff --git a/src/current/_includes/v24.1/known-limitations/multiple-arbiter-indexes.md b/src/current/_includes/v24.1/known-limitations/multiple-arbiter-indexes.md index c9861623314..28b41eca491 100644 --- a/src/current/_includes/v24.1/known-limitations/multiple-arbiter-indexes.md +++ b/src/current/_includes/v24.1/known-limitations/multiple-arbiter-indexes.md @@ -1 +1 @@ -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. [#53170](https://github.com/cockroachdb/cockroach/issues/53170) \ No newline at end of file +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. #53170 \ No newline at end of file diff --git a/src/current/_includes/v24.1/known-limitations/pcr-scheduled-changefeeds.md b/src/current/_includes/v24.1/known-limitations/pcr-scheduled-changefeeds.md index 3d6b8aa8628..ac29e55a442 100644 --- a/src/current/_includes/v24.1/known-limitations/pcr-scheduled-changefeeds.md +++ b/src/current/_includes/v24.1/known-limitations/pcr-scheduled-changefeeds.md @@ -1 +1 @@ -After the [failover process]({% link {{ page.version.version }}/failover-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. [#123776](https://github.com/cockroachdb/cockroach/issues/123776) \ No newline at end of file +After the [failover process]({% link {{ page.version.version }}/failover-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. #123776 \ No newline at end of file diff --git a/src/current/_includes/v24.1/known-limitations/plpgsql-limitations.md b/src/current/_includes/v24.1/known-limitations/plpgsql-limitations.md index ddd8ab55026..f9b261e8821 100644 --- a/src/current/_includes/v24.1/known-limitations/plpgsql-limitations.md +++ b/src/current/_includes/v24.1/known-limitations/plpgsql-limitations.md @@ -1,26 +1,26 @@ {% if page.name != "known-limitations.md" # New limitations in v24.1 %} -- It is not possible to use a variable as a target more than once in the same `INTO` clause. For example, `SELECT 1, 2 INTO x, x;`. [#121605](https://github.com/cockroachdb/cockroach/issues/121605) -- PLpgSQL variable declarations cannot inherit the type of a table row or column using `%TYPE` or `%ROWTYPE` syntax. [#114676](https://github.com/cockroachdb/cockroach/issues/114676) +- It is not possible to use a variable as a target more than once in the same `INTO` clause. For example, `SELECT 1, 2 INTO x, x;`. #121605 +- PLpgSQL variable declarations cannot inherit the type of a table row or column using `%TYPE` or `%ROWTYPE` syntax. #114676 {% endif %} -- PL/pgSQL arguments cannot be referenced with ordinals (e.g., `$1`, `$2`). [#114701](https://github.com/cockroachdb/cockroach/issues/114701) +- PL/pgSQL arguments cannot be referenced with ordinals (e.g., `$1`, `$2`). #114701 - The following statements are not supported: - - `FOR` loops, including `FOR` cursor loops, `FOR` query loops, and `FOREACH` loops. [#105246](https://github.com/cockroachdb/cockroach/issues/105246) - - `RETURN NEXT` and `RETURN QUERY`. [#117744](https://github.com/cockroachdb/cockroach/issues/117744) - - `PERFORM`, `EXECUTE`, `GET DIAGNOSTICS`, and `CASE`. [#117744](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 %}). [#111446](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`). [#106237](https://github.com/cockroachdb/cockroach/issues/106237) -- `RAISE` statements message the client directly, and do not produce log output. [#117750](https://github.com/cockroachdb/cockroach/issues/117750) -- `ASSERT` debugging checks are not supported. [#117744](https://github.com/cockroachdb/cockroach/issues/117744) -- `RECORD` parameters and variables are not supported in [user-defined functions]({% link {{ page.version.version }}/user-defined-functions.md %}). [#105713](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. [#117508](https://github.com/cockroachdb/cockroach/issues/117508) -- Syntax for accessing members of composite types without parentheses is not supported. [#114687](https://github.com/cockroachdb/cockroach/issues/114687) -- `NOT NULL` variable declarations are not supported. [#105243](https://github.com/cockroachdb/cockroach/issues/105243) -- Cursors opened in PL/pgSQL execute their queries on opening, affecting performance and resource usage. [#111479](https://github.com/cockroachdb/cockroach/issues/111479) -- Cursors in PL/pgSQL cannot be declared with arguments. [#117746](https://github.com/cockroachdb/cockroach/issues/117746) -- `OPEN FOR EXECUTE` is not supported for opening cursors. [#117744](https://github.com/cockroachdb/cockroach/issues/117744) -- The `print_strict_params` option is not supported in PL/pgSQL. [#123671](https://github.com/cockroachdb/cockroach/issues/123671) -- The `FOUND` local variable, which checks whether a statement affected any rows, is not supported in PL/pgSQL. [#122306](https://github.com/cockroachdb/cockroach/issues/122306) -- By default, when a PL/pgSQL variable conflicts with a column name, CockroachDB resolves the ambiguity by treating it as a column reference rather than a variable reference. This behavior differs from PostgreSQL, where an ambiguous column error is reported, and it is possible to change the `plpgsql.variable_conflict` setting in order to prefer either columns or variables. [#115680](https://github.com/cockroachdb/cockroach/issues/115680) -- It is not possible to define a `RECORD`-returning PL/pgSQL function that returns different-typed expressions from different `RETURN` statements. CockroachDB requires a consistent return type for `RECORD`-returning functions. [#115384](https://github.com/cockroachdb/cockroach/issues/115384) -- Variables cannot be declared with an associated collation using the `COLLATE` keyword. [#105245](https://github.com/cockroachdb/cockroach/issues/105245) -- Variables cannot be accessed using the `label.var_name` pattern. [#122322](https://github.com/cockroachdb/cockroach/issues/122322) \ No newline at end of file + - `FOR` loops, including `FOR` cursor loops, `FOR` query loops, and `FOREACH` loops. #105246 + - `RETURN NEXT` and `RETURN QUERY`. #117744 + - `PERFORM`, `EXECUTE`, `GET DIAGNOSTICS`, and `CASE`. #117744 +- PL/pgSQL exception blocks cannot catch [transaction retry errors]({% link {{ page.version.version }}/transaction-retry-error-reference.md %}). #111446 +- `RAISE` statements cannot be annotated with names of schema objects related to the error (i.e., using `COLUMN`, `CONSTRAINT`, `DATATYPE`, `TABLE`, or `SCHEMA`). #106237 +- `RAISE` statements message the client directly, and do not produce log output. #117750 +- `ASSERT` debugging checks are not supported. #117744 +- `RECORD` parameters and variables are not supported in [user-defined functions]({% link {{ page.version.version }}/user-defined-functions.md %}). #105713 +- Variable shadowing (e.g., declaring a variable with the same name in an inner block) is not supported in PL/pgSQL. #117508 +- Syntax for accessing members of composite types without parentheses is not supported. #114687 +- `NOT NULL` variable declarations are not supported. #105243 +- Cursors opened in PL/pgSQL execute their queries on opening, affecting performance and resource usage. #111479 +- Cursors in PL/pgSQL cannot be declared with arguments. #117746 +- `OPEN FOR EXECUTE` is not supported for opening cursors. #117744 +- The `print_strict_params` option is not supported in PL/pgSQL. #123671 +- The `FOUND` local variable, which checks whether a statement affected any rows, is not supported in PL/pgSQL. #122306 +- By default, when a PL/pgSQL variable conflicts with a column name, CockroachDB resolves the ambiguity by treating it as a column reference rather than a variable reference. This behavior differs from PostgreSQL, where an ambiguous column error is reported, and it is possible to change the `plpgsql.variable_conflict` setting in order to prefer either columns or variables. #115680 +- It is not possible to define a `RECORD`-returning PL/pgSQL function that returns different-typed expressions from different `RETURN` statements. CockroachDB requires a consistent return type for `RECORD`-returning functions. #115384 +- Variables cannot be declared with an associated collation using the `COLLATE` keyword. #105245 +- Variables cannot be accessed using the `label.var_name` pattern. #122322 \ No newline at end of file diff --git a/src/current/_includes/v24.1/known-limitations/read-committed-limitations.md b/src/current/_includes/v24.1/known-limitations/read-committed-limitations.md index c322ec2585c..3dab1ab375e 100644 --- a/src/current/_includes/v24.1/known-limitations/read-committed-limitations.md +++ b/src/current/_includes/v24.1/known-limitations/read-committed-limitations.md @@ -1,7 +1,7 @@ -- 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`. [#114778](https://github.com/cockroachdb/cockroach/issues/114778) -- `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. [#110873](https://github.com/cockroachdb/cockroach/issues/110873) -- Multi-column-family checks during updates are not supported under `READ COMMITTED` isolation. [#112488](https://github.com/cockroachdb/cockroach/issues/112488) +- 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`. #114778 +- `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. #110873 +- Multi-column-family checks during updates are not supported under `READ COMMITTED` isolation. #112488 - Because locks acquired by [foreign key]({% link {{ page.version.version }}/foreign-key.md %}) checks, [`SELECT FOR UPDATE`]({% link {{ page.version.version }}/select-for-update.md %}), and [`SELECT FOR SHARE`]({% link {{ page.version.version }}/select-for-update.md %}) are fully replicated under `READ COMMITTED` isolation, some queries experience a delay for Raft replication. - [Foreign key]({% link {{ page.version.version }}/foreign-key.md %}) checks are not performed in parallel under `READ COMMITTED` isolation. - [`SELECT FOR UPDATE` and `SELECT FOR SHARE`]({% link {{ page.version.version }}/select-for-update.md %}) statements are less optimized under `READ COMMITTED` isolation than under `SERIALIZABLE` isolation. Under `READ COMMITTED` isolation, `SELECT FOR UPDATE` and `SELECT FOR SHARE` usually perform an extra lookup join for every locked table when compared to the same queries under `SERIALIZABLE`. In addition, some optimization steps (such as de-correlation of correlated [subqueries]({% link {{ page.version.version }}/subqueries.md %})) are not currently performed on these queries. -- Regardless of isolation level, [`SELECT FOR UPDATE` and `SELECT FOR SHARE`]({% link {{ page.version.version }}/select-for-update.md %}) statements in CockroachDB do not prevent insertion of new rows matching the search condition (i.e., [phantom reads]({% link {{ page.version.version }}/read-committed.md %}#non-repeatable-reads-and-phantom-reads)). This matches PostgreSQL behavior at all isolation levels. [#120673](https://github.com/cockroachdb/cockroach/issues/120673) \ No newline at end of file +- Regardless of isolation level, [`SELECT FOR UPDATE` and `SELECT FOR SHARE`]({% link {{ page.version.version }}/select-for-update.md %}) statements in CockroachDB do not prevent insertion of new rows matching the search condition (i.e., [phantom reads]({% link {{ page.version.version }}/read-committed.md %}#non-repeatable-reads-and-phantom-reads)). This matches PostgreSQL behavior at all isolation levels. #120673 \ No newline at end of file diff --git a/src/current/_includes/v24.1/known-limitations/restore-multiregion-match.md b/src/current/_includes/v24.1/known-limitations/restore-multiregion-match.md index ab2f1029ecd..634d695246e 100644 --- a/src/current/_includes/v24.1/known-limitations/restore-multiregion-match.md +++ b/src/current/_includes/v24.1/known-limitations/restore-multiregion-match.md @@ -47,4 +47,4 @@ ALTER DATABASE destination_database SET PRIMARY REGION "us-east1"; ~~~ - [#71071](https://github.com/cockroachdb/cockroach/issues/71071) \ No newline at end of file + #71071 \ No newline at end of file diff --git a/src/current/_includes/v24.1/known-limitations/restore-tables-non-multi-reg.md b/src/current/_includes/v24.1/known-limitations/restore-tables-non-multi-reg.md index 5390f2d09ee..e05bc340141 100644 --- a/src/current/_includes/v24.1/known-limitations/restore-tables-non-multi-reg.md +++ b/src/current/_includes/v24.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. [#71502](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. #71502 diff --git a/src/current/_includes/v24.1/known-limitations/restore-udf.md b/src/current/_includes/v24.1/known-limitations/restore-udf.md index a4a4bc080fe..e4180219a25 100644 --- a/src/current/_includes/v24.1/known-limitations/restore-udf.md +++ b/src/current/_includes/v24.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. [#118195](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. #118195 \ No newline at end of file diff --git a/src/current/_includes/v24.1/known-limitations/routine-limitations.md b/src/current/_includes/v24.1/known-limitations/routine-limitations.md index 701ea79c75b..d8499797073 100644 --- a/src/current/_includes/v24.1/known-limitations/routine-limitations.md +++ b/src/current/_includes/v24.1/known-limitations/routine-limitations.md @@ -1,9 +1,9 @@ {% if page.name != "known-limitations.md" # New limitations in v24.1 %} -- Routines cannot be invoked with named arguments, e.g., `SELECT foo(a => 1, b => 2);` or `SELECT foo(b := 1, a := 2);`. [#122264](https://github.com/cockroachdb/cockroach/issues/122264) -- Routines cannot be created if they reference temporary tables. [#121375](https://github.com/cockroachdb/cockroach/issues/121375) -- Routines cannot be created with unnamed `INOUT` parameters. For example, `CREATE PROCEDURE p(INOUT INT) AS $$ BEGIN NULL; END; $$ LANGUAGE PLpgSQL;`. [#121251](https://github.com/cockroachdb/cockroach/issues/121251) -- Routines cannot be created if they return fewer columns than declared. For example, `CREATE FUNCTION f(OUT sum INT, INOUT a INT, INOUT b INT) LANGUAGE SQL AS $$ SELECT (a + b, b); $$;`. [#121247](https://github.com/cockroachdb/cockroach/issues/121247) +- Routines cannot be invoked with named arguments, e.g., `SELECT foo(a => 1, b => 2);` or `SELECT foo(b := 1, a := 2);`. #122264 +- Routines cannot be created if they reference temporary tables. #121375 +- Routines cannot be created with unnamed `INOUT` parameters. For example, `CREATE PROCEDURE p(INOUT INT) AS $$ BEGIN NULL; END; $$ LANGUAGE PLpgSQL;`. #121251 +- Routines cannot be created if they return fewer columns than declared. For example, `CREATE FUNCTION f(OUT sum INT, INOUT a INT, INOUT b INT) LANGUAGE SQL AS $$ SELECT (a + b, b); $$;`. #121247 {% endif %} -- Routines cannot be created with an `OUT` parameter of type `RECORD`. [#123448](https://github.com/cockroachdb/cockroach/issues/123448) -- DDL statements (e.g., `CREATE TABLE`, `CREATE INDEX`) are not allowed within UDFs or stored procedures. [#110080](https://github.com/cockroachdb/cockroach/issues/110080) -- Polymorphic types cannot be cast to other types (e.g., `TEXT`) within routine parameters. [#123536](https://github.com/cockroachdb/cockroach/issues/123536) \ No newline at end of file +- Routines cannot be created with an `OUT` parameter of type `RECORD`. #123448 +- DDL statements (e.g., `CREATE TABLE`, `CREATE INDEX`) are not allowed within UDFs or stored procedures. #110080 +- Polymorphic types cannot be cast to other types (e.g., `TEXT`) within routine parameters. #123536 \ No newline at end of file diff --git a/src/current/_includes/v24.1/known-limitations/row-level-ttl-limitations.md b/src/current/_includes/v24.1/known-limitations/row-level-ttl-limitations.md index c386ba576d7..4460901566d 100644 --- a/src/current/_includes/v24.1/known-limitations/row-level-ttl-limitations.md +++ b/src/current/_includes/v24.1/known-limitations/row-level-ttl-limitations.md @@ -1,5 +1,5 @@ - Any queries you run against tables with Row-Level TTL enabled (or against tables that have [foreign keys]({% link {{page.version.version}}/foreign-key.md %}) that reference TTL-enabled tables) do not filter out expired rows from the result set (this includes [`UPDATE`s]({% link {{ page.version.version }}/update.md %}) and [`DELETE`s]({% link {{ page.version.version }}/delete.md %})). This feature may be added in a future release. For now, follow the instructions in [Filter out expired rows from a selection query]({% link {{ page.version.version }}/row-level-ttl.md %}#filter-out-expired-rows-from-a-selection-query). -- Tables with Row-Level TTL can be referenced by [foreign keys]({% link {{page.version.version}}/foreign-key.md %}). TTL deletes are issued as regular [`DELETE`]({% link {{ page.version.version }}/delete.md %}) statements, so inbound foreign keys apply. If an inbound foreign key uses `ON DELETE RESTRICT` and referencing rows exist, the TTL job fails with a foreign key violation. [#101372](https://github.com/cockroachdb/cockroach/issues/101372) +- Tables with Row-Level TTL can be referenced by [foreign keys]({% link {{page.version.version}}/foreign-key.md %}). TTL deletes are issued as regular [`DELETE`]({% link {{ page.version.version }}/delete.md %}) statements, so inbound foreign keys apply. If an inbound foreign key uses `ON DELETE RESTRICT` and referencing rows exist, the TTL job fails with a foreign key violation. #101372 - Enabling Row-Level TTL on a table with multiple [secondary indexes]({% link {{ page.version.version }}/indexes.md %}) can have negative performance impacts on a cluster, including increased [latency]({% link {{ page.version.version }}/common-issues-to-monitor.md %}#service-latency) and [contention]({% link {{ page.version.version }}/performance-best-practices-overview.md %}#transaction-contention). This is particularly true for large tables with terabytes of data and billions of rows that are split up into multiple ranges across separate nodes. - Increased latency may occur because secondary indexes aren't necessarily stored on the same underlying [ranges]({% link {{ page.version.version }}/architecture/overview.md %}#architecture-range) as a table's [primary indexes]({% link {{ page.version.version }}/indexes.md %}). Further, the secondary indexes' ranges may have [leaseholders]({% link {{ page.version.version }}/architecture/overview.md %}#architecture-leaseholder) located on different nodes than the primary index. - Increased contention may occur because [intents]({% link {{ page.version.version }}/architecture/transaction-layer.md %}#write-intents) must be written as part of performing the deletions. diff --git a/src/current/_includes/v24.1/known-limitations/select-for-update-limitations.md b/src/current/_includes/v24.1/known-limitations/select-for-update-limitations.md index 73aaf9fdeb6..210099bacd7 100644 --- a/src/current/_includes/v24.1/known-limitations/select-for-update-limitations.md +++ b/src/current/_includes/v24.1/known-limitations/select-for-update-limitations.md @@ -1,4 +1,4 @@ -- `SKIP LOCKED` cannot be used for tables with multiple [column families]({% link {{ page.version.version }}/column-families.md %}). [#160961](https://github.com/cockroachdb/cockroach/issues/160961) +- `SKIP LOCKED` cannot be used for tables with multiple [column families]({% link {{ page.version.version }}/column-families.md %}). #160961 - By default under `SERIALIZABLE` isolation, locks acquired using `SELECT ... FOR UPDATE` and `SELECT ... FOR SHARE` are implemented as fast, in-memory [unreplicated locks](architecture/transaction-layer.html#unreplicated-locks). If a [lease transfer]({% link {{ page.version.version }}/architecture/replication-layer.md %}#epoch-based-leases-table-data) or [range split/merge]({% link {{ page.version.version }}/architecture/distribution-layer.md %}#range-merges) occurs on a range held by an unreplicated lock, the lock is dropped. The following behaviors can occur: - 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`]({% link {{ page.version.version }}/transaction-retry-error-reference.md %}) and the [`restart transaction` error message]({% link {{ page.version.version }}/common-errors.md %}#restart-transaction). diff --git a/src/current/_includes/v24.1/known-limitations/set-transaction-no-rollback.md b/src/current/_includes/v24.1/known-limitations/set-transaction-no-rollback.md index 414cbac6282..5f0145c05c4 100644 --- a/src/current/_includes/v24.1/known-limitations/set-transaction-no-rollback.md +++ b/src/current/_includes/v24.1/known-limitations/set-transaction-no-rollback.md @@ -14,4 +14,4 @@ timezone 3 ~~~ -[#69396](https://github.com/cockroachdb/cockroach/issues/69396) +#69396 diff --git a/src/current/_includes/v24.1/known-limitations/show-backup-symlink.md b/src/current/_includes/v24.1/known-limitations/show-backup-symlink.md index 38ba86fb28f..1c7a5612242 100644 --- a/src/current/_includes/v24.1/known-limitations/show-backup-symlink.md +++ b/src/current/_includes/v24.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. [#70260](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. #70260 \ No newline at end of file diff --git a/src/current/_includes/v24.1/known-limitations/sql-cursors.md b/src/current/_includes/v24.1/known-limitations/sql-cursors.md index 4c047aa9603..93bbca937b1 100644 --- a/src/current/_includes/v24.1/known-limitations/sql-cursors.md +++ b/src/current/_includes/v24.1/known-limitations/sql-cursors.md @@ -1,9 +1,9 @@ CockroachDB implements SQL {% if page.name == "known-limitations.md" %} [cursor]({% link {{ page.version.version }}/cursors.md %}) {% else %} cursor {% endif %} support with the following limitations: -- `DECLARE` only supports forward cursors. Reverse cursors created with `DECLARE SCROLL` are not supported. [#77102](https://github.com/cockroachdb/cockroach/issues/77102) -- `FETCH` supports forward, relative, and absolute variants, but only for forward cursors. [#77102](https://github.com/cockroachdb/cockroach/issues/77102) -- `BINARY CURSOR`, which returns data in the Postgres binary format, is not supported. [#77099](https://github.com/cockroachdb/cockroach/issues/77099) -- `WITH HOLD`, which allows keeping a cursor open for longer than a transaction by writing its results into a buffer, is accepted as valid syntax within a single transaction but is not supported. It acts as a no-op and does not actually perform the function of `WITH HOLD`, which is to make the cursor live outside its parent transaction. Instead, if you are using `WITH HOLD`, you will be forced to close that cursor within the transaction it was created in. [#77101](https://github.com/cockroachdb/cockroach/issues/77101) +- `DECLARE` only supports forward cursors. Reverse cursors created with `DECLARE SCROLL` are not supported. #77102 +- `FETCH` supports forward, relative, and absolute variants, but only for forward cursors. #77102 +- `BINARY CURSOR`, which returns data in the Postgres binary format, is not supported. #77099 +- `WITH HOLD`, which allows keeping a cursor open for longer than a transaction by writing its results into a buffer, is accepted as valid syntax within a single transaction but is not supported. It acts as a no-op and does not actually perform the function of `WITH HOLD`, which is to make the cursor live outside its parent transaction. Instead, if you are using `WITH HOLD`, you will be forced to close that cursor within the transaction it was created in. #77101 - This syntax is accepted (but does not have any effect): {% include_cached copy-clipboard.html %} ~~~ sql @@ -19,6 +19,6 @@ CockroachDB implements SQL {% if page.name == "known-limitations.md" %} [cursor] DECLARE test_cur CURSOR WITH HOLD FOR SELECT * FROM foo ORDER BY bar; COMMIT; -- This will fail with an error because CLOSE test_cur was not called inside the transaction. ~~~ -- Scrollable cursor (also known as reverse `FETCH`) is not supported. [#77102](https://github.com/cockroachdb/cockroach/issues/77102) -- [`SELECT ... FOR UPDATE`]({% link {{ page.version.version }}/select-for-update.md %}) with a cursor is not supported. [#77103](https://github.com/cockroachdb/cockroach/issues/77103) -- Respect for [`SAVEPOINT`s]({% link {{ page.version.version }}/savepoint.md %}) is not supported. Cursor definitions do not disappear properly if rolled back to a `SAVEPOINT` from before they were created. [#77104](https://github.com/cockroachdb/cockroach/issues/77104) +- Scrollable cursor (also known as reverse `FETCH`) is not supported. #77102 +- [`SELECT ... FOR UPDATE`]({% link {{ page.version.version }}/select-for-update.md %}) with a cursor is not supported. #77103 +- Respect for [`SAVEPOINT`s]({% link {{ page.version.version }}/savepoint.md %}) is not supported. Cursor definitions do not disappear properly if rolled back to a `SAVEPOINT` from before they were created. #77104 diff --git a/src/current/_includes/v24.1/known-limitations/srid-4326-limitations.md b/src/current/_includes/v24.1/known-limitations/srid-4326-limitations.md index b556a9fbecd..294a1a53bd4 100644 --- a/src/current/_includes/v24.1/known-limitations/srid-4326-limitations.md +++ b/src/current/_includes/v24.1/known-limitations/srid-4326-limitations.md @@ -1 +1 @@ -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. [#55903](https://github.com/cockroachdb/cockroach/issues/55903) \ No newline at end of file +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. #55903 \ No newline at end of file diff --git a/src/current/_includes/v24.1/known-limitations/stats-refresh-upgrade.md b/src/current/_includes/v24.1/known-limitations/stats-refresh-upgrade.md index 3d5a8d26325..3325dfaa53b 100644 --- a/src/current/_includes/v24.1/known-limitations/stats-refresh-upgrade.md +++ b/src/current/_includes/v24.1/known-limitations/stats-refresh-upgrade.md @@ -1 +1 @@ -- The [automatic statistics refresher]({% link {{ page.version.version }}/cost-based-optimizer.md %}#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]({% link {{ page.version.version }}/upgrade-cockroach-version.md %}). This could cause a problem, for example, if the upgrade moves from a version without [histograms]({% link {{ page.version.version }}/cost-based-optimizer.md %}#control-histogram-collection) to a version with histograms. To refresh statistics manually, use [`CREATE STATISTICS`](create-statistics.html). [#54816](https://github.com/cockroachdb/cockroach/issues/54816) +- The [automatic statistics refresher]({% link {{ page.version.version }}/cost-based-optimizer.md %}#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]({% link {{ page.version.version }}/upgrade-cockroach-version.md %}). This could cause a problem, for example, if the upgrade moves from a version without [histograms]({% link {{ page.version.version }}/cost-based-optimizer.md %}#control-histogram-collection) to a version with histograms. To refresh statistics manually, use [`CREATE STATISTICS`](create-statistics.html). #54816 diff --git a/src/current/_includes/v24.1/known-limitations/stored-proc-limitations.md b/src/current/_includes/v24.1/known-limitations/stored-proc-limitations.md index 70d8cd71791..b544c23c0e6 100644 --- a/src/current/_includes/v24.1/known-limitations/stored-proc-limitations.md +++ b/src/current/_includes/v24.1/known-limitations/stored-proc-limitations.md @@ -1,3 +1,3 @@ {% if page.name != "known-limitations.md" # New limitations in v24.1 %} {% endif %} -- `COMMIT` and `ROLLBACK` statements are not supported within nested procedures. [#122266](https://github.com/cockroachdb/cockroach/issues/122266) \ No newline at end of file +- `COMMIT` and `ROLLBACK` statements are not supported within nested procedures. #122266 \ No newline at end of file diff --git a/src/current/_includes/v24.1/known-limitations/trigram-unsupported-syntax.md b/src/current/_includes/v24.1/known-limitations/trigram-unsupported-syntax.md index 494730c7ae8..a981c4915b0 100644 --- a/src/current/_includes/v24.1/known-limitations/trigram-unsupported-syntax.md +++ b/src/current/_includes/v24.1/known-limitations/trigram-unsupported-syntax.md @@ -6,4 +6,4 @@ - Acceleration on [regex string matching]({% link {{ page.version.version }}/scalar-expressions.md %}#string-matching-using-posix-regular-expressions). - `%` comparisons, `show_trgm`, and trigram index creation on [collated strings]({% link {{ page.version.version }}/collate.md %}). -[#41285](https://github.com/cockroachdb/cockroach/issues/41285) \ No newline at end of file +#41285 \ No newline at end of file diff --git a/src/current/_includes/v24.1/known-limitations/udf-limitations.md b/src/current/_includes/v24.1/known-limitations/udf-limitations.md index 7555fde890a..a8f3af6c323 100644 --- a/src/current/_includes/v24.1/known-limitations/udf-limitations.md +++ b/src/current/_includes/v24.1/known-limitations/udf-limitations.md @@ -1,10 +1,10 @@ {% if page.name != "known-limitations.md" # New limitations in v24.1 %} -- A `RECORD`-returning UDF cannot be created without a `RETURN` statement in the root block, which would restrict the wildcard type to a concrete one. [#122945](https://github.com/cockroachdb/cockroach/issues/122945) +- A `RECORD`-returning UDF cannot be created without a `RETURN` statement in the root block, which would restrict the wildcard type to a concrete one. #122945 {% endif %} - User-defined functions are not currently supported in: - - Expressions (column, index, constraint) in tables. [#87699](https://github.com/cockroachdb/cockroach/issues/87699) - - Views. [#87699](https://github.com/cockroachdb/cockroach/issues/87699) -- User-defined functions cannot call themselves recursively. [#93049](https://github.com/cockroachdb/cockroach/issues/93049) -- [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. [#92961](https://github.com/cockroachdb/cockroach/issues/92961) -- The `setval` function cannot be resolved when used inside UDF bodies. [#110860](https://github.com/cockroachdb/cockroach/issues/110860) -- Casting subqueries to [user-defined types]({% link {{ page.version.version }}/create-type.md %}) in UDFs is not supported. [#108184](https://github.com/cockroachdb/cockroach/issues/108184) \ No newline at end of file + - Expressions (column, index, constraint) in tables. #87699 + - Views. #87699 +- User-defined functions cannot call themselves recursively. #93049 +- [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. #92961 +- The `setval` function cannot be resolved when used inside UDF bodies. #110860 +- Casting subqueries to [user-defined types]({% link {{ page.version.version }}/create-type.md %}) in UDFs is not supported. #108184 \ No newline at end of file diff --git a/src/current/_includes/v24.1/known-limitations/vectorized-engine-limitations.md b/src/current/_includes/v24.1/known-limitations/vectorized-engine-limitations.md index daea59ebf88..da227ad4825 100644 --- a/src/current/_includes/v24.1/known-limitations/vectorized-engine-limitations.md +++ b/src/current/_includes/v24.1/known-limitations/vectorized-engine-limitations.md @@ -1,2 +1,2 @@ -- The vectorized engine does not support queries containing a join filtered with an [`ON` expression]({% link {{ page.version.version }}/joins.md %}#supported-join-conditions). [#38018](https://github.com/cockroachdb/cockroach/issues/38018) +- The vectorized engine does not support queries containing a join filtered with an [`ON` expression]({% link {{ page.version.version }}/joins.md %}#supported-join-conditions). #38018 - 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/_includes/v24.2/known-limitations/alter-changefeed-cdc-queries.md b/src/current/_includes/v24.2/known-limitations/alter-changefeed-cdc-queries.md index 56dd7eeaacd..4134b3c9f86 100644 --- a/src/current/_includes/v24.2/known-limitations/alter-changefeed-cdc-queries.md +++ b/src/current/_includes/v24.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. [#83033](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. #83033 \ No newline at end of file diff --git a/src/current/_includes/v24.2/known-limitations/alter-changefeed-limitations.md b/src/current/_includes/v24.2/known-limitations/alter-changefeed-limitations.md index a183f2964f4..cb75ad71c55 100644 --- a/src/current/_includes/v24.2/known-limitations/alter-changefeed-limitations.md +++ b/src/current/_includes/v24.2/known-limitations/alter-changefeed-limitations.md @@ -1,4 +1,4 @@ -- It is necessary to [`PAUSE`]({% link {{ page.version.version }}/pause-job.md %}) the changefeed before performing any [`ALTER CHANGEFEED`]({% link {{ page.version.version }}/alter-changefeed.md %}) statement. [#77171](https://github.com/cockroachdb/cockroach/issues/77171) +- It is necessary to [`PAUSE`]({% link {{ page.version.version }}/pause-job.md %}) the changefeed before performing any [`ALTER CHANGEFEED`]({% link {{ page.version.version }}/alter-changefeed.md %}) statement. #77171 - 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: ~~~ sql diff --git a/src/current/_includes/v24.2/known-limitations/alter-view-limitations.md b/src/current/_includes/v24.2/known-limitations/alter-view-limitations.md index 642bed6ce08..e44921629ff 100644 --- a/src/current/_includes/v24.2/known-limitations/alter-view-limitations.md +++ b/src/current/_includes/v24.2/known-limitations/alter-view-limitations.md @@ -1,4 +1,4 @@ `ALTER VIEW` 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. [#10083](https://github.com/cockroachdb/cockroach/issues/10083) \ No newline at end of file +- Renaming a view that other views depend on. This feature may be added in the future. #10083 \ No newline at end of file diff --git a/src/current/_includes/v24.2/known-limitations/aost-limitations.md b/src/current/_includes/v24.2/known-limitations/aost-limitations.md index 811c884d08d..c42e62800d3 100644 --- a/src/current/_includes/v24.2/known-limitations/aost-limitations.md +++ b/src/current/_includes/v24.2/known-limitations/aost-limitations.md @@ -1 +1 @@ -CockroachDB does not support placeholders in {% if page.name == "as-of-system-time.md" %}`AS OF SYSTEM TIME`{% else %}[`AS OF SYSTEM TIME`]({% link {{ page.version.version }}/as-of-system-time.md %}){% endif %}. The time value must be a constant value embedded in the SQL string. [#30955](https://github.com/cockroachdb/cockroach/issues/30955) \ No newline at end of file +CockroachDB does not support placeholders in {% if page.name == "as-of-system-time.md" %}`AS OF SYSTEM TIME`{% else %}[`AS OF SYSTEM TIME`]({% link {{ page.version.version }}/as-of-system-time.md %}){% endif %}. The time value must be a constant value embedded in the SQL string. #30955 \ No newline at end of file diff --git a/src/current/_includes/v24.2/known-limitations/cannot-refresh-materialized-views-inside-transactions.md b/src/current/_includes/v24.2/known-limitations/cannot-refresh-materialized-views-inside-transactions.md index b0aaf728177..2f6fe466a95 100644 --- a/src/current/_includes/v24.2/known-limitations/cannot-refresh-materialized-views-inside-transactions.md +++ b/src/current/_includes/v24.2/known-limitations/cannot-refresh-materialized-views-inside-transactions.md @@ -24,4 +24,4 @@ SQLSTATE: 25000 ~~~ - [#66008](https://github.com/cockroachdb/cockroach/issues/66008) + #66008 diff --git a/src/current/_includes/v24.2/known-limitations/cdc-queries-column-families.md b/src/current/_includes/v24.2/known-limitations/cdc-queries-column-families.md index 505a8c9700e..52bdabec236 100644 --- a/src/current/_includes/v24.2/known-limitations/cdc-queries-column-families.md +++ b/src/current/_includes/v24.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. [#127761](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. #127761 \ No newline at end of file diff --git a/src/current/_includes/v24.2/known-limitations/cdc-queries.md b/src/current/_includes/v24.2/known-limitations/cdc-queries.md index 2839eba5eda..552900531b0 100644 --- a/src/current/_includes/v24.2/known-limitations/cdc-queries.md +++ b/src/current/_includes/v24.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). [#98237](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. [#83835](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). #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. #83835 diff --git a/src/current/_includes/v24.2/known-limitations/cdc.md b/src/current/_includes/v24.2/known-limitations/cdc.md index a473e94367c..0a3914da8bd 100644 --- a/src/current/_includes/v24.2/known-limitations/cdc.md +++ b/src/current/_includes/v24.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 %}). [#73435](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 %}). #73435 - {% 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 %}#insecure-tls-skip-verify) parameter when testing to disable certificate verification; however, this still requires HTTPS and certificates. [#73431](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. [#73432](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) 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. [#79452](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 %}#insecure-tls-skip-verify) parameter when testing to disable certificate verification; however, this still requires HTTPS and certificates. #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. #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) 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. #79452 - {% 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/v24.2/known-limitations/changefeed-column-family-message.md b/src/current/_includes/v24.2/known-limitations/changefeed-column-family-message.md index 41744b9b4b4..e77b6cc51e0 100644 --- a/src/current/_includes/v24.2/known-limitations/changefeed-column-family-message.md +++ b/src/current/_includes/v24.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. [#127736](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. #127736 \ No newline at end of file diff --git a/src/current/_includes/v24.2/known-limitations/copy-syntax.md b/src/current/_includes/v24.2/known-limitations/copy-syntax.md index e64a075dcac..bd2e56e1c25 100644 --- a/src/current/_includes/v24.2/known-limitations/copy-syntax.md +++ b/src/current/_includes/v24.2/known-limitations/copy-syntax.md @@ -1,5 +1,5 @@ CockroachDB does not yet support the following `COPY` syntax: - - `COPY ... WITH FREEZE`. [#85573](https://github.com/cockroachdb/cockroach/issues/85573) - - `COPY ... WITH QUOTE`. [#85574](https://github.com/cockroachdb/cockroach/issues/85574) - - `COPY ... FROM ... WHERE `. [#54580](https://github.com/cockroachdb/cockroach/issues/54580) + - `COPY ... WITH FREEZE`. #85573 + - `COPY ... WITH QUOTE`. #85574 + - `COPY ... FROM ... WHERE `. #54580 diff --git a/src/current/_includes/v24.2/known-limitations/create-statistics-aost-limitation.md b/src/current/_includes/v24.2/known-limitations/create-statistics-aost-limitation.md index 09f86f51c48..d318ce338be 100644 --- a/src/current/_includes/v24.2/known-limitations/create-statistics-aost-limitation.md +++ b/src/current/_includes/v24.2/known-limitations/create-statistics-aost-limitation.md @@ -1 +1 @@ -The `ANALYZE` alias {% if page.name != "create-statistics.md" %}of [`CREATE STATISTICS`]({% link {{ page.version.version }}/create-statistics.md %}){% endif %} does not support specifying an {% if page.name == "as-of-system-time.md" %}`AS OF SYSTEM TIME`{% else %}[`AS OF SYSTEM TIME`]({% link {{ page.version.version }}/as-of-system-time.md %}){% endif %} timestamp. `ANALYZE` statements use `AS OF SYSTEM TIME '-0.001ms'` automatically. For more control over the statistics interval, use the `CREATE STATISTICS` syntax instead. [#96430](https://github.com/cockroachdb/cockroach/issues/96430) \ No newline at end of file +The `ANALYZE` alias {% if page.name != "create-statistics.md" %}of [`CREATE STATISTICS`]({% link {{ page.version.version }}/create-statistics.md %}){% endif %} does not support specifying an {% if page.name == "as-of-system-time.md" %}`AS OF SYSTEM TIME`{% else %}[`AS OF SYSTEM TIME`]({% link {{ page.version.version }}/as-of-system-time.md %}){% endif %} timestamp. `ANALYZE` statements use `AS OF SYSTEM TIME '-0.001ms'` automatically. For more control over the statistics interval, use the `CREATE STATISTICS` syntax instead. #96430 \ No newline at end of file diff --git a/src/current/_includes/v24.2/known-limitations/drop-column-partial-index.md b/src/current/_includes/v24.2/known-limitations/drop-column-partial-index.md index 9fd1811cc43..fd28f0a96a2 100644 --- a/src/current/_includes/v24.2/known-limitations/drop-column-partial-index.md +++ b/src/current/_includes/v24.2/known-limitations/drop-column-partial-index.md @@ -1 +1 @@ -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 %}). [#97813](https://github.com/cockroachdb/cockroach/issues/97813). \ No newline at end of file +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 %}). #97813. \ No newline at end of file diff --git a/src/current/_includes/v24.2/known-limitations/drop-owned-by-limitations.md b/src/current/_includes/v24.2/known-limitations/drop-owned-by-limitations.md index 95685f6adf1..af99d4b7cfe 100644 --- a/src/current/_includes/v24.2/known-limitations/drop-owned-by-limitations.md +++ b/src/current/_includes/v24.2/known-limitations/drop-owned-by-limitations.md @@ -10,4 +10,4 @@ The phrase "synthetic privileges" in the error message refers to [system-level privileges]({% link {{ page.version.version }}/security-reference/authorization.md %}#supported-privileges). - The workaround is to use [`SHOW SYSTEM GRANTS FOR {role}`](show-system-grants.html) and then use [`REVOKE SYSTEM ...`](revoke.html#revoke-system-level-privileges-on-the-entire-cluster) for each privilege in the result. [#88149](https://github.com/cockroachdb/cockroach/issues/88149) \ No newline at end of file + The workaround is to use [`SHOW SYSTEM GRANTS FOR {role}`](show-system-grants.html) and then use [`REVOKE SYSTEM ...`](revoke.html#revoke-system-level-privileges-on-the-entire-cluster) for each privilege in the result. #88149 \ No newline at end of file diff --git a/src/current/_includes/v24.2/known-limitations/expression-index-limitations.md b/src/current/_includes/v24.2/known-limitations/expression-index-limitations.md index c0e94185948..9487028791c 100644 --- a/src/current/_includes/v24.2/known-limitations/expression-index-limitations.md +++ b/src/current/_includes/v24.2/known-limitations/expression-index-limitations.md @@ -1,6 +1,6 @@ - The expression cannot reference columns outside the index's table. - Functional expression output must be determined by the input arguments. For example, you can't use the [volatile function]({% link {{ page.version.version }}/functions-and-operators.md %}#function-volatility) `now()` to create an index because its output depends on more than just the function arguments. -- 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 %}). [#67900](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 %}). #67900 - CockroachDB does not support expressions as `ON CONFLICT` targets. This means that unique {% if page.name == "expression-indexes.md" %} expression indexes {% else %} [expression indexes]({% link {{ page.version.version }}/expression-indexes.md %}) {% endif %} cannot be selected as arbiters for [`INSERT .. ON CONFLICT`]({% link {{ page.version.version }}/insert.md %}#on-conflict-clause) statements. For example: {% include_cached copy-clipboard.html %} @@ -40,4 +40,4 @@ HINT: try \h INSERT ~~~ - [#67893](https://github.com/cockroachdb/cockroach/issues/67893) + #67893 diff --git a/src/current/_includes/v24.2/known-limitations/forecasted-stats-limitations.md b/src/current/_includes/v24.2/known-limitations/forecasted-stats-limitations.md index c8753124a96..b5d03e8ffc5 100644 --- a/src/current/_includes/v24.2/known-limitations/forecasted-stats-limitations.md +++ b/src/current/_includes/v24.2/known-limitations/forecasted-stats-limitations.md @@ -6,4 +6,4 @@ Although [`SHOW STATISTICS WITH FORECAST`]({% link {{ page.version.version }}/show-statistics.md %}#display-forecasted-statistics) shows the settings taking effect immediately, they do not actually take effect until new statistics are collected (as can be verified with [`EXPLAIN`]({% link {{ page.version.version }}/explain.md %})). - As a workaround, disable and enable forecasting at the [cluster]({% link {{ page.version.version }}/cost-based-optimizer.md %}#enable-and-disable-automatic-statistics-collection-for-clusters) or [table]({% link {{ page.version.version }}/cost-based-optimizer.md %}#enable-and-disable-automatic-statistics-collection-for-tables) level. This will invalidate the statistics cache and cause these settings to take effect immediately. [#123852](https://github.com/cockroachdb/cockroach/issues/123852) \ No newline at end of file + As a workaround, disable and enable forecasting at the [cluster]({% link {{ page.version.version }}/cost-based-optimizer.md %}#enable-and-disable-automatic-statistics-collection-for-clusters) or [table]({% link {{ page.version.version }}/cost-based-optimizer.md %}#enable-and-disable-automatic-statistics-collection-for-tables) level. This will invalidate the statistics cache and cause these settings to take effect immediately. #123852 \ No newline at end of file diff --git a/src/current/_includes/v24.2/known-limitations/full-text-search-unsupported.md b/src/current/_includes/v24.2/known-limitations/full-text-search-unsupported.md index 7b5a83f2cae..2be666994f1 100644 --- a/src/current/_includes/v24.2/known-limitations/full-text-search-unsupported.md +++ b/src/current/_includes/v24.2/known-limitations/full-text-search-unsupported.md @@ -11,4 +11,4 @@ - `!! tsquery` comparisons. - `tsquery @> tsquery` and `tsquery <@ tsquery` comparisons. -[#41288](https://github.com/cockroachdb/cockroach/issues/41288) \ No newline at end of file +#41288 \ No newline at end of file diff --git a/src/current/_includes/v24.2/known-limitations/generic-query-plan-limitations.md b/src/current/_includes/v24.2/known-limitations/generic-query-plan-limitations.md index e28e66d5f32..03d72195334 100644 --- a/src/current/_includes/v24.2/known-limitations/generic-query-plan-limitations.md +++ b/src/current/_includes/v24.2/known-limitations/generic-query-plan-limitations.md @@ -1,2 +1,2 @@ -- Because [generic query plans]({% link {{ page.version.version }}/cost-based-optimizer.md %}#query-plan-cache) use lookup joins instead of the scans and revscans used by custom query plans, generic query plans do not perform as well as custom query plans in some cases. [#128916](https://github.com/cockroachdb/cockroach/issues/128916) -- [Generic query plans]({% link {{ page.version.version }}/cost-based-optimizer.md %}#query-plan-type) are not included in the [plan cache]({% link {{ page.version.version }}/cost-based-optimizer.md %}#query-plan-cache). This means a generic query plan built and optimized for a prepared statement in one session cannot be used by another session. To reuse generic query plans for maximum performance, a prepared statement should be executed multiple times instead of prepared and executed once. [#128911](https://github.com/cockroachdb/cockroach/issues/128911) \ No newline at end of file +- Because [generic query plans]({% link {{ page.version.version }}/cost-based-optimizer.md %}#query-plan-cache) use lookup joins instead of the scans and revscans used by custom query plans, generic query plans do not perform as well as custom query plans in some cases. #128916 +- [Generic query plans]({% link {{ page.version.version }}/cost-based-optimizer.md %}#query-plan-type) are not included in the [plan cache]({% link {{ page.version.version }}/cost-based-optimizer.md %}#query-plan-cache). This means a generic query plan built and optimized for a prepared statement in one session cannot be used by another session. To reuse generic query plans for maximum performance, a prepared statement should be executed multiple times instead of prepared and executed once. #128911 \ No newline at end of file diff --git a/src/current/_includes/v24.2/known-limitations/locality-optimized-search-virtual-computed-columns.md b/src/current/_includes/v24.2/known-limitations/locality-optimized-search-virtual-computed-columns.md index d6acf418aa8..39b3f2cb00e 100644 --- a/src/current/_includes/v24.2/known-limitations/locality-optimized-search-virtual-computed-columns.md +++ b/src/current/_includes/v24.2/known-limitations/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). [#68129](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). #68129 diff --git a/src/current/_includes/v24.2/known-limitations/materialized-views-no-stats.md b/src/current/_includes/v24.2/known-limitations/materialized-views-no-stats.md index 02f2bd787c4..2bfe00d5307 100644 --- a/src/current/_includes/v24.2/known-limitations/materialized-views-no-stats.md +++ b/src/current/_includes/v24.2/known-limitations/materialized-views-no-stats.md @@ -1 +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. [#78181](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. #78181. diff --git a/src/current/_includes/v24.2/known-limitations/multiple-arbiter-indexes.md b/src/current/_includes/v24.2/known-limitations/multiple-arbiter-indexes.md index c9861623314..28b41eca491 100644 --- a/src/current/_includes/v24.2/known-limitations/multiple-arbiter-indexes.md +++ b/src/current/_includes/v24.2/known-limitations/multiple-arbiter-indexes.md @@ -1 +1 @@ -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. [#53170](https://github.com/cockroachdb/cockroach/issues/53170) \ No newline at end of file +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. #53170 \ No newline at end of file diff --git a/src/current/_includes/v24.2/known-limitations/plpgsql-limitations.md b/src/current/_includes/v24.2/known-limitations/plpgsql-limitations.md index cfb6c0e102a..9403d585fc4 100644 --- a/src/current/_includes/v24.2/known-limitations/plpgsql-limitations.md +++ b/src/current/_includes/v24.2/known-limitations/plpgsql-limitations.md @@ -1,26 +1,26 @@ {% if page.name != "known-limitations.md" # New limitations in v24.2 %} {% endif %} -- It is not possible to use a variable as a target more than once in the same `INTO` clause. For example, `SELECT 1, 2 INTO x, x;`. [#121605](https://github.com/cockroachdb/cockroach/issues/121605) -- PLpgSQL variable declarations cannot inherit the type of a table row or column using `%TYPE` or `%ROWTYPE` syntax. [#114676](https://github.com/cockroachdb/cockroach/issues/114676) -- PL/pgSQL arguments cannot be referenced with ordinals (e.g., `$1`, `$2`). [#114701](https://github.com/cockroachdb/cockroach/issues/114701) +- It is not possible to use a variable as a target more than once in the same `INTO` clause. For example, `SELECT 1, 2 INTO x, x;`. #121605 +- PLpgSQL variable declarations cannot inherit the type of a table row or column using `%TYPE` or `%ROWTYPE` syntax. #114676 +- PL/pgSQL arguments cannot be referenced with ordinals (e.g., `$1`, `$2`). #114701 - The following statements are not supported: - - `FOR` loops, including `FOR` cursor loops, `FOR` query loops, and `FOREACH` loops. [#105246](https://github.com/cockroachdb/cockroach/issues/105246) - - `RETURN NEXT` and `RETURN QUERY`. [#117744](https://github.com/cockroachdb/cockroach/issues/117744) - - `PERFORM`, `EXECUTE`, `GET DIAGNOSTICS`, and `CASE`. [#117744](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 %}). [#111446](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`). [#106237](https://github.com/cockroachdb/cockroach/issues/106237) -- `RAISE` statements message the client directly, and do not produce log output. [#117750](https://github.com/cockroachdb/cockroach/issues/117750) -- `ASSERT` debugging checks are not supported. [#117744](https://github.com/cockroachdb/cockroach/issues/117744) -- `RECORD` parameters and variables are not supported in [user-defined functions]({% link {{ page.version.version }}/user-defined-functions.md %}). [#105713](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. [#117508](https://github.com/cockroachdb/cockroach/issues/117508) -- Syntax for accessing members of composite types without parentheses is not supported. [#114687](https://github.com/cockroachdb/cockroach/issues/114687) -- `NOT NULL` variable declarations are not supported. [#105243](https://github.com/cockroachdb/cockroach/issues/105243) -- Cursors opened in PL/pgSQL execute their queries on opening, affecting performance and resource usage. [#111479](https://github.com/cockroachdb/cockroach/issues/111479) -- Cursors in PL/pgSQL cannot be declared with arguments. [#117746](https://github.com/cockroachdb/cockroach/issues/117746) -- `OPEN FOR EXECUTE` is not supported for opening cursors. [#117744](https://github.com/cockroachdb/cockroach/issues/117744) -- The `print_strict_params` option is not supported in PL/pgSQL. [#123671](https://github.com/cockroachdb/cockroach/issues/123671) -- The `FOUND` local variable, which checks whether a statement affected any rows, is not supported in PL/pgSQL. [#122306](https://github.com/cockroachdb/cockroach/issues/122306) -- By default, when a PL/pgSQL variable conflicts with a column name, CockroachDB resolves the ambiguity by treating it as a column reference rather than a variable reference. This behavior differs from PostgreSQL, where an ambiguous column error is reported, and it is possible to change the `plpgsql.variable_conflict` setting in order to prefer either columns or variables. [#115680](https://github.com/cockroachdb/cockroach/issues/115680) -- It is not possible to define a `RECORD`-returning PL/pgSQL function that returns different-typed expressions from different `RETURN` statements. CockroachDB requires a consistent return type for `RECORD`-returning functions. [#115384](https://github.com/cockroachdb/cockroach/issues/115384) -- Variables cannot be declared with an associated collation using the `COLLATE` keyword. [#105245](https://github.com/cockroachdb/cockroach/issues/105245) -- Variables cannot be accessed using the `label.var_name` pattern. [#122322](https://github.com/cockroachdb/cockroach/issues/122322) \ No newline at end of file + - `FOR` loops, including `FOR` cursor loops, `FOR` query loops, and `FOREACH` loops. #105246 + - `RETURN NEXT` and `RETURN QUERY`. #117744 + - `PERFORM`, `EXECUTE`, `GET DIAGNOSTICS`, and `CASE`. #117744 +- PL/pgSQL exception blocks cannot catch [transaction retry errors]({% link {{ page.version.version }}/transaction-retry-error-reference.md %}). #111446 +- `RAISE` statements cannot be annotated with names of schema objects related to the error (i.e., using `COLUMN`, `CONSTRAINT`, `DATATYPE`, `TABLE`, or `SCHEMA`). #106237 +- `RAISE` statements message the client directly, and do not produce log output. #117750 +- `ASSERT` debugging checks are not supported. #117744 +- `RECORD` parameters and variables are not supported in [user-defined functions]({% link {{ page.version.version }}/user-defined-functions.md %}). #105713 +- Variable shadowing (e.g., declaring a variable with the same name in an inner block) is not supported in PL/pgSQL. #117508 +- Syntax for accessing members of composite types without parentheses is not supported. #114687 +- `NOT NULL` variable declarations are not supported. #105243 +- Cursors opened in PL/pgSQL execute their queries on opening, affecting performance and resource usage. #111479 +- Cursors in PL/pgSQL cannot be declared with arguments. #117746 +- `OPEN FOR EXECUTE` is not supported for opening cursors. #117744 +- The `print_strict_params` option is not supported in PL/pgSQL. #123671 +- The `FOUND` local variable, which checks whether a statement affected any rows, is not supported in PL/pgSQL. #122306 +- By default, when a PL/pgSQL variable conflicts with a column name, CockroachDB resolves the ambiguity by treating it as a column reference rather than a variable reference. This behavior differs from PostgreSQL, where an ambiguous column error is reported, and it is possible to change the `plpgsql.variable_conflict` setting in order to prefer either columns or variables. #115680 +- It is not possible to define a `RECORD`-returning PL/pgSQL function that returns different-typed expressions from different `RETURN` statements. CockroachDB requires a consistent return type for `RECORD`-returning functions. #115384 +- Variables cannot be declared with an associated collation using the `COLLATE` keyword. #105245 +- Variables cannot be accessed using the `label.var_name` pattern. #122322 \ No newline at end of file diff --git a/src/current/_includes/v24.2/known-limitations/read-committed-limitations.md b/src/current/_includes/v24.2/known-limitations/read-committed-limitations.md index 947cf56814d..4d05441de0a 100644 --- a/src/current/_includes/v24.2/known-limitations/read-committed-limitations.md +++ b/src/current/_includes/v24.2/known-limitations/read-committed-limitations.md @@ -1,7 +1,7 @@ -- 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 when the [`autocommit_before_ddl` session setting]({% link {{page.version.version}}/set-vars.md %}#autocommit-before-ddl) is set to `off`, 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`. [#114778](https://github.com/cockroachdb/cockroach/issues/114778) -- `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. [#110873](https://github.com/cockroachdb/cockroach/issues/110873) -- Multi-column-family checks during updates are not supported under `READ COMMITTED` isolation. [#112488](https://github.com/cockroachdb/cockroach/issues/112488) +- 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 when the [`autocommit_before_ddl` session setting]({% link {{page.version.version}}/set-vars.md %}#autocommit-before-ddl) is set to `off`, 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`. #114778 +- `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. #110873 +- Multi-column-family checks during updates are not supported under `READ COMMITTED` isolation. #112488 - Because locks acquired by [foreign key]({% link {{ page.version.version }}/foreign-key.md %}) checks, [`SELECT FOR UPDATE`]({% link {{ page.version.version }}/select-for-update.md %}), and [`SELECT FOR SHARE`]({% link {{ page.version.version }}/select-for-update.md %}) are fully replicated under `READ COMMITTED` isolation, some queries experience a delay for Raft replication. - [Foreign key]({% link {{ page.version.version }}/foreign-key.md %}) checks are not performed in parallel under `READ COMMITTED` isolation. - [`SELECT FOR UPDATE` and `SELECT FOR SHARE`]({% link {{ page.version.version }}/select-for-update.md %}) statements are less optimized under `READ COMMITTED` isolation than under `SERIALIZABLE` isolation. Under `READ COMMITTED` isolation, `SELECT FOR UPDATE` and `SELECT FOR SHARE` usually perform an extra lookup join for every locked table when compared to the same queries under `SERIALIZABLE`. In addition, some optimization steps (such as de-correlation of correlated [subqueries]({% link {{ page.version.version }}/subqueries.md %})) are not currently performed on these queries. -- Regardless of isolation level, [`SELECT FOR UPDATE` and `SELECT FOR SHARE`]({% link {{ page.version.version }}/select-for-update.md %}) statements in CockroachDB do not prevent insertion of new rows matching the search condition (i.e., [phantom reads]({% link {{ page.version.version }}/read-committed.md %}#non-repeatable-reads-and-phantom-reads)). This matches PostgreSQL behavior at all isolation levels. [#120673](https://github.com/cockroachdb/cockroach/issues/120673) \ No newline at end of file +- Regardless of isolation level, [`SELECT FOR UPDATE` and `SELECT FOR SHARE`]({% link {{ page.version.version }}/select-for-update.md %}) statements in CockroachDB do not prevent insertion of new rows matching the search condition (i.e., [phantom reads]({% link {{ page.version.version }}/read-committed.md %}#non-repeatable-reads-and-phantom-reads)). This matches PostgreSQL behavior at all isolation levels. #120673 \ No newline at end of file diff --git a/src/current/_includes/v24.2/known-limitations/restore-multiregion-match.md b/src/current/_includes/v24.2/known-limitations/restore-multiregion-match.md index 20ddbb0c930..4c533f4283e 100644 --- a/src/current/_includes/v24.2/known-limitations/restore-multiregion-match.md +++ b/src/current/_includes/v24.2/known-limitations/restore-multiregion-match.md @@ -47,4 +47,4 @@ ALTER DATABASE destination_database SET PRIMARY REGION "us-east1"; ~~~ - [#71071](https://github.com/cockroachdb/cockroach/issues/71071) \ No newline at end of file + #71071 \ No newline at end of file diff --git a/src/current/_includes/v24.2/known-limitations/restore-tables-non-multi-reg.md b/src/current/_includes/v24.2/known-limitations/restore-tables-non-multi-reg.md index 5390f2d09ee..e05bc340141 100644 --- a/src/current/_includes/v24.2/known-limitations/restore-tables-non-multi-reg.md +++ b/src/current/_includes/v24.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. [#71502](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. #71502 diff --git a/src/current/_includes/v24.2/known-limitations/restore-udf.md b/src/current/_includes/v24.2/known-limitations/restore-udf.md index a4a4bc080fe..e4180219a25 100644 --- a/src/current/_includes/v24.2/known-limitations/restore-udf.md +++ b/src/current/_includes/v24.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. [#118195](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. #118195 \ No newline at end of file diff --git a/src/current/_includes/v24.2/known-limitations/routine-limitations.md b/src/current/_includes/v24.2/known-limitations/routine-limitations.md index 4718c6c7abf..fa16791b56a 100644 --- a/src/current/_includes/v24.2/known-limitations/routine-limitations.md +++ b/src/current/_includes/v24.2/known-limitations/routine-limitations.md @@ -1,10 +1,10 @@ {% if page.name != "known-limitations.md" # New limitations in v24.2 %} {% endif %} -- Routines cannot be invoked with named arguments, e.g., `SELECT foo(a => 1, b => 2);` or `SELECT foo(b := 1, a := 2);`. [#122264](https://github.com/cockroachdb/cockroach/issues/122264) -- Routines cannot be created if they reference temporary tables. [#121375](https://github.com/cockroachdb/cockroach/issues/121375) -- Routines cannot be created with unnamed `INOUT` parameters. For example, `CREATE PROCEDURE p(INOUT INT) AS $$ BEGIN NULL; END; $$ LANGUAGE PLpgSQL;`. [#121251](https://github.com/cockroachdb/cockroach/issues/121251) -- Routines cannot be created if they return fewer columns than declared. For example, `CREATE FUNCTION f(OUT sum INT, INOUT a INT, INOUT b INT) LANGUAGE SQL AS $$ SELECT (a + b, b); $$;`. [#121247](https://github.com/cockroachdb/cockroach/issues/121247) -- Routines cannot be created with an `OUT` parameter of type `RECORD`. [#123448](https://github.com/cockroachdb/cockroach/issues/123448) -- DDL statements (e.g., `CREATE TABLE`, `CREATE INDEX`) are not allowed within UDFs or stored procedures. [#110080](https://github.com/cockroachdb/cockroach/issues/110080) -- Polymorphic types cannot be cast to other types (e.g., `TEXT`) within routine parameters. [#123536](https://github.com/cockroachdb/cockroach/issues/123536) -- Routine parameters and return types cannot be declared using the `ANYENUM` polymorphic type, which is able to match any [`ENUM`]({% link {{ page.version.version }}/enum.md %}) type. [123048](https://github.com/cockroachdb/cockroach/issues/123048) \ No newline at end of file +- Routines cannot be invoked with named arguments, e.g., `SELECT foo(a => 1, b => 2);` or `SELECT foo(b := 1, a := 2);`. #122264 +- Routines cannot be created if they reference temporary tables. #121375 +- Routines cannot be created with unnamed `INOUT` parameters. For example, `CREATE PROCEDURE p(INOUT INT) AS $$ BEGIN NULL; END; $$ LANGUAGE PLpgSQL;`. #121251 +- Routines cannot be created if they return fewer columns than declared. For example, `CREATE FUNCTION f(OUT sum INT, INOUT a INT, INOUT b INT) LANGUAGE SQL AS $$ SELECT (a + b, b); $$;`. #121247 +- Routines cannot be created with an `OUT` parameter of type `RECORD`. #123448 +- DDL statements (e.g., `CREATE TABLE`, `CREATE INDEX`) are not allowed within UDFs or stored procedures. #110080 +- Polymorphic types cannot be cast to other types (e.g., `TEXT`) within routine parameters. #123536 +- Routine parameters and return types cannot be declared using the `ANYENUM` polymorphic type, which is able to match any [`ENUM`]({% link {{ page.version.version }}/enum.md %}) type. 123048 \ No newline at end of file diff --git a/src/current/_includes/v24.2/known-limitations/select-for-update-limitations.md b/src/current/_includes/v24.2/known-limitations/select-for-update-limitations.md index 73aaf9fdeb6..210099bacd7 100644 --- a/src/current/_includes/v24.2/known-limitations/select-for-update-limitations.md +++ b/src/current/_includes/v24.2/known-limitations/select-for-update-limitations.md @@ -1,4 +1,4 @@ -- `SKIP LOCKED` cannot be used for tables with multiple [column families]({% link {{ page.version.version }}/column-families.md %}). [#160961](https://github.com/cockroachdb/cockroach/issues/160961) +- `SKIP LOCKED` cannot be used for tables with multiple [column families]({% link {{ page.version.version }}/column-families.md %}). #160961 - By default under `SERIALIZABLE` isolation, locks acquired using `SELECT ... FOR UPDATE` and `SELECT ... FOR SHARE` are implemented as fast, in-memory [unreplicated locks](architecture/transaction-layer.html#unreplicated-locks). If a [lease transfer]({% link {{ page.version.version }}/architecture/replication-layer.md %}#epoch-based-leases-table-data) or [range split/merge]({% link {{ page.version.version }}/architecture/distribution-layer.md %}#range-merges) occurs on a range held by an unreplicated lock, the lock is dropped. The following behaviors can occur: - 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`]({% link {{ page.version.version }}/transaction-retry-error-reference.md %}) and the [`restart transaction` error message]({% link {{ page.version.version }}/common-errors.md %}#restart-transaction). diff --git a/src/current/_includes/v24.2/known-limitations/set-transaction-no-rollback.md b/src/current/_includes/v24.2/known-limitations/set-transaction-no-rollback.md index 414cbac6282..5f0145c05c4 100644 --- a/src/current/_includes/v24.2/known-limitations/set-transaction-no-rollback.md +++ b/src/current/_includes/v24.2/known-limitations/set-transaction-no-rollback.md @@ -14,4 +14,4 @@ timezone 3 ~~~ -[#69396](https://github.com/cockroachdb/cockroach/issues/69396) +#69396 diff --git a/src/current/_includes/v24.2/known-limitations/show-backup-symlink.md b/src/current/_includes/v24.2/known-limitations/show-backup-symlink.md index 38ba86fb28f..1c7a5612242 100644 --- a/src/current/_includes/v24.2/known-limitations/show-backup-symlink.md +++ b/src/current/_includes/v24.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. [#70260](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. #70260 \ No newline at end of file diff --git a/src/current/_includes/v24.2/known-limitations/sql-cursors.md b/src/current/_includes/v24.2/known-limitations/sql-cursors.md index 4c047aa9603..93bbca937b1 100644 --- a/src/current/_includes/v24.2/known-limitations/sql-cursors.md +++ b/src/current/_includes/v24.2/known-limitations/sql-cursors.md @@ -1,9 +1,9 @@ CockroachDB implements SQL {% if page.name == "known-limitations.md" %} [cursor]({% link {{ page.version.version }}/cursors.md %}) {% else %} cursor {% endif %} support with the following limitations: -- `DECLARE` only supports forward cursors. Reverse cursors created with `DECLARE SCROLL` are not supported. [#77102](https://github.com/cockroachdb/cockroach/issues/77102) -- `FETCH` supports forward, relative, and absolute variants, but only for forward cursors. [#77102](https://github.com/cockroachdb/cockroach/issues/77102) -- `BINARY CURSOR`, which returns data in the Postgres binary format, is not supported. [#77099](https://github.com/cockroachdb/cockroach/issues/77099) -- `WITH HOLD`, which allows keeping a cursor open for longer than a transaction by writing its results into a buffer, is accepted as valid syntax within a single transaction but is not supported. It acts as a no-op and does not actually perform the function of `WITH HOLD`, which is to make the cursor live outside its parent transaction. Instead, if you are using `WITH HOLD`, you will be forced to close that cursor within the transaction it was created in. [#77101](https://github.com/cockroachdb/cockroach/issues/77101) +- `DECLARE` only supports forward cursors. Reverse cursors created with `DECLARE SCROLL` are not supported. #77102 +- `FETCH` supports forward, relative, and absolute variants, but only for forward cursors. #77102 +- `BINARY CURSOR`, which returns data in the Postgres binary format, is not supported. #77099 +- `WITH HOLD`, which allows keeping a cursor open for longer than a transaction by writing its results into a buffer, is accepted as valid syntax within a single transaction but is not supported. It acts as a no-op and does not actually perform the function of `WITH HOLD`, which is to make the cursor live outside its parent transaction. Instead, if you are using `WITH HOLD`, you will be forced to close that cursor within the transaction it was created in. #77101 - This syntax is accepted (but does not have any effect): {% include_cached copy-clipboard.html %} ~~~ sql @@ -19,6 +19,6 @@ CockroachDB implements SQL {% if page.name == "known-limitations.md" %} [cursor] DECLARE test_cur CURSOR WITH HOLD FOR SELECT * FROM foo ORDER BY bar; COMMIT; -- This will fail with an error because CLOSE test_cur was not called inside the transaction. ~~~ -- Scrollable cursor (also known as reverse `FETCH`) is not supported. [#77102](https://github.com/cockroachdb/cockroach/issues/77102) -- [`SELECT ... FOR UPDATE`]({% link {{ page.version.version }}/select-for-update.md %}) with a cursor is not supported. [#77103](https://github.com/cockroachdb/cockroach/issues/77103) -- Respect for [`SAVEPOINT`s]({% link {{ page.version.version }}/savepoint.md %}) is not supported. Cursor definitions do not disappear properly if rolled back to a `SAVEPOINT` from before they were created. [#77104](https://github.com/cockroachdb/cockroach/issues/77104) +- Scrollable cursor (also known as reverse `FETCH`) is not supported. #77102 +- [`SELECT ... FOR UPDATE`]({% link {{ page.version.version }}/select-for-update.md %}) with a cursor is not supported. #77103 +- Respect for [`SAVEPOINT`s]({% link {{ page.version.version }}/savepoint.md %}) is not supported. Cursor definitions do not disappear properly if rolled back to a `SAVEPOINT` from before they were created. #77104 diff --git a/src/current/_includes/v24.2/known-limitations/srid-4326-limitations.md b/src/current/_includes/v24.2/known-limitations/srid-4326-limitations.md index b556a9fbecd..294a1a53bd4 100644 --- a/src/current/_includes/v24.2/known-limitations/srid-4326-limitations.md +++ b/src/current/_includes/v24.2/known-limitations/srid-4326-limitations.md @@ -1 +1 @@ -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. [#55903](https://github.com/cockroachdb/cockroach/issues/55903) \ No newline at end of file +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. #55903 \ No newline at end of file diff --git a/src/current/_includes/v24.2/known-limitations/stats-refresh-upgrade.md b/src/current/_includes/v24.2/known-limitations/stats-refresh-upgrade.md index 3d5a8d26325..3325dfaa53b 100644 --- a/src/current/_includes/v24.2/known-limitations/stats-refresh-upgrade.md +++ b/src/current/_includes/v24.2/known-limitations/stats-refresh-upgrade.md @@ -1 +1 @@ -- The [automatic statistics refresher]({% link {{ page.version.version }}/cost-based-optimizer.md %}#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]({% link {{ page.version.version }}/upgrade-cockroach-version.md %}). This could cause a problem, for example, if the upgrade moves from a version without [histograms]({% link {{ page.version.version }}/cost-based-optimizer.md %}#control-histogram-collection) to a version with histograms. To refresh statistics manually, use [`CREATE STATISTICS`](create-statistics.html). [#54816](https://github.com/cockroachdb/cockroach/issues/54816) +- The [automatic statistics refresher]({% link {{ page.version.version }}/cost-based-optimizer.md %}#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]({% link {{ page.version.version }}/upgrade-cockroach-version.md %}). This could cause a problem, for example, if the upgrade moves from a version without [histograms]({% link {{ page.version.version }}/cost-based-optimizer.md %}#control-histogram-collection) to a version with histograms. To refresh statistics manually, use [`CREATE STATISTICS`](create-statistics.html). #54816 diff --git a/src/current/_includes/v24.2/known-limitations/stored-proc-limitations.md b/src/current/_includes/v24.2/known-limitations/stored-proc-limitations.md index b2ba1b61562..bce2e47d6b8 100644 --- a/src/current/_includes/v24.2/known-limitations/stored-proc-limitations.md +++ b/src/current/_includes/v24.2/known-limitations/stored-proc-limitations.md @@ -1,3 +1,3 @@ {% if page.name != "known-limitations.md" # New limitations in v24.2 %} {% endif %} -- `COMMIT` and `ROLLBACK` statements are not supported within nested procedures. [#122266](https://github.com/cockroachdb/cockroach/issues/122266) \ No newline at end of file +- `COMMIT` and `ROLLBACK` statements are not supported within nested procedures. #122266 \ No newline at end of file diff --git a/src/current/_includes/v24.2/known-limitations/trigram-unsupported-syntax.md b/src/current/_includes/v24.2/known-limitations/trigram-unsupported-syntax.md index 494730c7ae8..a981c4915b0 100644 --- a/src/current/_includes/v24.2/known-limitations/trigram-unsupported-syntax.md +++ b/src/current/_includes/v24.2/known-limitations/trigram-unsupported-syntax.md @@ -6,4 +6,4 @@ - Acceleration on [regex string matching]({% link {{ page.version.version }}/scalar-expressions.md %}#string-matching-using-posix-regular-expressions). - `%` comparisons, `show_trgm`, and trigram index creation on [collated strings]({% link {{ page.version.version }}/collate.md %}). -[#41285](https://github.com/cockroachdb/cockroach/issues/41285) \ No newline at end of file +#41285 \ No newline at end of file diff --git a/src/current/_includes/v24.2/known-limitations/udf-limitations.md b/src/current/_includes/v24.2/known-limitations/udf-limitations.md index 57011914407..e0cbfd9bd7e 100644 --- a/src/current/_includes/v24.2/known-limitations/udf-limitations.md +++ b/src/current/_includes/v24.2/known-limitations/udf-limitations.md @@ -1,10 +1,10 @@ {% if page.name != "known-limitations.md" # New limitations in v24.2 %} {% endif %} -- A `RECORD`-returning UDF cannot be created without a `RETURN` statement in the root block, which would restrict the wildcard type to a concrete one. [#122945](https://github.com/cockroachdb/cockroach/issues/122945) +- A `RECORD`-returning UDF cannot be created without a `RETURN` statement in the root block, which would restrict the wildcard type to a concrete one. #122945 - User-defined functions are not currently supported in: - - Expressions (column, index, constraint) in tables. [#87699](https://github.com/cockroachdb/cockroach/issues/87699) - - Views. [#87699](https://github.com/cockroachdb/cockroach/issues/87699) -- User-defined functions cannot call themselves recursively. [#93049](https://github.com/cockroachdb/cockroach/issues/93049) -- [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. [#92961](https://github.com/cockroachdb/cockroach/issues/92961) -- The `setval` function cannot be resolved when used inside UDF bodies. [#110860](https://github.com/cockroachdb/cockroach/issues/110860) -- Casting subqueries to [user-defined types]({% link {{ page.version.version }}/create-type.md %}) in UDFs is not supported. [#108184](https://github.com/cockroachdb/cockroach/issues/108184) \ No newline at end of file + - Expressions (column, index, constraint) in tables. #87699 + - Views. #87699 +- User-defined functions cannot call themselves recursively. #93049 +- [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. #92961 +- The `setval` function cannot be resolved when used inside UDF bodies. #110860 +- Casting subqueries to [user-defined types]({% link {{ page.version.version }}/create-type.md %}) in UDFs is not supported. #108184 \ No newline at end of file diff --git a/src/current/_includes/v24.2/known-limitations/vectorized-engine-limitations.md b/src/current/_includes/v24.2/known-limitations/vectorized-engine-limitations.md index daea59ebf88..da227ad4825 100644 --- a/src/current/_includes/v24.2/known-limitations/vectorized-engine-limitations.md +++ b/src/current/_includes/v24.2/known-limitations/vectorized-engine-limitations.md @@ -1,2 +1,2 @@ -- The vectorized engine does not support queries containing a join filtered with an [`ON` expression]({% link {{ page.version.version }}/joins.md %}#supported-join-conditions). [#38018](https://github.com/cockroachdb/cockroach/issues/38018) +- The vectorized engine does not support queries containing a join filtered with an [`ON` expression]({% link {{ page.version.version }}/joins.md %}#supported-join-conditions). #38018 - 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/_includes/v24.3/known-limitations/alter-changefeed-cdc-queries.md b/src/current/_includes/v24.3/known-limitations/alter-changefeed-cdc-queries.md index 56dd7eeaacd..4134b3c9f86 100644 --- a/src/current/_includes/v24.3/known-limitations/alter-changefeed-cdc-queries.md +++ b/src/current/_includes/v24.3/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. [#83033](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. #83033 \ No newline at end of file diff --git a/src/current/_includes/v24.3/known-limitations/alter-changefeed-limitations.md b/src/current/_includes/v24.3/known-limitations/alter-changefeed-limitations.md index a183f2964f4..cb75ad71c55 100644 --- a/src/current/_includes/v24.3/known-limitations/alter-changefeed-limitations.md +++ b/src/current/_includes/v24.3/known-limitations/alter-changefeed-limitations.md @@ -1,4 +1,4 @@ -- It is necessary to [`PAUSE`]({% link {{ page.version.version }}/pause-job.md %}) the changefeed before performing any [`ALTER CHANGEFEED`]({% link {{ page.version.version }}/alter-changefeed.md %}) statement. [#77171](https://github.com/cockroachdb/cockroach/issues/77171) +- It is necessary to [`PAUSE`]({% link {{ page.version.version }}/pause-job.md %}) the changefeed before performing any [`ALTER CHANGEFEED`]({% link {{ page.version.version }}/alter-changefeed.md %}) statement. #77171 - 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: ~~~ sql diff --git a/src/current/_includes/v24.3/known-limitations/alter-view-limitations.md b/src/current/_includes/v24.3/known-limitations/alter-view-limitations.md index 642bed6ce08..e44921629ff 100644 --- a/src/current/_includes/v24.3/known-limitations/alter-view-limitations.md +++ b/src/current/_includes/v24.3/known-limitations/alter-view-limitations.md @@ -1,4 +1,4 @@ `ALTER VIEW` 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. [#10083](https://github.com/cockroachdb/cockroach/issues/10083) \ No newline at end of file +- Renaming a view that other views depend on. This feature may be added in the future. #10083 \ No newline at end of file diff --git a/src/current/_includes/v24.3/known-limitations/aost-limitations.md b/src/current/_includes/v24.3/known-limitations/aost-limitations.md index 811c884d08d..c42e62800d3 100644 --- a/src/current/_includes/v24.3/known-limitations/aost-limitations.md +++ b/src/current/_includes/v24.3/known-limitations/aost-limitations.md @@ -1 +1 @@ -CockroachDB does not support placeholders in {% if page.name == "as-of-system-time.md" %}`AS OF SYSTEM TIME`{% else %}[`AS OF SYSTEM TIME`]({% link {{ page.version.version }}/as-of-system-time.md %}){% endif %}. The time value must be a constant value embedded in the SQL string. [#30955](https://github.com/cockroachdb/cockroach/issues/30955) \ No newline at end of file +CockroachDB does not support placeholders in {% if page.name == "as-of-system-time.md" %}`AS OF SYSTEM TIME`{% else %}[`AS OF SYSTEM TIME`]({% link {{ page.version.version }}/as-of-system-time.md %}){% endif %}. The time value must be a constant value embedded in the SQL string. #30955 \ No newline at end of file diff --git a/src/current/_includes/v24.3/known-limitations/cannot-refresh-materialized-views-inside-transactions.md b/src/current/_includes/v24.3/known-limitations/cannot-refresh-materialized-views-inside-transactions.md index b0aaf728177..2f6fe466a95 100644 --- a/src/current/_includes/v24.3/known-limitations/cannot-refresh-materialized-views-inside-transactions.md +++ b/src/current/_includes/v24.3/known-limitations/cannot-refresh-materialized-views-inside-transactions.md @@ -24,4 +24,4 @@ SQLSTATE: 25000 ~~~ - [#66008](https://github.com/cockroachdb/cockroach/issues/66008) + #66008 diff --git a/src/current/_includes/v24.3/known-limitations/cdc-queries-column-families.md b/src/current/_includes/v24.3/known-limitations/cdc-queries-column-families.md index 505a8c9700e..52bdabec236 100644 --- a/src/current/_includes/v24.3/known-limitations/cdc-queries-column-families.md +++ b/src/current/_includes/v24.3/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. [#127761](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. #127761 \ No newline at end of file diff --git a/src/current/_includes/v24.3/known-limitations/cdc-queries.md b/src/current/_includes/v24.3/known-limitations/cdc-queries.md index 2839eba5eda..552900531b0 100644 --- a/src/current/_includes/v24.3/known-limitations/cdc-queries.md +++ b/src/current/_includes/v24.3/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). [#98237](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. [#83835](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). #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. #83835 diff --git a/src/current/_includes/v24.3/known-limitations/cdc.md b/src/current/_includes/v24.3/known-limitations/cdc.md index a473e94367c..0a3914da8bd 100644 --- a/src/current/_includes/v24.3/known-limitations/cdc.md +++ b/src/current/_includes/v24.3/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 %}). [#73435](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 %}). #73435 - {% 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 %}#insecure-tls-skip-verify) parameter when testing to disable certificate verification; however, this still requires HTTPS and certificates. [#73431](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. [#73432](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) 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. [#79452](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 %}#insecure-tls-skip-verify) parameter when testing to disable certificate verification; however, this still requires HTTPS and certificates. #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. #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) 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. #79452 - {% 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/v24.3/known-limitations/changefeed-column-family-message.md b/src/current/_includes/v24.3/known-limitations/changefeed-column-family-message.md index 41744b9b4b4..e77b6cc51e0 100644 --- a/src/current/_includes/v24.3/known-limitations/changefeed-column-family-message.md +++ b/src/current/_includes/v24.3/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. [#127736](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. #127736 \ No newline at end of file diff --git a/src/current/_includes/v24.3/known-limitations/compression-level-kafka-config.md b/src/current/_includes/v24.3/known-limitations/compression-level-kafka-config.md index 0635319c5af..911bb3119c8 100644 --- a/src/current/_includes/v24.3/known-limitations/compression-level-kafka-config.md +++ b/src/current/_includes/v24.3/known-limitations/compression-level-kafka-config.md @@ -1 +1 @@ -Changefeeds created in v24.3 of CockroachDB that emit to [Kafka]({% link {{ page.version.version }}/changefeed-sinks.md %}#kafka), or changefeeds created in earlier versions with the `changefeed.new_kafka_sink.enabled` cluster setting enabled, do not support negative compression level values for `GZIP` compression in the [`kafka_sink_config = {... "CompressionLevel" = ...}`]({% link {{ page.version.version }}/changefeed-sinks.md %}#compressionlevel) option field. [#136492](https://github.com/cockroachdb/cockroach/issues/136492) \ No newline at end of file +Changefeeds created in v24.3 of CockroachDB that emit to [Kafka]({% link {{ page.version.version }}/changefeed-sinks.md %}#kafka), or changefeeds created in earlier versions with the `changefeed.new_kafka_sink.enabled` cluster setting enabled, do not support negative compression level values for `GZIP` compression in the [`kafka_sink_config = {... "CompressionLevel" = ...}`]({% link {{ page.version.version }}/changefeed-sinks.md %}#compressionlevel) option field. #136492 \ No newline at end of file diff --git a/src/current/_includes/v24.3/known-limitations/copy-syntax.md b/src/current/_includes/v24.3/known-limitations/copy-syntax.md index e64a075dcac..bd2e56e1c25 100644 --- a/src/current/_includes/v24.3/known-limitations/copy-syntax.md +++ b/src/current/_includes/v24.3/known-limitations/copy-syntax.md @@ -1,5 +1,5 @@ CockroachDB does not yet support the following `COPY` syntax: - - `COPY ... WITH FREEZE`. [#85573](https://github.com/cockroachdb/cockroach/issues/85573) - - `COPY ... WITH QUOTE`. [#85574](https://github.com/cockroachdb/cockroach/issues/85574) - - `COPY ... FROM ... WHERE `. [#54580](https://github.com/cockroachdb/cockroach/issues/54580) + - `COPY ... WITH FREEZE`. #85573 + - `COPY ... WITH QUOTE`. #85574 + - `COPY ... FROM ... WHERE `. #54580 diff --git a/src/current/_includes/v24.3/known-limitations/create-statistics-aost-limitation.md b/src/current/_includes/v24.3/known-limitations/create-statistics-aost-limitation.md index 09f86f51c48..d318ce338be 100644 --- a/src/current/_includes/v24.3/known-limitations/create-statistics-aost-limitation.md +++ b/src/current/_includes/v24.3/known-limitations/create-statistics-aost-limitation.md @@ -1 +1 @@ -The `ANALYZE` alias {% if page.name != "create-statistics.md" %}of [`CREATE STATISTICS`]({% link {{ page.version.version }}/create-statistics.md %}){% endif %} does not support specifying an {% if page.name == "as-of-system-time.md" %}`AS OF SYSTEM TIME`{% else %}[`AS OF SYSTEM TIME`]({% link {{ page.version.version }}/as-of-system-time.md %}){% endif %} timestamp. `ANALYZE` statements use `AS OF SYSTEM TIME '-0.001ms'` automatically. For more control over the statistics interval, use the `CREATE STATISTICS` syntax instead. [#96430](https://github.com/cockroachdb/cockroach/issues/96430) \ No newline at end of file +The `ANALYZE` alias {% if page.name != "create-statistics.md" %}of [`CREATE STATISTICS`]({% link {{ page.version.version }}/create-statistics.md %}){% endif %} does not support specifying an {% if page.name == "as-of-system-time.md" %}`AS OF SYSTEM TIME`{% else %}[`AS OF SYSTEM TIME`]({% link {{ page.version.version }}/as-of-system-time.md %}){% endif %} timestamp. `ANALYZE` statements use `AS OF SYSTEM TIME '-0.001ms'` automatically. For more control over the statistics interval, use the `CREATE STATISTICS` syntax instead. #96430 \ No newline at end of file diff --git a/src/current/_includes/v24.3/known-limitations/drop-column-partial-index.md b/src/current/_includes/v24.3/known-limitations/drop-column-partial-index.md index 9fd1811cc43..fd28f0a96a2 100644 --- a/src/current/_includes/v24.3/known-limitations/drop-column-partial-index.md +++ b/src/current/_includes/v24.3/known-limitations/drop-column-partial-index.md @@ -1 +1 @@ -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 %}). [#97813](https://github.com/cockroachdb/cockroach/issues/97813). \ No newline at end of file +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 %}). #97813. \ No newline at end of file diff --git a/src/current/_includes/v24.3/known-limitations/drop-owned-by-limitations.md b/src/current/_includes/v24.3/known-limitations/drop-owned-by-limitations.md index 95685f6adf1..af99d4b7cfe 100644 --- a/src/current/_includes/v24.3/known-limitations/drop-owned-by-limitations.md +++ b/src/current/_includes/v24.3/known-limitations/drop-owned-by-limitations.md @@ -10,4 +10,4 @@ The phrase "synthetic privileges" in the error message refers to [system-level privileges]({% link {{ page.version.version }}/security-reference/authorization.md %}#supported-privileges). - The workaround is to use [`SHOW SYSTEM GRANTS FOR {role}`](show-system-grants.html) and then use [`REVOKE SYSTEM ...`](revoke.html#revoke-system-level-privileges-on-the-entire-cluster) for each privilege in the result. [#88149](https://github.com/cockroachdb/cockroach/issues/88149) \ No newline at end of file + The workaround is to use [`SHOW SYSTEM GRANTS FOR {role}`](show-system-grants.html) and then use [`REVOKE SYSTEM ...`](revoke.html#revoke-system-level-privileges-on-the-entire-cluster) for each privilege in the result. #88149 \ No newline at end of file diff --git a/src/current/_includes/v24.3/known-limitations/drop-trigger-limitations.md b/src/current/_includes/v24.3/known-limitations/drop-trigger-limitations.md index 90745f7e17a..2a633ccb369 100644 --- a/src/current/_includes/v24.3/known-limitations/drop-trigger-limitations.md +++ b/src/current/_includes/v24.3/known-limitations/drop-trigger-limitations.md @@ -1 +1 @@ -[`DROP TRIGGER`]({% link {{ page.version.version }}/drop-trigger.md %}) with `CASCADE` is not supported. [#128151](https://github.com/cockroachdb/cockroach/issues/128151) \ No newline at end of file +[`DROP TRIGGER`]({% link {{ page.version.version }}/drop-trigger.md %}) with `CASCADE` is not supported. #128151 \ No newline at end of file diff --git a/src/current/_includes/v24.3/known-limitations/expression-index-limitations.md b/src/current/_includes/v24.3/known-limitations/expression-index-limitations.md index c0e94185948..9487028791c 100644 --- a/src/current/_includes/v24.3/known-limitations/expression-index-limitations.md +++ b/src/current/_includes/v24.3/known-limitations/expression-index-limitations.md @@ -1,6 +1,6 @@ - The expression cannot reference columns outside the index's table. - Functional expression output must be determined by the input arguments. For example, you can't use the [volatile function]({% link {{ page.version.version }}/functions-and-operators.md %}#function-volatility) `now()` to create an index because its output depends on more than just the function arguments. -- 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 %}). [#67900](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 %}). #67900 - CockroachDB does not support expressions as `ON CONFLICT` targets. This means that unique {% if page.name == "expression-indexes.md" %} expression indexes {% else %} [expression indexes]({% link {{ page.version.version }}/expression-indexes.md %}) {% endif %} cannot be selected as arbiters for [`INSERT .. ON CONFLICT`]({% link {{ page.version.version }}/insert.md %}#on-conflict-clause) statements. For example: {% include_cached copy-clipboard.html %} @@ -40,4 +40,4 @@ HINT: try \h INSERT ~~~ - [#67893](https://github.com/cockroachdb/cockroach/issues/67893) + #67893 diff --git a/src/current/_includes/v24.3/known-limitations/forecasted-stats-limitations.md b/src/current/_includes/v24.3/known-limitations/forecasted-stats-limitations.md index c8753124a96..b5d03e8ffc5 100644 --- a/src/current/_includes/v24.3/known-limitations/forecasted-stats-limitations.md +++ b/src/current/_includes/v24.3/known-limitations/forecasted-stats-limitations.md @@ -6,4 +6,4 @@ Although [`SHOW STATISTICS WITH FORECAST`]({% link {{ page.version.version }}/show-statistics.md %}#display-forecasted-statistics) shows the settings taking effect immediately, they do not actually take effect until new statistics are collected (as can be verified with [`EXPLAIN`]({% link {{ page.version.version }}/explain.md %})). - As a workaround, disable and enable forecasting at the [cluster]({% link {{ page.version.version }}/cost-based-optimizer.md %}#enable-and-disable-automatic-statistics-collection-for-clusters) or [table]({% link {{ page.version.version }}/cost-based-optimizer.md %}#enable-and-disable-automatic-statistics-collection-for-tables) level. This will invalidate the statistics cache and cause these settings to take effect immediately. [#123852](https://github.com/cockroachdb/cockroach/issues/123852) \ No newline at end of file + As a workaround, disable and enable forecasting at the [cluster]({% link {{ page.version.version }}/cost-based-optimizer.md %}#enable-and-disable-automatic-statistics-collection-for-clusters) or [table]({% link {{ page.version.version }}/cost-based-optimizer.md %}#enable-and-disable-automatic-statistics-collection-for-tables) level. This will invalidate the statistics cache and cause these settings to take effect immediately. #123852 \ No newline at end of file diff --git a/src/current/_includes/v24.3/known-limitations/full-text-search-unsupported.md b/src/current/_includes/v24.3/known-limitations/full-text-search-unsupported.md index 7b5a83f2cae..2be666994f1 100644 --- a/src/current/_includes/v24.3/known-limitations/full-text-search-unsupported.md +++ b/src/current/_includes/v24.3/known-limitations/full-text-search-unsupported.md @@ -11,4 +11,4 @@ - `!! tsquery` comparisons. - `tsquery @> tsquery` and `tsquery <@ tsquery` comparisons. -[#41288](https://github.com/cockroachdb/cockroach/issues/41288) \ No newline at end of file +#41288 \ No newline at end of file diff --git a/src/current/_includes/v24.3/known-limitations/generic-query-plan-limitations.md b/src/current/_includes/v24.3/known-limitations/generic-query-plan-limitations.md index e28e66d5f32..03d72195334 100644 --- a/src/current/_includes/v24.3/known-limitations/generic-query-plan-limitations.md +++ b/src/current/_includes/v24.3/known-limitations/generic-query-plan-limitations.md @@ -1,2 +1,2 @@ -- Because [generic query plans]({% link {{ page.version.version }}/cost-based-optimizer.md %}#query-plan-cache) use lookup joins instead of the scans and revscans used by custom query plans, generic query plans do not perform as well as custom query plans in some cases. [#128916](https://github.com/cockroachdb/cockroach/issues/128916) -- [Generic query plans]({% link {{ page.version.version }}/cost-based-optimizer.md %}#query-plan-type) are not included in the [plan cache]({% link {{ page.version.version }}/cost-based-optimizer.md %}#query-plan-cache). This means a generic query plan built and optimized for a prepared statement in one session cannot be used by another session. To reuse generic query plans for maximum performance, a prepared statement should be executed multiple times instead of prepared and executed once. [#128911](https://github.com/cockroachdb/cockroach/issues/128911) \ No newline at end of file +- Because [generic query plans]({% link {{ page.version.version }}/cost-based-optimizer.md %}#query-plan-cache) use lookup joins instead of the scans and revscans used by custom query plans, generic query plans do not perform as well as custom query plans in some cases. #128916 +- [Generic query plans]({% link {{ page.version.version }}/cost-based-optimizer.md %}#query-plan-type) are not included in the [plan cache]({% link {{ page.version.version }}/cost-based-optimizer.md %}#query-plan-cache). This means a generic query plan built and optimized for a prepared statement in one session cannot be used by another session. To reuse generic query plans for maximum performance, a prepared statement should be executed multiple times instead of prepared and executed once. #128911 \ No newline at end of file diff --git a/src/current/_includes/v24.3/known-limitations/ldr-column-families.md b/src/current/_includes/v24.3/known-limitations/ldr-column-families.md index 2a7c3bbba52..0c9dcd74ae4 100644 --- a/src/current/_includes/v24.3/known-limitations/ldr-column-families.md +++ b/src/current/_includes/v24.3/known-limitations/ldr-column-families.md @@ -1 +1 @@ -Replicating tables cannot contain [column families]({% link {{ page.version.version }}/column-families.md %}). [#133562](https://github.com/cockroachdb/cockroach/issues/133562) \ No newline at end of file +Replicating tables cannot contain [column families]({% link {{ page.version.version }}/column-families.md %}). #133562 \ No newline at end of file diff --git a/src/current/_includes/v24.3/known-limitations/ldr-composite-primary.md b/src/current/_includes/v24.3/known-limitations/ldr-composite-primary.md index ac897af35a7..2a790952946 100644 --- a/src/current/_includes/v24.3/known-limitations/ldr-composite-primary.md +++ b/src/current/_includes/v24.3/known-limitations/ldr-composite-primary.md @@ -1 +1 @@ -The [primary key]({% link {{ page.version.version }}/primary-key.md %}) in replicating tables cannot contain composite types. [#133572](https://github.com/cockroachdb/cockroach/issues/133572) \ No newline at end of file +The [primary key]({% link {{ page.version.version }}/primary-key.md %}) in replicating tables cannot contain composite types. #133572 \ No newline at end of file diff --git a/src/current/_includes/v24.3/known-limitations/ldr-indexes.md b/src/current/_includes/v24.3/known-limitations/ldr-indexes.md index 0bf7f60c2d4..4936f9868bd 100644 --- a/src/current/_includes/v24.3/known-limitations/ldr-indexes.md +++ b/src/current/_includes/v24.3/known-limitations/ldr-indexes.md @@ -1 +1 @@ -Replicating tables cannot contain an [index]({% link {{ page.version.version }}/indexes.md %}) that requires expression evaluation before insertion. [#133560](https://github.com/cockroachdb/cockroach/issues/133560) \ No newline at end of file +Replicating tables cannot contain an [index]({% link {{ page.version.version }}/indexes.md %}) that requires expression evaluation before insertion. #133560 \ No newline at end of file diff --git a/src/current/_includes/v24.3/known-limitations/ldr-sequences.md b/src/current/_includes/v24.3/known-limitations/ldr-sequences.md index 4e39f3630e3..693c0cc685b 100644 --- a/src/current/_includes/v24.3/known-limitations/ldr-sequences.md +++ b/src/current/_includes/v24.3/known-limitations/ldr-sequences.md @@ -1 +1 @@ -Replicating table cannot reference [sequences]({% link {{ page.version.version }}/create-sequence.md %}). [#132303](https://github.com/cockroachdb/cockroach/issues/132303) \ No newline at end of file +Replicating table cannot reference [sequences]({% link {{ page.version.version }}/create-sequence.md %}). #132303 \ No newline at end of file diff --git a/src/current/_includes/v24.3/known-limitations/ldr-triggers.md b/src/current/_includes/v24.3/known-limitations/ldr-triggers.md index 55f8e885b97..a587568b69a 100644 --- a/src/current/_includes/v24.3/known-limitations/ldr-triggers.md +++ b/src/current/_includes/v24.3/known-limitations/ldr-triggers.md @@ -1 +1 @@ -Replicating tables cannot reference triggers. [#132301](https://github.com/cockroachdb/cockroach/issues/132301) \ No newline at end of file +Replicating tables cannot reference triggers. #132301 \ No newline at end of file diff --git a/src/current/_includes/v24.3/known-limitations/ldr-udfs.md b/src/current/_includes/v24.3/known-limitations/ldr-udfs.md index fb642f14751..62eea605b52 100644 --- a/src/current/_includes/v24.3/known-limitations/ldr-udfs.md +++ b/src/current/_includes/v24.3/known-limitations/ldr-udfs.md @@ -1 +1 @@ -Replicating tables cannot reference [user-defined functions]({% link {{ page.version.version }}/user-defined-functions.md %}). [#132302](https://github.com/cockroachdb/cockroach/issues/132302) \ No newline at end of file +Replicating tables cannot reference [user-defined functions]({% link {{ page.version.version }}/user-defined-functions.md %}). #132302 \ No newline at end of file diff --git a/src/current/_includes/v24.3/known-limitations/locality-optimized-search-virtual-computed-columns.md b/src/current/_includes/v24.3/known-limitations/locality-optimized-search-virtual-computed-columns.md index d6acf418aa8..39b3f2cb00e 100644 --- a/src/current/_includes/v24.3/known-limitations/locality-optimized-search-virtual-computed-columns.md +++ b/src/current/_includes/v24.3/known-limitations/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). [#68129](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). #68129 diff --git a/src/current/_includes/v24.3/known-limitations/materialized-views-no-stats.md b/src/current/_includes/v24.3/known-limitations/materialized-views-no-stats.md index 02f2bd787c4..2bfe00d5307 100644 --- a/src/current/_includes/v24.3/known-limitations/materialized-views-no-stats.md +++ b/src/current/_includes/v24.3/known-limitations/materialized-views-no-stats.md @@ -1 +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. [#78181](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. #78181. diff --git a/src/current/_includes/v24.3/known-limitations/multiple-arbiter-indexes.md b/src/current/_includes/v24.3/known-limitations/multiple-arbiter-indexes.md index c9861623314..28b41eca491 100644 --- a/src/current/_includes/v24.3/known-limitations/multiple-arbiter-indexes.md +++ b/src/current/_includes/v24.3/known-limitations/multiple-arbiter-indexes.md @@ -1 +1 @@ -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. [#53170](https://github.com/cockroachdb/cockroach/issues/53170) \ No newline at end of file +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. #53170 \ No newline at end of file diff --git a/src/current/_includes/v24.3/known-limitations/plpgsql-limitations.md b/src/current/_includes/v24.3/known-limitations/plpgsql-limitations.md index 83e47a0bdaa..3db60046bea 100644 --- a/src/current/_includes/v24.3/known-limitations/plpgsql-limitations.md +++ b/src/current/_includes/v24.3/known-limitations/plpgsql-limitations.md @@ -1,26 +1,26 @@ {% if page.name != "known-limitations.md" # New limitations in v24.2 %} {% endif %} -- It is not possible to use a variable as a target more than once in the same `INTO` clause. For example, `SELECT 1, 2 INTO x, x;`. [#121605](https://github.com/cockroachdb/cockroach/issues/121605) -- PLpgSQL variable declarations cannot inherit the type of a table row or column using `%TYPE` or `%ROWTYPE` syntax. [#114676](https://github.com/cockroachdb/cockroach/issues/114676) -- PL/pgSQL arguments cannot be referenced with ordinals (e.g., `$1`, `$2`). [#114701](https://github.com/cockroachdb/cockroach/issues/114701) +- It is not possible to use a variable as a target more than once in the same `INTO` clause. For example, `SELECT 1, 2 INTO x, x;`. #121605 +- PLpgSQL variable declarations cannot inherit the type of a table row or column using `%TYPE` or `%ROWTYPE` syntax. #114676 +- PL/pgSQL arguments cannot be referenced with ordinals (e.g., `$1`, `$2`). #114701 - The following statements are not supported: - - `FOR` cursor loops, `FOR` query loops, and `FOREACH` loops. [#105246](https://github.com/cockroachdb/cockroach/issues/105246) - - `RETURN NEXT` and `RETURN QUERY`. [#117744](https://github.com/cockroachdb/cockroach/issues/117744) - - `PERFORM`, `EXECUTE`, `GET DIAGNOSTICS`, and `CASE`. [#117744](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 %}). [#111446](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`). [#106237](https://github.com/cockroachdb/cockroach/issues/106237) -- `RAISE` statements message the client directly, and do not produce log output. [#117750](https://github.com/cockroachdb/cockroach/issues/117750) -- `ASSERT` debugging checks are not supported. [#117744](https://github.com/cockroachdb/cockroach/issues/117744) -- `RECORD` parameters and variables are not supported in [user-defined functions]({% link {{ page.version.version }}/user-defined-functions.md %}). [#105713](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. [#117508](https://github.com/cockroachdb/cockroach/issues/117508) -- Syntax for accessing members of composite types without parentheses is not supported. [#114687](https://github.com/cockroachdb/cockroach/issues/114687) -- `NOT NULL` variable declarations are not supported. [#105243](https://github.com/cockroachdb/cockroach/issues/105243) -- Cursors opened in PL/pgSQL execute their queries on opening, affecting performance and resource usage. [#111479](https://github.com/cockroachdb/cockroach/issues/111479) -- Cursors in PL/pgSQL cannot be declared with arguments. [#117746](https://github.com/cockroachdb/cockroach/issues/117746) -- `OPEN FOR EXECUTE` is not supported for opening cursors. [#117744](https://github.com/cockroachdb/cockroach/issues/117744) -- The `print_strict_params` option is not supported in PL/pgSQL. [#123671](https://github.com/cockroachdb/cockroach/issues/123671) -- The `FOUND` local variable, which checks whether a statement affected any rows, is not supported in PL/pgSQL. [#122306](https://github.com/cockroachdb/cockroach/issues/122306) -- By default, when a PL/pgSQL variable conflicts with a column name, CockroachDB resolves the ambiguity by treating it as a column reference rather than a variable reference. This behavior differs from PostgreSQL, where an ambiguous column error is reported, and it is possible to change the `plpgsql.variable_conflict` setting in order to prefer either columns or variables. [#115680](https://github.com/cockroachdb/cockroach/issues/115680) -- It is not possible to define a `RECORD`-returning PL/pgSQL function that returns different-typed expressions from different `RETURN` statements. CockroachDB requires a consistent return type for `RECORD`-returning functions. [#115384](https://github.com/cockroachdb/cockroach/issues/115384) -- Variables cannot be declared with an associated collation using the `COLLATE` keyword. [#105245](https://github.com/cockroachdb/cockroach/issues/105245) -- Variables cannot be accessed using the `label.var_name` pattern. [#122322](https://github.com/cockroachdb/cockroach/issues/122322) \ No newline at end of file + - `FOR` cursor loops, `FOR` query loops, and `FOREACH` loops. #105246 + - `RETURN NEXT` and `RETURN QUERY`. #117744 + - `PERFORM`, `EXECUTE`, `GET DIAGNOSTICS`, and `CASE`. #117744 +- PL/pgSQL exception blocks cannot catch [transaction retry errors]({% link {{ page.version.version }}/transaction-retry-error-reference.md %}). #111446 +- `RAISE` statements cannot be annotated with names of schema objects related to the error (i.e., using `COLUMN`, `CONSTRAINT`, `DATATYPE`, `TABLE`, or `SCHEMA`). #106237 +- `RAISE` statements message the client directly, and do not produce log output. #117750 +- `ASSERT` debugging checks are not supported. #117744 +- `RECORD` parameters and variables are not supported in [user-defined functions]({% link {{ page.version.version }}/user-defined-functions.md %}). #105713 +- Variable shadowing (e.g., declaring a variable with the same name in an inner block) is not supported in PL/pgSQL. #117508 +- Syntax for accessing members of composite types without parentheses is not supported. #114687 +- `NOT NULL` variable declarations are not supported. #105243 +- Cursors opened in PL/pgSQL execute their queries on opening, affecting performance and resource usage. #111479 +- Cursors in PL/pgSQL cannot be declared with arguments. #117746 +- `OPEN FOR EXECUTE` is not supported for opening cursors. #117744 +- The `print_strict_params` option is not supported in PL/pgSQL. #123671 +- The `FOUND` local variable, which checks whether a statement affected any rows, is not supported in PL/pgSQL. #122306 +- By default, when a PL/pgSQL variable conflicts with a column name, CockroachDB resolves the ambiguity by treating it as a column reference rather than a variable reference. This behavior differs from PostgreSQL, where an ambiguous column error is reported, and it is possible to change the `plpgsql.variable_conflict` setting in order to prefer either columns or variables. #115680 +- It is not possible to define a `RECORD`-returning PL/pgSQL function that returns different-typed expressions from different `RETURN` statements. CockroachDB requires a consistent return type for `RECORD`-returning functions. #115384 +- Variables cannot be declared with an associated collation using the `COLLATE` keyword. #105245 +- Variables cannot be accessed using the `label.var_name` pattern. #122322 \ No newline at end of file diff --git a/src/current/_includes/v24.3/known-limitations/read-committed-limitations.md b/src/current/_includes/v24.3/known-limitations/read-committed-limitations.md index 63f83b15dd8..1f466997ed8 100644 --- a/src/current/_includes/v24.3/known-limitations/read-committed-limitations.md +++ b/src/current/_includes/v24.3/known-limitations/read-committed-limitations.md @@ -1,6 +1,6 @@ -- 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 when the [`autocommit_before_ddl` session setting]({% link {{page.version.version}}/set-vars.md %}#autocommit-before-ddl) is set to `off`, 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`. [#114778](https://github.com/cockroachdb/cockroach/issues/114778) -- Multi-column-family checks during updates are not supported under `READ COMMITTED` isolation. [#112488](https://github.com/cockroachdb/cockroach/issues/112488) +- 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 when the [`autocommit_before_ddl` session setting]({% link {{page.version.version}}/set-vars.md %}#autocommit-before-ddl) is set to `off`, 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`. #114778 +- Multi-column-family checks during updates are not supported under `READ COMMITTED` isolation. #112488 - Because locks acquired by [foreign key]({% link {{ page.version.version }}/foreign-key.md %}) checks, [`SELECT FOR UPDATE`]({% link {{ page.version.version }}/select-for-update.md %}), and [`SELECT FOR SHARE`]({% link {{ page.version.version }}/select-for-update.md %}) are fully replicated under `READ COMMITTED` isolation, some queries experience a delay for Raft replication. - [Foreign key]({% link {{ page.version.version }}/foreign-key.md %}) checks are not performed in parallel under `READ COMMITTED` isolation. - [`SELECT FOR UPDATE` and `SELECT FOR SHARE`]({% link {{ page.version.version }}/select-for-update.md %}) statements are less optimized under `READ COMMITTED` isolation than under `SERIALIZABLE` isolation. Under `READ COMMITTED` isolation, `SELECT FOR UPDATE` and `SELECT FOR SHARE` usually perform an extra lookup join for every locked table when compared to the same queries under `SERIALIZABLE`. In addition, some optimization steps (such as de-correlation of correlated [subqueries]({% link {{ page.version.version }}/subqueries.md %})) are not currently performed on these queries. -- Regardless of isolation level, [`SELECT FOR UPDATE` and `SELECT FOR SHARE`]({% link {{ page.version.version }}/select-for-update.md %}) statements in CockroachDB do not prevent insertion of new rows matching the search condition (i.e., [phantom reads]({% link {{ page.version.version }}/read-committed.md %}#non-repeatable-reads-and-phantom-reads)). This matches PostgreSQL behavior at all isolation levels. [#120673](https://github.com/cockroachdb/cockroach/issues/120673) \ No newline at end of file +- Regardless of isolation level, [`SELECT FOR UPDATE` and `SELECT FOR SHARE`]({% link {{ page.version.version }}/select-for-update.md %}) statements in CockroachDB do not prevent insertion of new rows matching the search condition (i.e., [phantom reads]({% link {{ page.version.version }}/read-committed.md %}#non-repeatable-reads-and-phantom-reads)). This matches PostgreSQL behavior at all isolation levels. #120673 \ No newline at end of file diff --git a/src/current/_includes/v24.3/known-limitations/restore-multiregion-match.md b/src/current/_includes/v24.3/known-limitations/restore-multiregion-match.md index ab2f1029ecd..634d695246e 100644 --- a/src/current/_includes/v24.3/known-limitations/restore-multiregion-match.md +++ b/src/current/_includes/v24.3/known-limitations/restore-multiregion-match.md @@ -47,4 +47,4 @@ ALTER DATABASE destination_database SET PRIMARY REGION "us-east1"; ~~~ - [#71071](https://github.com/cockroachdb/cockroach/issues/71071) \ No newline at end of file + #71071 \ No newline at end of file diff --git a/src/current/_includes/v24.3/known-limitations/restore-tables-non-multi-reg.md b/src/current/_includes/v24.3/known-limitations/restore-tables-non-multi-reg.md index 5390f2d09ee..e05bc340141 100644 --- a/src/current/_includes/v24.3/known-limitations/restore-tables-non-multi-reg.md +++ b/src/current/_includes/v24.3/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. [#71502](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. #71502 diff --git a/src/current/_includes/v24.3/known-limitations/restore-udf.md b/src/current/_includes/v24.3/known-limitations/restore-udf.md index a4a4bc080fe..e4180219a25 100644 --- a/src/current/_includes/v24.3/known-limitations/restore-udf.md +++ b/src/current/_includes/v24.3/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. [#118195](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. #118195 \ No newline at end of file diff --git a/src/current/_includes/v24.3/known-limitations/routine-limitations.md b/src/current/_includes/v24.3/known-limitations/routine-limitations.md index 4718c6c7abf..fa16791b56a 100644 --- a/src/current/_includes/v24.3/known-limitations/routine-limitations.md +++ b/src/current/_includes/v24.3/known-limitations/routine-limitations.md @@ -1,10 +1,10 @@ {% if page.name != "known-limitations.md" # New limitations in v24.2 %} {% endif %} -- Routines cannot be invoked with named arguments, e.g., `SELECT foo(a => 1, b => 2);` or `SELECT foo(b := 1, a := 2);`. [#122264](https://github.com/cockroachdb/cockroach/issues/122264) -- Routines cannot be created if they reference temporary tables. [#121375](https://github.com/cockroachdb/cockroach/issues/121375) -- Routines cannot be created with unnamed `INOUT` parameters. For example, `CREATE PROCEDURE p(INOUT INT) AS $$ BEGIN NULL; END; $$ LANGUAGE PLpgSQL;`. [#121251](https://github.com/cockroachdb/cockroach/issues/121251) -- Routines cannot be created if they return fewer columns than declared. For example, `CREATE FUNCTION f(OUT sum INT, INOUT a INT, INOUT b INT) LANGUAGE SQL AS $$ SELECT (a + b, b); $$;`. [#121247](https://github.com/cockroachdb/cockroach/issues/121247) -- Routines cannot be created with an `OUT` parameter of type `RECORD`. [#123448](https://github.com/cockroachdb/cockroach/issues/123448) -- DDL statements (e.g., `CREATE TABLE`, `CREATE INDEX`) are not allowed within UDFs or stored procedures. [#110080](https://github.com/cockroachdb/cockroach/issues/110080) -- Polymorphic types cannot be cast to other types (e.g., `TEXT`) within routine parameters. [#123536](https://github.com/cockroachdb/cockroach/issues/123536) -- Routine parameters and return types cannot be declared using the `ANYENUM` polymorphic type, which is able to match any [`ENUM`]({% link {{ page.version.version }}/enum.md %}) type. [123048](https://github.com/cockroachdb/cockroach/issues/123048) \ No newline at end of file +- Routines cannot be invoked with named arguments, e.g., `SELECT foo(a => 1, b => 2);` or `SELECT foo(b := 1, a := 2);`. #122264 +- Routines cannot be created if they reference temporary tables. #121375 +- Routines cannot be created with unnamed `INOUT` parameters. For example, `CREATE PROCEDURE p(INOUT INT) AS $$ BEGIN NULL; END; $$ LANGUAGE PLpgSQL;`. #121251 +- Routines cannot be created if they return fewer columns than declared. For example, `CREATE FUNCTION f(OUT sum INT, INOUT a INT, INOUT b INT) LANGUAGE SQL AS $$ SELECT (a + b, b); $$;`. #121247 +- Routines cannot be created with an `OUT` parameter of type `RECORD`. #123448 +- DDL statements (e.g., `CREATE TABLE`, `CREATE INDEX`) are not allowed within UDFs or stored procedures. #110080 +- Polymorphic types cannot be cast to other types (e.g., `TEXT`) within routine parameters. #123536 +- Routine parameters and return types cannot be declared using the `ANYENUM` polymorphic type, which is able to match any [`ENUM`]({% link {{ page.version.version }}/enum.md %}) type. 123048 \ No newline at end of file diff --git a/src/current/_includes/v24.3/known-limitations/row-level-ttl-limitations.md b/src/current/_includes/v24.3/known-limitations/row-level-ttl-limitations.md index c386ba576d7..4460901566d 100644 --- a/src/current/_includes/v24.3/known-limitations/row-level-ttl-limitations.md +++ b/src/current/_includes/v24.3/known-limitations/row-level-ttl-limitations.md @@ -1,5 +1,5 @@ - Any queries you run against tables with Row-Level TTL enabled (or against tables that have [foreign keys]({% link {{page.version.version}}/foreign-key.md %}) that reference TTL-enabled tables) do not filter out expired rows from the result set (this includes [`UPDATE`s]({% link {{ page.version.version }}/update.md %}) and [`DELETE`s]({% link {{ page.version.version }}/delete.md %})). This feature may be added in a future release. For now, follow the instructions in [Filter out expired rows from a selection query]({% link {{ page.version.version }}/row-level-ttl.md %}#filter-out-expired-rows-from-a-selection-query). -- Tables with Row-Level TTL can be referenced by [foreign keys]({% link {{page.version.version}}/foreign-key.md %}). TTL deletes are issued as regular [`DELETE`]({% link {{ page.version.version }}/delete.md %}) statements, so inbound foreign keys apply. If an inbound foreign key uses `ON DELETE RESTRICT` and referencing rows exist, the TTL job fails with a foreign key violation. [#101372](https://github.com/cockroachdb/cockroach/issues/101372) +- Tables with Row-Level TTL can be referenced by [foreign keys]({% link {{page.version.version}}/foreign-key.md %}). TTL deletes are issued as regular [`DELETE`]({% link {{ page.version.version }}/delete.md %}) statements, so inbound foreign keys apply. If an inbound foreign key uses `ON DELETE RESTRICT` and referencing rows exist, the TTL job fails with a foreign key violation. #101372 - Enabling Row-Level TTL on a table with multiple [secondary indexes]({% link {{ page.version.version }}/indexes.md %}) can have negative performance impacts on a cluster, including increased [latency]({% link {{ page.version.version }}/common-issues-to-monitor.md %}#service-latency) and [contention]({% link {{ page.version.version }}/performance-best-practices-overview.md %}#transaction-contention). This is particularly true for large tables with terabytes of data and billions of rows that are split up into multiple ranges across separate nodes. - Increased latency may occur because secondary indexes aren't necessarily stored on the same underlying [ranges]({% link {{ page.version.version }}/architecture/overview.md %}#architecture-range) as a table's [primary indexes]({% link {{ page.version.version }}/indexes.md %}). Further, the secondary indexes' ranges may have [leaseholders]({% link {{ page.version.version }}/architecture/overview.md %}#architecture-leaseholder) located on different nodes than the primary index. - Increased contention may occur because [intents]({% link {{ page.version.version }}/architecture/transaction-layer.md %}#write-intents) must be written as part of performing the deletions. diff --git a/src/current/_includes/v24.3/known-limitations/select-for-update-limitations.md b/src/current/_includes/v24.3/known-limitations/select-for-update-limitations.md index 73aaf9fdeb6..210099bacd7 100644 --- a/src/current/_includes/v24.3/known-limitations/select-for-update-limitations.md +++ b/src/current/_includes/v24.3/known-limitations/select-for-update-limitations.md @@ -1,4 +1,4 @@ -- `SKIP LOCKED` cannot be used for tables with multiple [column families]({% link {{ page.version.version }}/column-families.md %}). [#160961](https://github.com/cockroachdb/cockroach/issues/160961) +- `SKIP LOCKED` cannot be used for tables with multiple [column families]({% link {{ page.version.version }}/column-families.md %}). #160961 - By default under `SERIALIZABLE` isolation, locks acquired using `SELECT ... FOR UPDATE` and `SELECT ... FOR SHARE` are implemented as fast, in-memory [unreplicated locks](architecture/transaction-layer.html#unreplicated-locks). If a [lease transfer]({% link {{ page.version.version }}/architecture/replication-layer.md %}#epoch-based-leases-table-data) or [range split/merge]({% link {{ page.version.version }}/architecture/distribution-layer.md %}#range-merges) occurs on a range held by an unreplicated lock, the lock is dropped. The following behaviors can occur: - 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`]({% link {{ page.version.version }}/transaction-retry-error-reference.md %}) and the [`restart transaction` error message]({% link {{ page.version.version }}/common-errors.md %}#restart-transaction). diff --git a/src/current/_includes/v24.3/known-limitations/set-transaction-no-rollback.md b/src/current/_includes/v24.3/known-limitations/set-transaction-no-rollback.md index 414cbac6282..5f0145c05c4 100644 --- a/src/current/_includes/v24.3/known-limitations/set-transaction-no-rollback.md +++ b/src/current/_includes/v24.3/known-limitations/set-transaction-no-rollback.md @@ -14,4 +14,4 @@ timezone 3 ~~~ -[#69396](https://github.com/cockroachdb/cockroach/issues/69396) +#69396 diff --git a/src/current/_includes/v24.3/known-limitations/show-backup-symlink.md b/src/current/_includes/v24.3/known-limitations/show-backup-symlink.md index 38ba86fb28f..1c7a5612242 100644 --- a/src/current/_includes/v24.3/known-limitations/show-backup-symlink.md +++ b/src/current/_includes/v24.3/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. [#70260](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. #70260 \ No newline at end of file diff --git a/src/current/_includes/v24.3/known-limitations/sql-cursors.md b/src/current/_includes/v24.3/known-limitations/sql-cursors.md index 4c047aa9603..93bbca937b1 100644 --- a/src/current/_includes/v24.3/known-limitations/sql-cursors.md +++ b/src/current/_includes/v24.3/known-limitations/sql-cursors.md @@ -1,9 +1,9 @@ CockroachDB implements SQL {% if page.name == "known-limitations.md" %} [cursor]({% link {{ page.version.version }}/cursors.md %}) {% else %} cursor {% endif %} support with the following limitations: -- `DECLARE` only supports forward cursors. Reverse cursors created with `DECLARE SCROLL` are not supported. [#77102](https://github.com/cockroachdb/cockroach/issues/77102) -- `FETCH` supports forward, relative, and absolute variants, but only for forward cursors. [#77102](https://github.com/cockroachdb/cockroach/issues/77102) -- `BINARY CURSOR`, which returns data in the Postgres binary format, is not supported. [#77099](https://github.com/cockroachdb/cockroach/issues/77099) -- `WITH HOLD`, which allows keeping a cursor open for longer than a transaction by writing its results into a buffer, is accepted as valid syntax within a single transaction but is not supported. It acts as a no-op and does not actually perform the function of `WITH HOLD`, which is to make the cursor live outside its parent transaction. Instead, if you are using `WITH HOLD`, you will be forced to close that cursor within the transaction it was created in. [#77101](https://github.com/cockroachdb/cockroach/issues/77101) +- `DECLARE` only supports forward cursors. Reverse cursors created with `DECLARE SCROLL` are not supported. #77102 +- `FETCH` supports forward, relative, and absolute variants, but only for forward cursors. #77102 +- `BINARY CURSOR`, which returns data in the Postgres binary format, is not supported. #77099 +- `WITH HOLD`, which allows keeping a cursor open for longer than a transaction by writing its results into a buffer, is accepted as valid syntax within a single transaction but is not supported. It acts as a no-op and does not actually perform the function of `WITH HOLD`, which is to make the cursor live outside its parent transaction. Instead, if you are using `WITH HOLD`, you will be forced to close that cursor within the transaction it was created in. #77101 - This syntax is accepted (but does not have any effect): {% include_cached copy-clipboard.html %} ~~~ sql @@ -19,6 +19,6 @@ CockroachDB implements SQL {% if page.name == "known-limitations.md" %} [cursor] DECLARE test_cur CURSOR WITH HOLD FOR SELECT * FROM foo ORDER BY bar; COMMIT; -- This will fail with an error because CLOSE test_cur was not called inside the transaction. ~~~ -- Scrollable cursor (also known as reverse `FETCH`) is not supported. [#77102](https://github.com/cockroachdb/cockroach/issues/77102) -- [`SELECT ... FOR UPDATE`]({% link {{ page.version.version }}/select-for-update.md %}) with a cursor is not supported. [#77103](https://github.com/cockroachdb/cockroach/issues/77103) -- Respect for [`SAVEPOINT`s]({% link {{ page.version.version }}/savepoint.md %}) is not supported. Cursor definitions do not disappear properly if rolled back to a `SAVEPOINT` from before they were created. [#77104](https://github.com/cockroachdb/cockroach/issues/77104) +- Scrollable cursor (also known as reverse `FETCH`) is not supported. #77102 +- [`SELECT ... FOR UPDATE`]({% link {{ page.version.version }}/select-for-update.md %}) with a cursor is not supported. #77103 +- Respect for [`SAVEPOINT`s]({% link {{ page.version.version }}/savepoint.md %}) is not supported. Cursor definitions do not disappear properly if rolled back to a `SAVEPOINT` from before they were created. #77104 diff --git a/src/current/_includes/v24.3/known-limitations/srid-4326-limitations.md b/src/current/_includes/v24.3/known-limitations/srid-4326-limitations.md index b556a9fbecd..294a1a53bd4 100644 --- a/src/current/_includes/v24.3/known-limitations/srid-4326-limitations.md +++ b/src/current/_includes/v24.3/known-limitations/srid-4326-limitations.md @@ -1 +1 @@ -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. [#55903](https://github.com/cockroachdb/cockroach/issues/55903) \ No newline at end of file +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. #55903 \ No newline at end of file diff --git a/src/current/_includes/v24.3/known-limitations/stats-refresh-upgrade.md b/src/current/_includes/v24.3/known-limitations/stats-refresh-upgrade.md index 3d5a8d26325..3325dfaa53b 100644 --- a/src/current/_includes/v24.3/known-limitations/stats-refresh-upgrade.md +++ b/src/current/_includes/v24.3/known-limitations/stats-refresh-upgrade.md @@ -1 +1 @@ -- The [automatic statistics refresher]({% link {{ page.version.version }}/cost-based-optimizer.md %}#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]({% link {{ page.version.version }}/upgrade-cockroach-version.md %}). This could cause a problem, for example, if the upgrade moves from a version without [histograms]({% link {{ page.version.version }}/cost-based-optimizer.md %}#control-histogram-collection) to a version with histograms. To refresh statistics manually, use [`CREATE STATISTICS`](create-statistics.html). [#54816](https://github.com/cockroachdb/cockroach/issues/54816) +- The [automatic statistics refresher]({% link {{ page.version.version }}/cost-based-optimizer.md %}#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]({% link {{ page.version.version }}/upgrade-cockroach-version.md %}). This could cause a problem, for example, if the upgrade moves from a version without [histograms]({% link {{ page.version.version }}/cost-based-optimizer.md %}#control-histogram-collection) to a version with histograms. To refresh statistics manually, use [`CREATE STATISTICS`](create-statistics.html). #54816 diff --git a/src/current/_includes/v24.3/known-limitations/stored-proc-limitations.md b/src/current/_includes/v24.3/known-limitations/stored-proc-limitations.md index b2ba1b61562..bce2e47d6b8 100644 --- a/src/current/_includes/v24.3/known-limitations/stored-proc-limitations.md +++ b/src/current/_includes/v24.3/known-limitations/stored-proc-limitations.md @@ -1,3 +1,3 @@ {% if page.name != "known-limitations.md" # New limitations in v24.2 %} {% endif %} -- `COMMIT` and `ROLLBACK` statements are not supported within nested procedures. [#122266](https://github.com/cockroachdb/cockroach/issues/122266) \ No newline at end of file +- `COMMIT` and `ROLLBACK` statements are not supported within nested procedures. #122266 \ No newline at end of file diff --git a/src/current/_includes/v24.3/known-limitations/trigger-limitations.md b/src/current/_includes/v24.3/known-limitations/trigger-limitations.md index 7373cd486e7..f2514d24113 100644 --- a/src/current/_includes/v24.3/known-limitations/trigger-limitations.md +++ b/src/current/_includes/v24.3/known-limitations/trigger-limitations.md @@ -1,6 +1,6 @@ -- `CREATE OR REPLACE TRIGGER` is not supported. [#128422](https://github.com/cockroachdb/cockroach/issues/128422) -- Statement-level triggers are not supported. [#126362](https://github.com/cockroachdb/cockroach/issues/126362) -- `INSTEAD OF` triggers are not supported. [#126363](https://github.com/cockroachdb/cockroach/issues/126363) -- A [trigger function]({% link {{ page.version.version }}/triggers.md %}#trigger-function) that is used in an existing trigger cannot be replaced with `CREATE OR REPLACE` syntax. To use `CREATE OR REPLACE`, first [drop any triggers]({% link {{ page.version.version }}/drop-trigger.md %}) that are using the function. [#134555](https://github.com/cockroachdb/cockroach/issues/134555) -- Hidden columns are not visible to triggers. [#133331](https://github.com/cockroachdb/cockroach/issues/133331) +- `CREATE OR REPLACE TRIGGER` is not supported. #128422 +- Statement-level triggers are not supported. #126362 +- `INSTEAD OF` triggers are not supported. #126363 +- A [trigger function]({% link {{ page.version.version }}/triggers.md %}#trigger-function) that is used in an existing trigger cannot be replaced with `CREATE OR REPLACE` syntax. To use `CREATE OR REPLACE`, first [drop any triggers]({% link {{ page.version.version }}/drop-trigger.md %}) that are using the function. #134555 +- Hidden columns are not visible to triggers. #133331 - {% include {{ page.version.version }}/known-limitations/drop-trigger-limitations.md %} \ No newline at end of file diff --git a/src/current/_includes/v24.3/known-limitations/trigram-unsupported-syntax.md b/src/current/_includes/v24.3/known-limitations/trigram-unsupported-syntax.md index 494730c7ae8..a981c4915b0 100644 --- a/src/current/_includes/v24.3/known-limitations/trigram-unsupported-syntax.md +++ b/src/current/_includes/v24.3/known-limitations/trigram-unsupported-syntax.md @@ -6,4 +6,4 @@ - Acceleration on [regex string matching]({% link {{ page.version.version }}/scalar-expressions.md %}#string-matching-using-posix-regular-expressions). - `%` comparisons, `show_trgm`, and trigram index creation on [collated strings]({% link {{ page.version.version }}/collate.md %}). -[#41285](https://github.com/cockroachdb/cockroach/issues/41285) \ No newline at end of file +#41285 \ No newline at end of file diff --git a/src/current/_includes/v24.3/known-limitations/udf-limitations.md b/src/current/_includes/v24.3/known-limitations/udf-limitations.md index 57011914407..e0cbfd9bd7e 100644 --- a/src/current/_includes/v24.3/known-limitations/udf-limitations.md +++ b/src/current/_includes/v24.3/known-limitations/udf-limitations.md @@ -1,10 +1,10 @@ {% if page.name != "known-limitations.md" # New limitations in v24.2 %} {% endif %} -- A `RECORD`-returning UDF cannot be created without a `RETURN` statement in the root block, which would restrict the wildcard type to a concrete one. [#122945](https://github.com/cockroachdb/cockroach/issues/122945) +- A `RECORD`-returning UDF cannot be created without a `RETURN` statement in the root block, which would restrict the wildcard type to a concrete one. #122945 - User-defined functions are not currently supported in: - - Expressions (column, index, constraint) in tables. [#87699](https://github.com/cockroachdb/cockroach/issues/87699) - - Views. [#87699](https://github.com/cockroachdb/cockroach/issues/87699) -- User-defined functions cannot call themselves recursively. [#93049](https://github.com/cockroachdb/cockroach/issues/93049) -- [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. [#92961](https://github.com/cockroachdb/cockroach/issues/92961) -- The `setval` function cannot be resolved when used inside UDF bodies. [#110860](https://github.com/cockroachdb/cockroach/issues/110860) -- Casting subqueries to [user-defined types]({% link {{ page.version.version }}/create-type.md %}) in UDFs is not supported. [#108184](https://github.com/cockroachdb/cockroach/issues/108184) \ No newline at end of file + - Expressions (column, index, constraint) in tables. #87699 + - Views. #87699 +- User-defined functions cannot call themselves recursively. #93049 +- [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. #92961 +- The `setval` function cannot be resolved when used inside UDF bodies. #110860 +- Casting subqueries to [user-defined types]({% link {{ page.version.version }}/create-type.md %}) in UDFs is not supported. #108184 \ No newline at end of file diff --git a/src/current/_includes/v24.3/known-limitations/vectorized-engine-limitations.md b/src/current/_includes/v24.3/known-limitations/vectorized-engine-limitations.md index daea59ebf88..da227ad4825 100644 --- a/src/current/_includes/v24.3/known-limitations/vectorized-engine-limitations.md +++ b/src/current/_includes/v24.3/known-limitations/vectorized-engine-limitations.md @@ -1,2 +1,2 @@ -- The vectorized engine does not support queries containing a join filtered with an [`ON` expression]({% link {{ page.version.version }}/joins.md %}#supported-join-conditions). [#38018](https://github.com/cockroachdb/cockroach/issues/38018) +- The vectorized engine does not support queries containing a join filtered with an [`ON` expression]({% link {{ page.version.version }}/joins.md %}#supported-join-conditions). #38018 - 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/_includes/v25.1/known-limitations/alter-changefeed-cdc-queries.md b/src/current/_includes/v25.1/known-limitations/alter-changefeed-cdc-queries.md index 56dd7eeaacd..4134b3c9f86 100644 --- a/src/current/_includes/v25.1/known-limitations/alter-changefeed-cdc-queries.md +++ b/src/current/_includes/v25.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. [#83033](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. #83033 \ No newline at end of file diff --git a/src/current/_includes/v25.1/known-limitations/alter-changefeed-limitations.md b/src/current/_includes/v25.1/known-limitations/alter-changefeed-limitations.md index a183f2964f4..cb75ad71c55 100644 --- a/src/current/_includes/v25.1/known-limitations/alter-changefeed-limitations.md +++ b/src/current/_includes/v25.1/known-limitations/alter-changefeed-limitations.md @@ -1,4 +1,4 @@ -- It is necessary to [`PAUSE`]({% link {{ page.version.version }}/pause-job.md %}) the changefeed before performing any [`ALTER CHANGEFEED`]({% link {{ page.version.version }}/alter-changefeed.md %}) statement. [#77171](https://github.com/cockroachdb/cockroach/issues/77171) +- It is necessary to [`PAUSE`]({% link {{ page.version.version }}/pause-job.md %}) the changefeed before performing any [`ALTER CHANGEFEED`]({% link {{ page.version.version }}/alter-changefeed.md %}) statement. #77171 - 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: ~~~ sql diff --git a/src/current/_includes/v25.1/known-limitations/alter-view-limitations.md b/src/current/_includes/v25.1/known-limitations/alter-view-limitations.md index 642bed6ce08..e44921629ff 100644 --- a/src/current/_includes/v25.1/known-limitations/alter-view-limitations.md +++ b/src/current/_includes/v25.1/known-limitations/alter-view-limitations.md @@ -1,4 +1,4 @@ `ALTER VIEW` 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. [#10083](https://github.com/cockroachdb/cockroach/issues/10083) \ No newline at end of file +- Renaming a view that other views depend on. This feature may be added in the future. #10083 \ No newline at end of file diff --git a/src/current/_includes/v25.1/known-limitations/aost-limitations.md b/src/current/_includes/v25.1/known-limitations/aost-limitations.md index 811c884d08d..c42e62800d3 100644 --- a/src/current/_includes/v25.1/known-limitations/aost-limitations.md +++ b/src/current/_includes/v25.1/known-limitations/aost-limitations.md @@ -1 +1 @@ -CockroachDB does not support placeholders in {% if page.name == "as-of-system-time.md" %}`AS OF SYSTEM TIME`{% else %}[`AS OF SYSTEM TIME`]({% link {{ page.version.version }}/as-of-system-time.md %}){% endif %}. The time value must be a constant value embedded in the SQL string. [#30955](https://github.com/cockroachdb/cockroach/issues/30955) \ No newline at end of file +CockroachDB does not support placeholders in {% if page.name == "as-of-system-time.md" %}`AS OF SYSTEM TIME`{% else %}[`AS OF SYSTEM TIME`]({% link {{ page.version.version }}/as-of-system-time.md %}){% endif %}. The time value must be a constant value embedded in the SQL string. #30955 \ No newline at end of file diff --git a/src/current/_includes/v25.1/known-limitations/cannot-refresh-materialized-views-inside-transactions.md b/src/current/_includes/v25.1/known-limitations/cannot-refresh-materialized-views-inside-transactions.md index b0aaf728177..2f6fe466a95 100644 --- a/src/current/_includes/v25.1/known-limitations/cannot-refresh-materialized-views-inside-transactions.md +++ b/src/current/_includes/v25.1/known-limitations/cannot-refresh-materialized-views-inside-transactions.md @@ -24,4 +24,4 @@ SQLSTATE: 25000 ~~~ - [#66008](https://github.com/cockroachdb/cockroach/issues/66008) + #66008 diff --git a/src/current/_includes/v25.1/known-limitations/cdc-queries-column-families.md b/src/current/_includes/v25.1/known-limitations/cdc-queries-column-families.md index 505a8c9700e..52bdabec236 100644 --- a/src/current/_includes/v25.1/known-limitations/cdc-queries-column-families.md +++ b/src/current/_includes/v25.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. [#127761](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. #127761 \ No newline at end of file diff --git a/src/current/_includes/v25.1/known-limitations/cdc-queries.md b/src/current/_includes/v25.1/known-limitations/cdc-queries.md index 2839eba5eda..552900531b0 100644 --- a/src/current/_includes/v25.1/known-limitations/cdc-queries.md +++ b/src/current/_includes/v25.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). [#98237](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. [#83835](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). #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. #83835 diff --git a/src/current/_includes/v25.1/known-limitations/cdc.md b/src/current/_includes/v25.1/known-limitations/cdc.md index a473e94367c..0a3914da8bd 100644 --- a/src/current/_includes/v25.1/known-limitations/cdc.md +++ b/src/current/_includes/v25.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 %}). [#73435](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 %}). #73435 - {% 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 %}#insecure-tls-skip-verify) parameter when testing to disable certificate verification; however, this still requires HTTPS and certificates. [#73431](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. [#73432](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) 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. [#79452](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 %}#insecure-tls-skip-verify) parameter when testing to disable certificate verification; however, this still requires HTTPS and certificates. #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. #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) 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. #79452 - {% 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/v25.1/known-limitations/changefeed-column-family-message.md b/src/current/_includes/v25.1/known-limitations/changefeed-column-family-message.md index 41744b9b4b4..e77b6cc51e0 100644 --- a/src/current/_includes/v25.1/known-limitations/changefeed-column-family-message.md +++ b/src/current/_includes/v25.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. [#127736](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. #127736 \ No newline at end of file diff --git a/src/current/_includes/v25.1/known-limitations/copy-syntax.md b/src/current/_includes/v25.1/known-limitations/copy-syntax.md index e64a075dcac..bd2e56e1c25 100644 --- a/src/current/_includes/v25.1/known-limitations/copy-syntax.md +++ b/src/current/_includes/v25.1/known-limitations/copy-syntax.md @@ -1,5 +1,5 @@ CockroachDB does not yet support the following `COPY` syntax: - - `COPY ... WITH FREEZE`. [#85573](https://github.com/cockroachdb/cockroach/issues/85573) - - `COPY ... WITH QUOTE`. [#85574](https://github.com/cockroachdb/cockroach/issues/85574) - - `COPY ... FROM ... WHERE `. [#54580](https://github.com/cockroachdb/cockroach/issues/54580) + - `COPY ... WITH FREEZE`. #85573 + - `COPY ... WITH QUOTE`. #85574 + - `COPY ... FROM ... WHERE `. #54580 diff --git a/src/current/_includes/v25.1/known-limitations/create-statistics-aost-limitation.md b/src/current/_includes/v25.1/known-limitations/create-statistics-aost-limitation.md index 09f86f51c48..d318ce338be 100644 --- a/src/current/_includes/v25.1/known-limitations/create-statistics-aost-limitation.md +++ b/src/current/_includes/v25.1/known-limitations/create-statistics-aost-limitation.md @@ -1 +1 @@ -The `ANALYZE` alias {% if page.name != "create-statistics.md" %}of [`CREATE STATISTICS`]({% link {{ page.version.version }}/create-statistics.md %}){% endif %} does not support specifying an {% if page.name == "as-of-system-time.md" %}`AS OF SYSTEM TIME`{% else %}[`AS OF SYSTEM TIME`]({% link {{ page.version.version }}/as-of-system-time.md %}){% endif %} timestamp. `ANALYZE` statements use `AS OF SYSTEM TIME '-0.001ms'` automatically. For more control over the statistics interval, use the `CREATE STATISTICS` syntax instead. [#96430](https://github.com/cockroachdb/cockroach/issues/96430) \ No newline at end of file +The `ANALYZE` alias {% if page.name != "create-statistics.md" %}of [`CREATE STATISTICS`]({% link {{ page.version.version }}/create-statistics.md %}){% endif %} does not support specifying an {% if page.name == "as-of-system-time.md" %}`AS OF SYSTEM TIME`{% else %}[`AS OF SYSTEM TIME`]({% link {{ page.version.version }}/as-of-system-time.md %}){% endif %} timestamp. `ANALYZE` statements use `AS OF SYSTEM TIME '-0.001ms'` automatically. For more control over the statistics interval, use the `CREATE STATISTICS` syntax instead. #96430 \ No newline at end of file diff --git a/src/current/_includes/v25.1/known-limitations/drop-column-partial-index.md b/src/current/_includes/v25.1/known-limitations/drop-column-partial-index.md index 9fd1811cc43..fd28f0a96a2 100644 --- a/src/current/_includes/v25.1/known-limitations/drop-column-partial-index.md +++ b/src/current/_includes/v25.1/known-limitations/drop-column-partial-index.md @@ -1 +1 @@ -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 %}). [#97813](https://github.com/cockroachdb/cockroach/issues/97813). \ No newline at end of file +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 %}). #97813. \ No newline at end of file diff --git a/src/current/_includes/v25.1/known-limitations/drop-owned-by-limitations.md b/src/current/_includes/v25.1/known-limitations/drop-owned-by-limitations.md index 95685f6adf1..af99d4b7cfe 100644 --- a/src/current/_includes/v25.1/known-limitations/drop-owned-by-limitations.md +++ b/src/current/_includes/v25.1/known-limitations/drop-owned-by-limitations.md @@ -10,4 +10,4 @@ The phrase "synthetic privileges" in the error message refers to [system-level privileges]({% link {{ page.version.version }}/security-reference/authorization.md %}#supported-privileges). - The workaround is to use [`SHOW SYSTEM GRANTS FOR {role}`](show-system-grants.html) and then use [`REVOKE SYSTEM ...`](revoke.html#revoke-system-level-privileges-on-the-entire-cluster) for each privilege in the result. [#88149](https://github.com/cockroachdb/cockroach/issues/88149) \ No newline at end of file + The workaround is to use [`SHOW SYSTEM GRANTS FOR {role}`](show-system-grants.html) and then use [`REVOKE SYSTEM ...`](revoke.html#revoke-system-level-privileges-on-the-entire-cluster) for each privilege in the result. #88149 \ No newline at end of file diff --git a/src/current/_includes/v25.1/known-limitations/drop-trigger-limitations.md b/src/current/_includes/v25.1/known-limitations/drop-trigger-limitations.md index 90745f7e17a..2a633ccb369 100644 --- a/src/current/_includes/v25.1/known-limitations/drop-trigger-limitations.md +++ b/src/current/_includes/v25.1/known-limitations/drop-trigger-limitations.md @@ -1 +1 @@ -[`DROP TRIGGER`]({% link {{ page.version.version }}/drop-trigger.md %}) with `CASCADE` is not supported. [#128151](https://github.com/cockroachdb/cockroach/issues/128151) \ No newline at end of file +[`DROP TRIGGER`]({% link {{ page.version.version }}/drop-trigger.md %}) with `CASCADE` is not supported. #128151 \ No newline at end of file diff --git a/src/current/_includes/v25.1/known-limitations/expression-index-limitations.md b/src/current/_includes/v25.1/known-limitations/expression-index-limitations.md index c0e94185948..9487028791c 100644 --- a/src/current/_includes/v25.1/known-limitations/expression-index-limitations.md +++ b/src/current/_includes/v25.1/known-limitations/expression-index-limitations.md @@ -1,6 +1,6 @@ - The expression cannot reference columns outside the index's table. - Functional expression output must be determined by the input arguments. For example, you can't use the [volatile function]({% link {{ page.version.version }}/functions-and-operators.md %}#function-volatility) `now()` to create an index because its output depends on more than just the function arguments. -- 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 %}). [#67900](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 %}). #67900 - CockroachDB does not support expressions as `ON CONFLICT` targets. This means that unique {% if page.name == "expression-indexes.md" %} expression indexes {% else %} [expression indexes]({% link {{ page.version.version }}/expression-indexes.md %}) {% endif %} cannot be selected as arbiters for [`INSERT .. ON CONFLICT`]({% link {{ page.version.version }}/insert.md %}#on-conflict-clause) statements. For example: {% include_cached copy-clipboard.html %} @@ -40,4 +40,4 @@ HINT: try \h INSERT ~~~ - [#67893](https://github.com/cockroachdb/cockroach/issues/67893) + #67893 diff --git a/src/current/_includes/v25.1/known-limitations/forecasted-stats-limitations.md b/src/current/_includes/v25.1/known-limitations/forecasted-stats-limitations.md index c8753124a96..b5d03e8ffc5 100644 --- a/src/current/_includes/v25.1/known-limitations/forecasted-stats-limitations.md +++ b/src/current/_includes/v25.1/known-limitations/forecasted-stats-limitations.md @@ -6,4 +6,4 @@ Although [`SHOW STATISTICS WITH FORECAST`]({% link {{ page.version.version }}/show-statistics.md %}#display-forecasted-statistics) shows the settings taking effect immediately, they do not actually take effect until new statistics are collected (as can be verified with [`EXPLAIN`]({% link {{ page.version.version }}/explain.md %})). - As a workaround, disable and enable forecasting at the [cluster]({% link {{ page.version.version }}/cost-based-optimizer.md %}#enable-and-disable-automatic-statistics-collection-for-clusters) or [table]({% link {{ page.version.version }}/cost-based-optimizer.md %}#enable-and-disable-automatic-statistics-collection-for-tables) level. This will invalidate the statistics cache and cause these settings to take effect immediately. [#123852](https://github.com/cockroachdb/cockroach/issues/123852) \ No newline at end of file + As a workaround, disable and enable forecasting at the [cluster]({% link {{ page.version.version }}/cost-based-optimizer.md %}#enable-and-disable-automatic-statistics-collection-for-clusters) or [table]({% link {{ page.version.version }}/cost-based-optimizer.md %}#enable-and-disable-automatic-statistics-collection-for-tables) level. This will invalidate the statistics cache and cause these settings to take effect immediately. #123852 \ No newline at end of file diff --git a/src/current/_includes/v25.1/known-limitations/full-text-search-unsupported.md b/src/current/_includes/v25.1/known-limitations/full-text-search-unsupported.md index 7b5a83f2cae..2be666994f1 100644 --- a/src/current/_includes/v25.1/known-limitations/full-text-search-unsupported.md +++ b/src/current/_includes/v25.1/known-limitations/full-text-search-unsupported.md @@ -11,4 +11,4 @@ - `!! tsquery` comparisons. - `tsquery @> tsquery` and `tsquery <@ tsquery` comparisons. -[#41288](https://github.com/cockroachdb/cockroach/issues/41288) \ No newline at end of file +#41288 \ No newline at end of file diff --git a/src/current/_includes/v25.1/known-limitations/generic-query-plan-limitations.md b/src/current/_includes/v25.1/known-limitations/generic-query-plan-limitations.md index e28e66d5f32..03d72195334 100644 --- a/src/current/_includes/v25.1/known-limitations/generic-query-plan-limitations.md +++ b/src/current/_includes/v25.1/known-limitations/generic-query-plan-limitations.md @@ -1,2 +1,2 @@ -- Because [generic query plans]({% link {{ page.version.version }}/cost-based-optimizer.md %}#query-plan-cache) use lookup joins instead of the scans and revscans used by custom query plans, generic query plans do not perform as well as custom query plans in some cases. [#128916](https://github.com/cockroachdb/cockroach/issues/128916) -- [Generic query plans]({% link {{ page.version.version }}/cost-based-optimizer.md %}#query-plan-type) are not included in the [plan cache]({% link {{ page.version.version }}/cost-based-optimizer.md %}#query-plan-cache). This means a generic query plan built and optimized for a prepared statement in one session cannot be used by another session. To reuse generic query plans for maximum performance, a prepared statement should be executed multiple times instead of prepared and executed once. [#128911](https://github.com/cockroachdb/cockroach/issues/128911) \ No newline at end of file +- Because [generic query plans]({% link {{ page.version.version }}/cost-based-optimizer.md %}#query-plan-cache) use lookup joins instead of the scans and revscans used by custom query plans, generic query plans do not perform as well as custom query plans in some cases. #128916 +- [Generic query plans]({% link {{ page.version.version }}/cost-based-optimizer.md %}#query-plan-type) are not included in the [plan cache]({% link {{ page.version.version }}/cost-based-optimizer.md %}#query-plan-cache). This means a generic query plan built and optimized for a prepared statement in one session cannot be used by another session. To reuse generic query plans for maximum performance, a prepared statement should be executed multiple times instead of prepared and executed once. #128911 \ No newline at end of file diff --git a/src/current/_includes/v25.1/known-limitations/ldr-column-families.md b/src/current/_includes/v25.1/known-limitations/ldr-column-families.md index 2a7c3bbba52..0c9dcd74ae4 100644 --- a/src/current/_includes/v25.1/known-limitations/ldr-column-families.md +++ b/src/current/_includes/v25.1/known-limitations/ldr-column-families.md @@ -1 +1 @@ -Replicating tables cannot contain [column families]({% link {{ page.version.version }}/column-families.md %}). [#133562](https://github.com/cockroachdb/cockroach/issues/133562) \ No newline at end of file +Replicating tables cannot contain [column families]({% link {{ page.version.version }}/column-families.md %}). #133562 \ No newline at end of file diff --git a/src/current/_includes/v25.1/known-limitations/ldr-composite-primary.md b/src/current/_includes/v25.1/known-limitations/ldr-composite-primary.md index ac897af35a7..2a790952946 100644 --- a/src/current/_includes/v25.1/known-limitations/ldr-composite-primary.md +++ b/src/current/_includes/v25.1/known-limitations/ldr-composite-primary.md @@ -1 +1 @@ -The [primary key]({% link {{ page.version.version }}/primary-key.md %}) in replicating tables cannot contain composite types. [#133572](https://github.com/cockroachdb/cockroach/issues/133572) \ No newline at end of file +The [primary key]({% link {{ page.version.version }}/primary-key.md %}) in replicating tables cannot contain composite types. #133572 \ No newline at end of file diff --git a/src/current/_includes/v25.1/known-limitations/ldr-indexes.md b/src/current/_includes/v25.1/known-limitations/ldr-indexes.md index 0bf7f60c2d4..4936f9868bd 100644 --- a/src/current/_includes/v25.1/known-limitations/ldr-indexes.md +++ b/src/current/_includes/v25.1/known-limitations/ldr-indexes.md @@ -1 +1 @@ -Replicating tables cannot contain an [index]({% link {{ page.version.version }}/indexes.md %}) that requires expression evaluation before insertion. [#133560](https://github.com/cockroachdb/cockroach/issues/133560) \ No newline at end of file +Replicating tables cannot contain an [index]({% link {{ page.version.version }}/indexes.md %}) that requires expression evaluation before insertion. #133560 \ No newline at end of file diff --git a/src/current/_includes/v25.1/known-limitations/ldr-sequences.md b/src/current/_includes/v25.1/known-limitations/ldr-sequences.md index 4e39f3630e3..693c0cc685b 100644 --- a/src/current/_includes/v25.1/known-limitations/ldr-sequences.md +++ b/src/current/_includes/v25.1/known-limitations/ldr-sequences.md @@ -1 +1 @@ -Replicating table cannot reference [sequences]({% link {{ page.version.version }}/create-sequence.md %}). [#132303](https://github.com/cockroachdb/cockroach/issues/132303) \ No newline at end of file +Replicating table cannot reference [sequences]({% link {{ page.version.version }}/create-sequence.md %}). #132303 \ No newline at end of file diff --git a/src/current/_includes/v25.1/known-limitations/ldr-triggers.md b/src/current/_includes/v25.1/known-limitations/ldr-triggers.md index 55f8e885b97..a587568b69a 100644 --- a/src/current/_includes/v25.1/known-limitations/ldr-triggers.md +++ b/src/current/_includes/v25.1/known-limitations/ldr-triggers.md @@ -1 +1 @@ -Replicating tables cannot reference triggers. [#132301](https://github.com/cockroachdb/cockroach/issues/132301) \ No newline at end of file +Replicating tables cannot reference triggers. #132301 \ No newline at end of file diff --git a/src/current/_includes/v25.1/known-limitations/ldr-udfs.md b/src/current/_includes/v25.1/known-limitations/ldr-udfs.md index fb642f14751..62eea605b52 100644 --- a/src/current/_includes/v25.1/known-limitations/ldr-udfs.md +++ b/src/current/_includes/v25.1/known-limitations/ldr-udfs.md @@ -1 +1 @@ -Replicating tables cannot reference [user-defined functions]({% link {{ page.version.version }}/user-defined-functions.md %}). [#132302](https://github.com/cockroachdb/cockroach/issues/132302) \ No newline at end of file +Replicating tables cannot reference [user-defined functions]({% link {{ page.version.version }}/user-defined-functions.md %}). #132302 \ No newline at end of file diff --git a/src/current/_includes/v25.1/known-limitations/locality-optimized-search-virtual-computed-columns.md b/src/current/_includes/v25.1/known-limitations/locality-optimized-search-virtual-computed-columns.md index d6acf418aa8..39b3f2cb00e 100644 --- a/src/current/_includes/v25.1/known-limitations/locality-optimized-search-virtual-computed-columns.md +++ b/src/current/_includes/v25.1/known-limitations/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). [#68129](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). #68129 diff --git a/src/current/_includes/v25.1/known-limitations/materialized-views-no-stats.md b/src/current/_includes/v25.1/known-limitations/materialized-views-no-stats.md index 02f2bd787c4..2bfe00d5307 100644 --- a/src/current/_includes/v25.1/known-limitations/materialized-views-no-stats.md +++ b/src/current/_includes/v25.1/known-limitations/materialized-views-no-stats.md @@ -1 +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. [#78181](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. #78181. diff --git a/src/current/_includes/v25.1/known-limitations/multiple-arbiter-indexes.md b/src/current/_includes/v25.1/known-limitations/multiple-arbiter-indexes.md index c9861623314..28b41eca491 100644 --- a/src/current/_includes/v25.1/known-limitations/multiple-arbiter-indexes.md +++ b/src/current/_includes/v25.1/known-limitations/multiple-arbiter-indexes.md @@ -1 +1 @@ -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. [#53170](https://github.com/cockroachdb/cockroach/issues/53170) \ No newline at end of file +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. #53170 \ No newline at end of file diff --git a/src/current/_includes/v25.1/known-limitations/plpgsql-limitations.md b/src/current/_includes/v25.1/known-limitations/plpgsql-limitations.md index 83e47a0bdaa..3db60046bea 100644 --- a/src/current/_includes/v25.1/known-limitations/plpgsql-limitations.md +++ b/src/current/_includes/v25.1/known-limitations/plpgsql-limitations.md @@ -1,26 +1,26 @@ {% if page.name != "known-limitations.md" # New limitations in v24.2 %} {% endif %} -- It is not possible to use a variable as a target more than once in the same `INTO` clause. For example, `SELECT 1, 2 INTO x, x;`. [#121605](https://github.com/cockroachdb/cockroach/issues/121605) -- PLpgSQL variable declarations cannot inherit the type of a table row or column using `%TYPE` or `%ROWTYPE` syntax. [#114676](https://github.com/cockroachdb/cockroach/issues/114676) -- PL/pgSQL arguments cannot be referenced with ordinals (e.g., `$1`, `$2`). [#114701](https://github.com/cockroachdb/cockroach/issues/114701) +- It is not possible to use a variable as a target more than once in the same `INTO` clause. For example, `SELECT 1, 2 INTO x, x;`. #121605 +- PLpgSQL variable declarations cannot inherit the type of a table row or column using `%TYPE` or `%ROWTYPE` syntax. #114676 +- PL/pgSQL arguments cannot be referenced with ordinals (e.g., `$1`, `$2`). #114701 - The following statements are not supported: - - `FOR` cursor loops, `FOR` query loops, and `FOREACH` loops. [#105246](https://github.com/cockroachdb/cockroach/issues/105246) - - `RETURN NEXT` and `RETURN QUERY`. [#117744](https://github.com/cockroachdb/cockroach/issues/117744) - - `PERFORM`, `EXECUTE`, `GET DIAGNOSTICS`, and `CASE`. [#117744](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 %}). [#111446](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`). [#106237](https://github.com/cockroachdb/cockroach/issues/106237) -- `RAISE` statements message the client directly, and do not produce log output. [#117750](https://github.com/cockroachdb/cockroach/issues/117750) -- `ASSERT` debugging checks are not supported. [#117744](https://github.com/cockroachdb/cockroach/issues/117744) -- `RECORD` parameters and variables are not supported in [user-defined functions]({% link {{ page.version.version }}/user-defined-functions.md %}). [#105713](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. [#117508](https://github.com/cockroachdb/cockroach/issues/117508) -- Syntax for accessing members of composite types without parentheses is not supported. [#114687](https://github.com/cockroachdb/cockroach/issues/114687) -- `NOT NULL` variable declarations are not supported. [#105243](https://github.com/cockroachdb/cockroach/issues/105243) -- Cursors opened in PL/pgSQL execute their queries on opening, affecting performance and resource usage. [#111479](https://github.com/cockroachdb/cockroach/issues/111479) -- Cursors in PL/pgSQL cannot be declared with arguments. [#117746](https://github.com/cockroachdb/cockroach/issues/117746) -- `OPEN FOR EXECUTE` is not supported for opening cursors. [#117744](https://github.com/cockroachdb/cockroach/issues/117744) -- The `print_strict_params` option is not supported in PL/pgSQL. [#123671](https://github.com/cockroachdb/cockroach/issues/123671) -- The `FOUND` local variable, which checks whether a statement affected any rows, is not supported in PL/pgSQL. [#122306](https://github.com/cockroachdb/cockroach/issues/122306) -- By default, when a PL/pgSQL variable conflicts with a column name, CockroachDB resolves the ambiguity by treating it as a column reference rather than a variable reference. This behavior differs from PostgreSQL, where an ambiguous column error is reported, and it is possible to change the `plpgsql.variable_conflict` setting in order to prefer either columns or variables. [#115680](https://github.com/cockroachdb/cockroach/issues/115680) -- It is not possible to define a `RECORD`-returning PL/pgSQL function that returns different-typed expressions from different `RETURN` statements. CockroachDB requires a consistent return type for `RECORD`-returning functions. [#115384](https://github.com/cockroachdb/cockroach/issues/115384) -- Variables cannot be declared with an associated collation using the `COLLATE` keyword. [#105245](https://github.com/cockroachdb/cockroach/issues/105245) -- Variables cannot be accessed using the `label.var_name` pattern. [#122322](https://github.com/cockroachdb/cockroach/issues/122322) \ No newline at end of file + - `FOR` cursor loops, `FOR` query loops, and `FOREACH` loops. #105246 + - `RETURN NEXT` and `RETURN QUERY`. #117744 + - `PERFORM`, `EXECUTE`, `GET DIAGNOSTICS`, and `CASE`. #117744 +- PL/pgSQL exception blocks cannot catch [transaction retry errors]({% link {{ page.version.version }}/transaction-retry-error-reference.md %}). #111446 +- `RAISE` statements cannot be annotated with names of schema objects related to the error (i.e., using `COLUMN`, `CONSTRAINT`, `DATATYPE`, `TABLE`, or `SCHEMA`). #106237 +- `RAISE` statements message the client directly, and do not produce log output. #117750 +- `ASSERT` debugging checks are not supported. #117744 +- `RECORD` parameters and variables are not supported in [user-defined functions]({% link {{ page.version.version }}/user-defined-functions.md %}). #105713 +- Variable shadowing (e.g., declaring a variable with the same name in an inner block) is not supported in PL/pgSQL. #117508 +- Syntax for accessing members of composite types without parentheses is not supported. #114687 +- `NOT NULL` variable declarations are not supported. #105243 +- Cursors opened in PL/pgSQL execute their queries on opening, affecting performance and resource usage. #111479 +- Cursors in PL/pgSQL cannot be declared with arguments. #117746 +- `OPEN FOR EXECUTE` is not supported for opening cursors. #117744 +- The `print_strict_params` option is not supported in PL/pgSQL. #123671 +- The `FOUND` local variable, which checks whether a statement affected any rows, is not supported in PL/pgSQL. #122306 +- By default, when a PL/pgSQL variable conflicts with a column name, CockroachDB resolves the ambiguity by treating it as a column reference rather than a variable reference. This behavior differs from PostgreSQL, where an ambiguous column error is reported, and it is possible to change the `plpgsql.variable_conflict` setting in order to prefer either columns or variables. #115680 +- It is not possible to define a `RECORD`-returning PL/pgSQL function that returns different-typed expressions from different `RETURN` statements. CockroachDB requires a consistent return type for `RECORD`-returning functions. #115384 +- Variables cannot be declared with an associated collation using the `COLLATE` keyword. #105245 +- Variables cannot be accessed using the `label.var_name` pattern. #122322 \ No newline at end of file diff --git a/src/current/_includes/v25.1/known-limitations/read-committed-limitations.md b/src/current/_includes/v25.1/known-limitations/read-committed-limitations.md index 63f83b15dd8..1f466997ed8 100644 --- a/src/current/_includes/v25.1/known-limitations/read-committed-limitations.md +++ b/src/current/_includes/v25.1/known-limitations/read-committed-limitations.md @@ -1,6 +1,6 @@ -- 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 when the [`autocommit_before_ddl` session setting]({% link {{page.version.version}}/set-vars.md %}#autocommit-before-ddl) is set to `off`, 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`. [#114778](https://github.com/cockroachdb/cockroach/issues/114778) -- Multi-column-family checks during updates are not supported under `READ COMMITTED` isolation. [#112488](https://github.com/cockroachdb/cockroach/issues/112488) +- 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 when the [`autocommit_before_ddl` session setting]({% link {{page.version.version}}/set-vars.md %}#autocommit-before-ddl) is set to `off`, 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`. #114778 +- Multi-column-family checks during updates are not supported under `READ COMMITTED` isolation. #112488 - Because locks acquired by [foreign key]({% link {{ page.version.version }}/foreign-key.md %}) checks, [`SELECT FOR UPDATE`]({% link {{ page.version.version }}/select-for-update.md %}), and [`SELECT FOR SHARE`]({% link {{ page.version.version }}/select-for-update.md %}) are fully replicated under `READ COMMITTED` isolation, some queries experience a delay for Raft replication. - [Foreign key]({% link {{ page.version.version }}/foreign-key.md %}) checks are not performed in parallel under `READ COMMITTED` isolation. - [`SELECT FOR UPDATE` and `SELECT FOR SHARE`]({% link {{ page.version.version }}/select-for-update.md %}) statements are less optimized under `READ COMMITTED` isolation than under `SERIALIZABLE` isolation. Under `READ COMMITTED` isolation, `SELECT FOR UPDATE` and `SELECT FOR SHARE` usually perform an extra lookup join for every locked table when compared to the same queries under `SERIALIZABLE`. In addition, some optimization steps (such as de-correlation of correlated [subqueries]({% link {{ page.version.version }}/subqueries.md %})) are not currently performed on these queries. -- Regardless of isolation level, [`SELECT FOR UPDATE` and `SELECT FOR SHARE`]({% link {{ page.version.version }}/select-for-update.md %}) statements in CockroachDB do not prevent insertion of new rows matching the search condition (i.e., [phantom reads]({% link {{ page.version.version }}/read-committed.md %}#non-repeatable-reads-and-phantom-reads)). This matches PostgreSQL behavior at all isolation levels. [#120673](https://github.com/cockroachdb/cockroach/issues/120673) \ No newline at end of file +- Regardless of isolation level, [`SELECT FOR UPDATE` and `SELECT FOR SHARE`]({% link {{ page.version.version }}/select-for-update.md %}) statements in CockroachDB do not prevent insertion of new rows matching the search condition (i.e., [phantom reads]({% link {{ page.version.version }}/read-committed.md %}#non-repeatable-reads-and-phantom-reads)). This matches PostgreSQL behavior at all isolation levels. #120673 \ No newline at end of file diff --git a/src/current/_includes/v25.1/known-limitations/restore-multiregion-match.md b/src/current/_includes/v25.1/known-limitations/restore-multiregion-match.md index 20ddbb0c930..4c533f4283e 100644 --- a/src/current/_includes/v25.1/known-limitations/restore-multiregion-match.md +++ b/src/current/_includes/v25.1/known-limitations/restore-multiregion-match.md @@ -47,4 +47,4 @@ ALTER DATABASE destination_database SET PRIMARY REGION "us-east1"; ~~~ - [#71071](https://github.com/cockroachdb/cockroach/issues/71071) \ No newline at end of file + #71071 \ No newline at end of file diff --git a/src/current/_includes/v25.1/known-limitations/restore-tables-non-multi-reg.md b/src/current/_includes/v25.1/known-limitations/restore-tables-non-multi-reg.md index 5390f2d09ee..e05bc340141 100644 --- a/src/current/_includes/v25.1/known-limitations/restore-tables-non-multi-reg.md +++ b/src/current/_includes/v25.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. [#71502](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. #71502 diff --git a/src/current/_includes/v25.1/known-limitations/restore-udf.md b/src/current/_includes/v25.1/known-limitations/restore-udf.md index a4a4bc080fe..e4180219a25 100644 --- a/src/current/_includes/v25.1/known-limitations/restore-udf.md +++ b/src/current/_includes/v25.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. [#118195](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. #118195 \ No newline at end of file diff --git a/src/current/_includes/v25.1/known-limitations/routine-limitations.md b/src/current/_includes/v25.1/known-limitations/routine-limitations.md index 4718c6c7abf..fa16791b56a 100644 --- a/src/current/_includes/v25.1/known-limitations/routine-limitations.md +++ b/src/current/_includes/v25.1/known-limitations/routine-limitations.md @@ -1,10 +1,10 @@ {% if page.name != "known-limitations.md" # New limitations in v24.2 %} {% endif %} -- Routines cannot be invoked with named arguments, e.g., `SELECT foo(a => 1, b => 2);` or `SELECT foo(b := 1, a := 2);`. [#122264](https://github.com/cockroachdb/cockroach/issues/122264) -- Routines cannot be created if they reference temporary tables. [#121375](https://github.com/cockroachdb/cockroach/issues/121375) -- Routines cannot be created with unnamed `INOUT` parameters. For example, `CREATE PROCEDURE p(INOUT INT) AS $$ BEGIN NULL; END; $$ LANGUAGE PLpgSQL;`. [#121251](https://github.com/cockroachdb/cockroach/issues/121251) -- Routines cannot be created if they return fewer columns than declared. For example, `CREATE FUNCTION f(OUT sum INT, INOUT a INT, INOUT b INT) LANGUAGE SQL AS $$ SELECT (a + b, b); $$;`. [#121247](https://github.com/cockroachdb/cockroach/issues/121247) -- Routines cannot be created with an `OUT` parameter of type `RECORD`. [#123448](https://github.com/cockroachdb/cockroach/issues/123448) -- DDL statements (e.g., `CREATE TABLE`, `CREATE INDEX`) are not allowed within UDFs or stored procedures. [#110080](https://github.com/cockroachdb/cockroach/issues/110080) -- Polymorphic types cannot be cast to other types (e.g., `TEXT`) within routine parameters. [#123536](https://github.com/cockroachdb/cockroach/issues/123536) -- Routine parameters and return types cannot be declared using the `ANYENUM` polymorphic type, which is able to match any [`ENUM`]({% link {{ page.version.version }}/enum.md %}) type. [123048](https://github.com/cockroachdb/cockroach/issues/123048) \ No newline at end of file +- Routines cannot be invoked with named arguments, e.g., `SELECT foo(a => 1, b => 2);` or `SELECT foo(b := 1, a := 2);`. #122264 +- Routines cannot be created if they reference temporary tables. #121375 +- Routines cannot be created with unnamed `INOUT` parameters. For example, `CREATE PROCEDURE p(INOUT INT) AS $$ BEGIN NULL; END; $$ LANGUAGE PLpgSQL;`. #121251 +- Routines cannot be created if they return fewer columns than declared. For example, `CREATE FUNCTION f(OUT sum INT, INOUT a INT, INOUT b INT) LANGUAGE SQL AS $$ SELECT (a + b, b); $$;`. #121247 +- Routines cannot be created with an `OUT` parameter of type `RECORD`. #123448 +- DDL statements (e.g., `CREATE TABLE`, `CREATE INDEX`) are not allowed within UDFs or stored procedures. #110080 +- Polymorphic types cannot be cast to other types (e.g., `TEXT`) within routine parameters. #123536 +- Routine parameters and return types cannot be declared using the `ANYENUM` polymorphic type, which is able to match any [`ENUM`]({% link {{ page.version.version }}/enum.md %}) type. 123048 \ No newline at end of file diff --git a/src/current/_includes/v25.1/known-limitations/select-for-update-limitations.md b/src/current/_includes/v25.1/known-limitations/select-for-update-limitations.md index 73aaf9fdeb6..210099bacd7 100644 --- a/src/current/_includes/v25.1/known-limitations/select-for-update-limitations.md +++ b/src/current/_includes/v25.1/known-limitations/select-for-update-limitations.md @@ -1,4 +1,4 @@ -- `SKIP LOCKED` cannot be used for tables with multiple [column families]({% link {{ page.version.version }}/column-families.md %}). [#160961](https://github.com/cockroachdb/cockroach/issues/160961) +- `SKIP LOCKED` cannot be used for tables with multiple [column families]({% link {{ page.version.version }}/column-families.md %}). #160961 - By default under `SERIALIZABLE` isolation, locks acquired using `SELECT ... FOR UPDATE` and `SELECT ... FOR SHARE` are implemented as fast, in-memory [unreplicated locks](architecture/transaction-layer.html#unreplicated-locks). If a [lease transfer]({% link {{ page.version.version }}/architecture/replication-layer.md %}#epoch-based-leases-table-data) or [range split/merge]({% link {{ page.version.version }}/architecture/distribution-layer.md %}#range-merges) occurs on a range held by an unreplicated lock, the lock is dropped. The following behaviors can occur: - 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`]({% link {{ page.version.version }}/transaction-retry-error-reference.md %}) and the [`restart transaction` error message]({% link {{ page.version.version }}/common-errors.md %}#restart-transaction). diff --git a/src/current/_includes/v25.1/known-limitations/set-transaction-no-rollback.md b/src/current/_includes/v25.1/known-limitations/set-transaction-no-rollback.md index 414cbac6282..5f0145c05c4 100644 --- a/src/current/_includes/v25.1/known-limitations/set-transaction-no-rollback.md +++ b/src/current/_includes/v25.1/known-limitations/set-transaction-no-rollback.md @@ -14,4 +14,4 @@ timezone 3 ~~~ -[#69396](https://github.com/cockroachdb/cockroach/issues/69396) +#69396 diff --git a/src/current/_includes/v25.1/known-limitations/show-backup-symlink.md b/src/current/_includes/v25.1/known-limitations/show-backup-symlink.md index 38ba86fb28f..1c7a5612242 100644 --- a/src/current/_includes/v25.1/known-limitations/show-backup-symlink.md +++ b/src/current/_includes/v25.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. [#70260](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. #70260 \ No newline at end of file diff --git a/src/current/_includes/v25.1/known-limitations/sql-cursors.md b/src/current/_includes/v25.1/known-limitations/sql-cursors.md index 4c047aa9603..93bbca937b1 100644 --- a/src/current/_includes/v25.1/known-limitations/sql-cursors.md +++ b/src/current/_includes/v25.1/known-limitations/sql-cursors.md @@ -1,9 +1,9 @@ CockroachDB implements SQL {% if page.name == "known-limitations.md" %} [cursor]({% link {{ page.version.version }}/cursors.md %}) {% else %} cursor {% endif %} support with the following limitations: -- `DECLARE` only supports forward cursors. Reverse cursors created with `DECLARE SCROLL` are not supported. [#77102](https://github.com/cockroachdb/cockroach/issues/77102) -- `FETCH` supports forward, relative, and absolute variants, but only for forward cursors. [#77102](https://github.com/cockroachdb/cockroach/issues/77102) -- `BINARY CURSOR`, which returns data in the Postgres binary format, is not supported. [#77099](https://github.com/cockroachdb/cockroach/issues/77099) -- `WITH HOLD`, which allows keeping a cursor open for longer than a transaction by writing its results into a buffer, is accepted as valid syntax within a single transaction but is not supported. It acts as a no-op and does not actually perform the function of `WITH HOLD`, which is to make the cursor live outside its parent transaction. Instead, if you are using `WITH HOLD`, you will be forced to close that cursor within the transaction it was created in. [#77101](https://github.com/cockroachdb/cockroach/issues/77101) +- `DECLARE` only supports forward cursors. Reverse cursors created with `DECLARE SCROLL` are not supported. #77102 +- `FETCH` supports forward, relative, and absolute variants, but only for forward cursors. #77102 +- `BINARY CURSOR`, which returns data in the Postgres binary format, is not supported. #77099 +- `WITH HOLD`, which allows keeping a cursor open for longer than a transaction by writing its results into a buffer, is accepted as valid syntax within a single transaction but is not supported. It acts as a no-op and does not actually perform the function of `WITH HOLD`, which is to make the cursor live outside its parent transaction. Instead, if you are using `WITH HOLD`, you will be forced to close that cursor within the transaction it was created in. #77101 - This syntax is accepted (but does not have any effect): {% include_cached copy-clipboard.html %} ~~~ sql @@ -19,6 +19,6 @@ CockroachDB implements SQL {% if page.name == "known-limitations.md" %} [cursor] DECLARE test_cur CURSOR WITH HOLD FOR SELECT * FROM foo ORDER BY bar; COMMIT; -- This will fail with an error because CLOSE test_cur was not called inside the transaction. ~~~ -- Scrollable cursor (also known as reverse `FETCH`) is not supported. [#77102](https://github.com/cockroachdb/cockroach/issues/77102) -- [`SELECT ... FOR UPDATE`]({% link {{ page.version.version }}/select-for-update.md %}) with a cursor is not supported. [#77103](https://github.com/cockroachdb/cockroach/issues/77103) -- Respect for [`SAVEPOINT`s]({% link {{ page.version.version }}/savepoint.md %}) is not supported. Cursor definitions do not disappear properly if rolled back to a `SAVEPOINT` from before they were created. [#77104](https://github.com/cockroachdb/cockroach/issues/77104) +- Scrollable cursor (also known as reverse `FETCH`) is not supported. #77102 +- [`SELECT ... FOR UPDATE`]({% link {{ page.version.version }}/select-for-update.md %}) with a cursor is not supported. #77103 +- Respect for [`SAVEPOINT`s]({% link {{ page.version.version }}/savepoint.md %}) is not supported. Cursor definitions do not disappear properly if rolled back to a `SAVEPOINT` from before they were created. #77104 diff --git a/src/current/_includes/v25.1/known-limitations/srid-4326-limitations.md b/src/current/_includes/v25.1/known-limitations/srid-4326-limitations.md index b556a9fbecd..294a1a53bd4 100644 --- a/src/current/_includes/v25.1/known-limitations/srid-4326-limitations.md +++ b/src/current/_includes/v25.1/known-limitations/srid-4326-limitations.md @@ -1 +1 @@ -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. [#55903](https://github.com/cockroachdb/cockroach/issues/55903) \ No newline at end of file +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. #55903 \ No newline at end of file diff --git a/src/current/_includes/v25.1/known-limitations/stats-refresh-upgrade.md b/src/current/_includes/v25.1/known-limitations/stats-refresh-upgrade.md index 3d5a8d26325..3325dfaa53b 100644 --- a/src/current/_includes/v25.1/known-limitations/stats-refresh-upgrade.md +++ b/src/current/_includes/v25.1/known-limitations/stats-refresh-upgrade.md @@ -1 +1 @@ -- The [automatic statistics refresher]({% link {{ page.version.version }}/cost-based-optimizer.md %}#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]({% link {{ page.version.version }}/upgrade-cockroach-version.md %}). This could cause a problem, for example, if the upgrade moves from a version without [histograms]({% link {{ page.version.version }}/cost-based-optimizer.md %}#control-histogram-collection) to a version with histograms. To refresh statistics manually, use [`CREATE STATISTICS`](create-statistics.html). [#54816](https://github.com/cockroachdb/cockroach/issues/54816) +- The [automatic statistics refresher]({% link {{ page.version.version }}/cost-based-optimizer.md %}#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]({% link {{ page.version.version }}/upgrade-cockroach-version.md %}). This could cause a problem, for example, if the upgrade moves from a version without [histograms]({% link {{ page.version.version }}/cost-based-optimizer.md %}#control-histogram-collection) to a version with histograms. To refresh statistics manually, use [`CREATE STATISTICS`](create-statistics.html). #54816 diff --git a/src/current/_includes/v25.1/known-limitations/stored-proc-limitations.md b/src/current/_includes/v25.1/known-limitations/stored-proc-limitations.md index b2ba1b61562..bce2e47d6b8 100644 --- a/src/current/_includes/v25.1/known-limitations/stored-proc-limitations.md +++ b/src/current/_includes/v25.1/known-limitations/stored-proc-limitations.md @@ -1,3 +1,3 @@ {% if page.name != "known-limitations.md" # New limitations in v24.2 %} {% endif %} -- `COMMIT` and `ROLLBACK` statements are not supported within nested procedures. [#122266](https://github.com/cockroachdb/cockroach/issues/122266) \ No newline at end of file +- `COMMIT` and `ROLLBACK` statements are not supported within nested procedures. #122266 \ No newline at end of file diff --git a/src/current/_includes/v25.1/known-limitations/trigger-limitations.md b/src/current/_includes/v25.1/known-limitations/trigger-limitations.md index 7373cd486e7..f2514d24113 100644 --- a/src/current/_includes/v25.1/known-limitations/trigger-limitations.md +++ b/src/current/_includes/v25.1/known-limitations/trigger-limitations.md @@ -1,6 +1,6 @@ -- `CREATE OR REPLACE TRIGGER` is not supported. [#128422](https://github.com/cockroachdb/cockroach/issues/128422) -- Statement-level triggers are not supported. [#126362](https://github.com/cockroachdb/cockroach/issues/126362) -- `INSTEAD OF` triggers are not supported. [#126363](https://github.com/cockroachdb/cockroach/issues/126363) -- A [trigger function]({% link {{ page.version.version }}/triggers.md %}#trigger-function) that is used in an existing trigger cannot be replaced with `CREATE OR REPLACE` syntax. To use `CREATE OR REPLACE`, first [drop any triggers]({% link {{ page.version.version }}/drop-trigger.md %}) that are using the function. [#134555](https://github.com/cockroachdb/cockroach/issues/134555) -- Hidden columns are not visible to triggers. [#133331](https://github.com/cockroachdb/cockroach/issues/133331) +- `CREATE OR REPLACE TRIGGER` is not supported. #128422 +- Statement-level triggers are not supported. #126362 +- `INSTEAD OF` triggers are not supported. #126363 +- A [trigger function]({% link {{ page.version.version }}/triggers.md %}#trigger-function) that is used in an existing trigger cannot be replaced with `CREATE OR REPLACE` syntax. To use `CREATE OR REPLACE`, first [drop any triggers]({% link {{ page.version.version }}/drop-trigger.md %}) that are using the function. #134555 +- Hidden columns are not visible to triggers. #133331 - {% include {{ page.version.version }}/known-limitations/drop-trigger-limitations.md %} \ No newline at end of file diff --git a/src/current/_includes/v25.1/known-limitations/trigram-unsupported-syntax.md b/src/current/_includes/v25.1/known-limitations/trigram-unsupported-syntax.md index 494730c7ae8..a981c4915b0 100644 --- a/src/current/_includes/v25.1/known-limitations/trigram-unsupported-syntax.md +++ b/src/current/_includes/v25.1/known-limitations/trigram-unsupported-syntax.md @@ -6,4 +6,4 @@ - Acceleration on [regex string matching]({% link {{ page.version.version }}/scalar-expressions.md %}#string-matching-using-posix-regular-expressions). - `%` comparisons, `show_trgm`, and trigram index creation on [collated strings]({% link {{ page.version.version }}/collate.md %}). -[#41285](https://github.com/cockroachdb/cockroach/issues/41285) \ No newline at end of file +#41285 \ No newline at end of file diff --git a/src/current/_includes/v25.1/known-limitations/udf-limitations.md b/src/current/_includes/v25.1/known-limitations/udf-limitations.md index 8b2ef66b403..5e96fd49283 100644 --- a/src/current/_includes/v25.1/known-limitations/udf-limitations.md +++ b/src/current/_includes/v25.1/known-limitations/udf-limitations.md @@ -1,9 +1,9 @@ {% if page.name != "known-limitations.md" # New limitations in v24.2 %} {% endif %} -- A `RECORD`-returning UDF cannot be created without a `RETURN` statement in the root block, which would restrict the wildcard type to a concrete one. [#122945](https://github.com/cockroachdb/cockroach/issues/122945) +- A `RECORD`-returning UDF cannot be created without a `RETURN` statement in the root block, which would restrict the wildcard type to a concrete one. #122945 - User-defined functions are not currently supported in: - - Expressions (column, index, constraint) in tables. [#87699](https://github.com/cockroachdb/cockroach/issues/87699) - - Views. [#87699](https://github.com/cockroachdb/cockroach/issues/87699) -- User-defined functions cannot call themselves recursively. [#93049](https://github.com/cockroachdb/cockroach/issues/93049) -- The `setval` function cannot be resolved when used inside UDF bodies. [#110860](https://github.com/cockroachdb/cockroach/issues/110860) -- Casting subqueries to [user-defined types]({% link {{ page.version.version }}/create-type.md %}) in UDFs is not supported. [#108184](https://github.com/cockroachdb/cockroach/issues/108184) \ No newline at end of file + - Expressions (column, index, constraint) in tables. #87699 + - Views. #87699 +- User-defined functions cannot call themselves recursively. #93049 +- The `setval` function cannot be resolved when used inside UDF bodies. #110860 +- Casting subqueries to [user-defined types]({% link {{ page.version.version }}/create-type.md %}) in UDFs is not supported. #108184 \ No newline at end of file diff --git a/src/current/_includes/v25.1/known-limitations/vectorized-engine-limitations.md b/src/current/_includes/v25.1/known-limitations/vectorized-engine-limitations.md index daea59ebf88..da227ad4825 100644 --- a/src/current/_includes/v25.1/known-limitations/vectorized-engine-limitations.md +++ b/src/current/_includes/v25.1/known-limitations/vectorized-engine-limitations.md @@ -1,2 +1,2 @@ -- The vectorized engine does not support queries containing a join filtered with an [`ON` expression]({% link {{ page.version.version }}/joins.md %}#supported-join-conditions). [#38018](https://github.com/cockroachdb/cockroach/issues/38018) +- The vectorized engine does not support queries containing a join filtered with an [`ON` expression]({% link {{ page.version.version }}/joins.md %}#supported-join-conditions). #38018 - 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/_includes/v25.2/known-limitations/alter-changefeed-cdc-queries.md b/src/current/_includes/v25.2/known-limitations/alter-changefeed-cdc-queries.md index 56dd7eeaacd..4134b3c9f86 100644 --- a/src/current/_includes/v25.2/known-limitations/alter-changefeed-cdc-queries.md +++ b/src/current/_includes/v25.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. [#83033](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. #83033 \ No newline at end of file diff --git a/src/current/_includes/v25.2/known-limitations/alter-changefeed-limitations.md b/src/current/_includes/v25.2/known-limitations/alter-changefeed-limitations.md index a183f2964f4..cb75ad71c55 100644 --- a/src/current/_includes/v25.2/known-limitations/alter-changefeed-limitations.md +++ b/src/current/_includes/v25.2/known-limitations/alter-changefeed-limitations.md @@ -1,4 +1,4 @@ -- It is necessary to [`PAUSE`]({% link {{ page.version.version }}/pause-job.md %}) the changefeed before performing any [`ALTER CHANGEFEED`]({% link {{ page.version.version }}/alter-changefeed.md %}) statement. [#77171](https://github.com/cockroachdb/cockroach/issues/77171) +- It is necessary to [`PAUSE`]({% link {{ page.version.version }}/pause-job.md %}) the changefeed before performing any [`ALTER CHANGEFEED`]({% link {{ page.version.version }}/alter-changefeed.md %}) statement. #77171 - 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: ~~~ sql diff --git a/src/current/_includes/v25.2/known-limitations/alter-view-limitations.md b/src/current/_includes/v25.2/known-limitations/alter-view-limitations.md index 642bed6ce08..e44921629ff 100644 --- a/src/current/_includes/v25.2/known-limitations/alter-view-limitations.md +++ b/src/current/_includes/v25.2/known-limitations/alter-view-limitations.md @@ -1,4 +1,4 @@ `ALTER VIEW` 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. [#10083](https://github.com/cockroachdb/cockroach/issues/10083) \ No newline at end of file +- Renaming a view that other views depend on. This feature may be added in the future. #10083 \ No newline at end of file diff --git a/src/current/_includes/v25.2/known-limitations/aost-limitations.md b/src/current/_includes/v25.2/known-limitations/aost-limitations.md index 811c884d08d..c42e62800d3 100644 --- a/src/current/_includes/v25.2/known-limitations/aost-limitations.md +++ b/src/current/_includes/v25.2/known-limitations/aost-limitations.md @@ -1 +1 @@ -CockroachDB does not support placeholders in {% if page.name == "as-of-system-time.md" %}`AS OF SYSTEM TIME`{% else %}[`AS OF SYSTEM TIME`]({% link {{ page.version.version }}/as-of-system-time.md %}){% endif %}. The time value must be a constant value embedded in the SQL string. [#30955](https://github.com/cockroachdb/cockroach/issues/30955) \ No newline at end of file +CockroachDB does not support placeholders in {% if page.name == "as-of-system-time.md" %}`AS OF SYSTEM TIME`{% else %}[`AS OF SYSTEM TIME`]({% link {{ page.version.version }}/as-of-system-time.md %}){% endif %}. The time value must be a constant value embedded in the SQL string. #30955 \ No newline at end of file diff --git a/src/current/_includes/v25.2/known-limitations/cannot-refresh-materialized-views-inside-transactions.md b/src/current/_includes/v25.2/known-limitations/cannot-refresh-materialized-views-inside-transactions.md index b0aaf728177..2f6fe466a95 100644 --- a/src/current/_includes/v25.2/known-limitations/cannot-refresh-materialized-views-inside-transactions.md +++ b/src/current/_includes/v25.2/known-limitations/cannot-refresh-materialized-views-inside-transactions.md @@ -24,4 +24,4 @@ SQLSTATE: 25000 ~~~ - [#66008](https://github.com/cockroachdb/cockroach/issues/66008) + #66008 diff --git a/src/current/_includes/v25.2/known-limitations/cdc-queries-column-families.md b/src/current/_includes/v25.2/known-limitations/cdc-queries-column-families.md index 505a8c9700e..52bdabec236 100644 --- a/src/current/_includes/v25.2/known-limitations/cdc-queries-column-families.md +++ b/src/current/_includes/v25.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. [#127761](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. #127761 \ No newline at end of file diff --git a/src/current/_includes/v25.2/known-limitations/cdc-queries.md b/src/current/_includes/v25.2/known-limitations/cdc-queries.md index 2839eba5eda..552900531b0 100644 --- a/src/current/_includes/v25.2/known-limitations/cdc-queries.md +++ b/src/current/_includes/v25.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). [#98237](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. [#83835](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). #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. #83835 diff --git a/src/current/_includes/v25.2/known-limitations/cdc.md b/src/current/_includes/v25.2/known-limitations/cdc.md index a473e94367c..0a3914da8bd 100644 --- a/src/current/_includes/v25.2/known-limitations/cdc.md +++ b/src/current/_includes/v25.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 %}). [#73435](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 %}). #73435 - {% 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 %}#insecure-tls-skip-verify) parameter when testing to disable certificate verification; however, this still requires HTTPS and certificates. [#73431](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. [#73432](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) 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. [#79452](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 %}#insecure-tls-skip-verify) parameter when testing to disable certificate verification; however, this still requires HTTPS and certificates. #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. #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) 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. #79452 - {% 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/v25.2/known-limitations/changefeed-column-family-message.md b/src/current/_includes/v25.2/known-limitations/changefeed-column-family-message.md index 41744b9b4b4..e77b6cc51e0 100644 --- a/src/current/_includes/v25.2/known-limitations/changefeed-column-family-message.md +++ b/src/current/_includes/v25.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. [#127736](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. #127736 \ No newline at end of file diff --git a/src/current/_includes/v25.2/known-limitations/copy-syntax.md b/src/current/_includes/v25.2/known-limitations/copy-syntax.md index e64a075dcac..bd2e56e1c25 100644 --- a/src/current/_includes/v25.2/known-limitations/copy-syntax.md +++ b/src/current/_includes/v25.2/known-limitations/copy-syntax.md @@ -1,5 +1,5 @@ CockroachDB does not yet support the following `COPY` syntax: - - `COPY ... WITH FREEZE`. [#85573](https://github.com/cockroachdb/cockroach/issues/85573) - - `COPY ... WITH QUOTE`. [#85574](https://github.com/cockroachdb/cockroach/issues/85574) - - `COPY ... FROM ... WHERE `. [#54580](https://github.com/cockroachdb/cockroach/issues/54580) + - `COPY ... WITH FREEZE`. #85573 + - `COPY ... WITH QUOTE`. #85574 + - `COPY ... FROM ... WHERE `. #54580 diff --git a/src/current/_includes/v25.2/known-limitations/create-statistics-aost-limitation.md b/src/current/_includes/v25.2/known-limitations/create-statistics-aost-limitation.md index 09f86f51c48..d318ce338be 100644 --- a/src/current/_includes/v25.2/known-limitations/create-statistics-aost-limitation.md +++ b/src/current/_includes/v25.2/known-limitations/create-statistics-aost-limitation.md @@ -1 +1 @@ -The `ANALYZE` alias {% if page.name != "create-statistics.md" %}of [`CREATE STATISTICS`]({% link {{ page.version.version }}/create-statistics.md %}){% endif %} does not support specifying an {% if page.name == "as-of-system-time.md" %}`AS OF SYSTEM TIME`{% else %}[`AS OF SYSTEM TIME`]({% link {{ page.version.version }}/as-of-system-time.md %}){% endif %} timestamp. `ANALYZE` statements use `AS OF SYSTEM TIME '-0.001ms'` automatically. For more control over the statistics interval, use the `CREATE STATISTICS` syntax instead. [#96430](https://github.com/cockroachdb/cockroach/issues/96430) \ No newline at end of file +The `ANALYZE` alias {% if page.name != "create-statistics.md" %}of [`CREATE STATISTICS`]({% link {{ page.version.version }}/create-statistics.md %}){% endif %} does not support specifying an {% if page.name == "as-of-system-time.md" %}`AS OF SYSTEM TIME`{% else %}[`AS OF SYSTEM TIME`]({% link {{ page.version.version }}/as-of-system-time.md %}){% endif %} timestamp. `ANALYZE` statements use `AS OF SYSTEM TIME '-0.001ms'` automatically. For more control over the statistics interval, use the `CREATE STATISTICS` syntax instead. #96430 \ No newline at end of file diff --git a/src/current/_includes/v25.2/known-limitations/drop-column-partial-index.md b/src/current/_includes/v25.2/known-limitations/drop-column-partial-index.md index 9fd1811cc43..fd28f0a96a2 100644 --- a/src/current/_includes/v25.2/known-limitations/drop-column-partial-index.md +++ b/src/current/_includes/v25.2/known-limitations/drop-column-partial-index.md @@ -1 +1 @@ -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 %}). [#97813](https://github.com/cockroachdb/cockroach/issues/97813). \ No newline at end of file +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 %}). #97813. \ No newline at end of file diff --git a/src/current/_includes/v25.2/known-limitations/drop-owned-by-limitations.md b/src/current/_includes/v25.2/known-limitations/drop-owned-by-limitations.md index 95685f6adf1..af99d4b7cfe 100644 --- a/src/current/_includes/v25.2/known-limitations/drop-owned-by-limitations.md +++ b/src/current/_includes/v25.2/known-limitations/drop-owned-by-limitations.md @@ -10,4 +10,4 @@ The phrase "synthetic privileges" in the error message refers to [system-level privileges]({% link {{ page.version.version }}/security-reference/authorization.md %}#supported-privileges). - The workaround is to use [`SHOW SYSTEM GRANTS FOR {role}`](show-system-grants.html) and then use [`REVOKE SYSTEM ...`](revoke.html#revoke-system-level-privileges-on-the-entire-cluster) for each privilege in the result. [#88149](https://github.com/cockroachdb/cockroach/issues/88149) \ No newline at end of file + The workaround is to use [`SHOW SYSTEM GRANTS FOR {role}`](show-system-grants.html) and then use [`REVOKE SYSTEM ...`](revoke.html#revoke-system-level-privileges-on-the-entire-cluster) for each privilege in the result. #88149 \ No newline at end of file diff --git a/src/current/_includes/v25.2/known-limitations/drop-trigger-limitations.md b/src/current/_includes/v25.2/known-limitations/drop-trigger-limitations.md index 90745f7e17a..2a633ccb369 100644 --- a/src/current/_includes/v25.2/known-limitations/drop-trigger-limitations.md +++ b/src/current/_includes/v25.2/known-limitations/drop-trigger-limitations.md @@ -1 +1 @@ -[`DROP TRIGGER`]({% link {{ page.version.version }}/drop-trigger.md %}) with `CASCADE` is not supported. [#128151](https://github.com/cockroachdb/cockroach/issues/128151) \ No newline at end of file +[`DROP TRIGGER`]({% link {{ page.version.version }}/drop-trigger.md %}) with `CASCADE` is not supported. #128151 \ No newline at end of file diff --git a/src/current/_includes/v25.2/known-limitations/expression-index-limitations.md b/src/current/_includes/v25.2/known-limitations/expression-index-limitations.md index c0e94185948..9487028791c 100644 --- a/src/current/_includes/v25.2/known-limitations/expression-index-limitations.md +++ b/src/current/_includes/v25.2/known-limitations/expression-index-limitations.md @@ -1,6 +1,6 @@ - The expression cannot reference columns outside the index's table. - Functional expression output must be determined by the input arguments. For example, you can't use the [volatile function]({% link {{ page.version.version }}/functions-and-operators.md %}#function-volatility) `now()` to create an index because its output depends on more than just the function arguments. -- 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 %}). [#67900](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 %}). #67900 - CockroachDB does not support expressions as `ON CONFLICT` targets. This means that unique {% if page.name == "expression-indexes.md" %} expression indexes {% else %} [expression indexes]({% link {{ page.version.version }}/expression-indexes.md %}) {% endif %} cannot be selected as arbiters for [`INSERT .. ON CONFLICT`]({% link {{ page.version.version }}/insert.md %}#on-conflict-clause) statements. For example: {% include_cached copy-clipboard.html %} @@ -40,4 +40,4 @@ HINT: try \h INSERT ~~~ - [#67893](https://github.com/cockroachdb/cockroach/issues/67893) + #67893 diff --git a/src/current/_includes/v25.2/known-limitations/forecasted-stats-limitations.md b/src/current/_includes/v25.2/known-limitations/forecasted-stats-limitations.md index c8753124a96..b5d03e8ffc5 100644 --- a/src/current/_includes/v25.2/known-limitations/forecasted-stats-limitations.md +++ b/src/current/_includes/v25.2/known-limitations/forecasted-stats-limitations.md @@ -6,4 +6,4 @@ Although [`SHOW STATISTICS WITH FORECAST`]({% link {{ page.version.version }}/show-statistics.md %}#display-forecasted-statistics) shows the settings taking effect immediately, they do not actually take effect until new statistics are collected (as can be verified with [`EXPLAIN`]({% link {{ page.version.version }}/explain.md %})). - As a workaround, disable and enable forecasting at the [cluster]({% link {{ page.version.version }}/cost-based-optimizer.md %}#enable-and-disable-automatic-statistics-collection-for-clusters) or [table]({% link {{ page.version.version }}/cost-based-optimizer.md %}#enable-and-disable-automatic-statistics-collection-for-tables) level. This will invalidate the statistics cache and cause these settings to take effect immediately. [#123852](https://github.com/cockroachdb/cockroach/issues/123852) \ No newline at end of file + As a workaround, disable and enable forecasting at the [cluster]({% link {{ page.version.version }}/cost-based-optimizer.md %}#enable-and-disable-automatic-statistics-collection-for-clusters) or [table]({% link {{ page.version.version }}/cost-based-optimizer.md %}#enable-and-disable-automatic-statistics-collection-for-tables) level. This will invalidate the statistics cache and cause these settings to take effect immediately. #123852 \ No newline at end of file diff --git a/src/current/_includes/v25.2/known-limitations/full-text-search-unsupported.md b/src/current/_includes/v25.2/known-limitations/full-text-search-unsupported.md index 7b5a83f2cae..2be666994f1 100644 --- a/src/current/_includes/v25.2/known-limitations/full-text-search-unsupported.md +++ b/src/current/_includes/v25.2/known-limitations/full-text-search-unsupported.md @@ -11,4 +11,4 @@ - `!! tsquery` comparisons. - `tsquery @> tsquery` and `tsquery <@ tsquery` comparisons. -[#41288](https://github.com/cockroachdb/cockroach/issues/41288) \ No newline at end of file +#41288 \ No newline at end of file diff --git a/src/current/_includes/v25.2/known-limitations/generic-query-plan-limitations.md b/src/current/_includes/v25.2/known-limitations/generic-query-plan-limitations.md index e28e66d5f32..03d72195334 100644 --- a/src/current/_includes/v25.2/known-limitations/generic-query-plan-limitations.md +++ b/src/current/_includes/v25.2/known-limitations/generic-query-plan-limitations.md @@ -1,2 +1,2 @@ -- Because [generic query plans]({% link {{ page.version.version }}/cost-based-optimizer.md %}#query-plan-cache) use lookup joins instead of the scans and revscans used by custom query plans, generic query plans do not perform as well as custom query plans in some cases. [#128916](https://github.com/cockroachdb/cockroach/issues/128916) -- [Generic query plans]({% link {{ page.version.version }}/cost-based-optimizer.md %}#query-plan-type) are not included in the [plan cache]({% link {{ page.version.version }}/cost-based-optimizer.md %}#query-plan-cache). This means a generic query plan built and optimized for a prepared statement in one session cannot be used by another session. To reuse generic query plans for maximum performance, a prepared statement should be executed multiple times instead of prepared and executed once. [#128911](https://github.com/cockroachdb/cockroach/issues/128911) \ No newline at end of file +- Because [generic query plans]({% link {{ page.version.version }}/cost-based-optimizer.md %}#query-plan-cache) use lookup joins instead of the scans and revscans used by custom query plans, generic query plans do not perform as well as custom query plans in some cases. #128916 +- [Generic query plans]({% link {{ page.version.version }}/cost-based-optimizer.md %}#query-plan-type) are not included in the [plan cache]({% link {{ page.version.version }}/cost-based-optimizer.md %}#query-plan-cache). This means a generic query plan built and optimized for a prepared statement in one session cannot be used by another session. To reuse generic query plans for maximum performance, a prepared statement should be executed multiple times instead of prepared and executed once. #128911 \ No newline at end of file diff --git a/src/current/_includes/v25.2/known-limitations/jsonpath-limitations.md b/src/current/_includes/v25.2/known-limitations/jsonpath-limitations.md index 9b51bfb6e87..a74232bd40b 100644 --- a/src/current/_includes/v25.2/known-limitations/jsonpath-limitations.md +++ b/src/current/_includes/v25.2/known-limitations/jsonpath-limitations.md @@ -1,2 +1,2 @@ -- The following keywords are only accepted in lowercase: `strict`, `lax`, `exists`, `like_regex`, `flag`, `is unknown`, `to`, `last`. [#144255](https://github.com/cockroachdb/cockroach/issues/144255) -- Comparisons involving empty arrays (e.g., `SELECT jsonb_path_query('{"a": [1], "b": []}', '$.a == $.b');`) return `null`, rather than `false` as in PostgreSQL. [#145099](https://github.com/cockroachdb/cockroach/issues/145099) \ No newline at end of file +- The following keywords are only accepted in lowercase: `strict`, `lax`, `exists`, `like_regex`, `flag`, `is unknown`, `to`, `last`. #144255 +- Comparisons involving empty arrays (e.g., `SELECT jsonb_path_query('{"a": [1], "b": []}', '$.a == $.b');`) return `null`, rather than `false` as in PostgreSQL. #145099 \ No newline at end of file diff --git a/src/current/_includes/v25.2/known-limitations/ldr-column-families.md b/src/current/_includes/v25.2/known-limitations/ldr-column-families.md index 2a7c3bbba52..0c9dcd74ae4 100644 --- a/src/current/_includes/v25.2/known-limitations/ldr-column-families.md +++ b/src/current/_includes/v25.2/known-limitations/ldr-column-families.md @@ -1 +1 @@ -Replicating tables cannot contain [column families]({% link {{ page.version.version }}/column-families.md %}). [#133562](https://github.com/cockroachdb/cockroach/issues/133562) \ No newline at end of file +Replicating tables cannot contain [column families]({% link {{ page.version.version }}/column-families.md %}). #133562 \ No newline at end of file diff --git a/src/current/_includes/v25.2/known-limitations/ldr-composite-primary.md b/src/current/_includes/v25.2/known-limitations/ldr-composite-primary.md index ac897af35a7..2a790952946 100644 --- a/src/current/_includes/v25.2/known-limitations/ldr-composite-primary.md +++ b/src/current/_includes/v25.2/known-limitations/ldr-composite-primary.md @@ -1 +1 @@ -The [primary key]({% link {{ page.version.version }}/primary-key.md %}) in replicating tables cannot contain composite types. [#133572](https://github.com/cockroachdb/cockroach/issues/133572) \ No newline at end of file +The [primary key]({% link {{ page.version.version }}/primary-key.md %}) in replicating tables cannot contain composite types. #133572 \ No newline at end of file diff --git a/src/current/_includes/v25.2/known-limitations/ldr-indexes.md b/src/current/_includes/v25.2/known-limitations/ldr-indexes.md index 0bf7f60c2d4..4936f9868bd 100644 --- a/src/current/_includes/v25.2/known-limitations/ldr-indexes.md +++ b/src/current/_includes/v25.2/known-limitations/ldr-indexes.md @@ -1 +1 @@ -Replicating tables cannot contain an [index]({% link {{ page.version.version }}/indexes.md %}) that requires expression evaluation before insertion. [#133560](https://github.com/cockroachdb/cockroach/issues/133560) \ No newline at end of file +Replicating tables cannot contain an [index]({% link {{ page.version.version }}/indexes.md %}) that requires expression evaluation before insertion. #133560 \ No newline at end of file diff --git a/src/current/_includes/v25.2/known-limitations/ldr-sequences.md b/src/current/_includes/v25.2/known-limitations/ldr-sequences.md index 4e39f3630e3..693c0cc685b 100644 --- a/src/current/_includes/v25.2/known-limitations/ldr-sequences.md +++ b/src/current/_includes/v25.2/known-limitations/ldr-sequences.md @@ -1 +1 @@ -Replicating table cannot reference [sequences]({% link {{ page.version.version }}/create-sequence.md %}). [#132303](https://github.com/cockroachdb/cockroach/issues/132303) \ No newline at end of file +Replicating table cannot reference [sequences]({% link {{ page.version.version }}/create-sequence.md %}). #132303 \ No newline at end of file diff --git a/src/current/_includes/v25.2/known-limitations/ldr-triggers.md b/src/current/_includes/v25.2/known-limitations/ldr-triggers.md index 55f8e885b97..a587568b69a 100644 --- a/src/current/_includes/v25.2/known-limitations/ldr-triggers.md +++ b/src/current/_includes/v25.2/known-limitations/ldr-triggers.md @@ -1 +1 @@ -Replicating tables cannot reference triggers. [#132301](https://github.com/cockroachdb/cockroach/issues/132301) \ No newline at end of file +Replicating tables cannot reference triggers. #132301 \ No newline at end of file diff --git a/src/current/_includes/v25.2/known-limitations/ldr-udfs.md b/src/current/_includes/v25.2/known-limitations/ldr-udfs.md index fb642f14751..62eea605b52 100644 --- a/src/current/_includes/v25.2/known-limitations/ldr-udfs.md +++ b/src/current/_includes/v25.2/known-limitations/ldr-udfs.md @@ -1 +1 @@ -Replicating tables cannot reference [user-defined functions]({% link {{ page.version.version }}/user-defined-functions.md %}). [#132302](https://github.com/cockroachdb/cockroach/issues/132302) \ No newline at end of file +Replicating tables cannot reference [user-defined functions]({% link {{ page.version.version }}/user-defined-functions.md %}). #132302 \ No newline at end of file diff --git a/src/current/_includes/v25.2/known-limitations/locality-optimized-search-virtual-computed-columns.md b/src/current/_includes/v25.2/known-limitations/locality-optimized-search-virtual-computed-columns.md index d6acf418aa8..39b3f2cb00e 100644 --- a/src/current/_includes/v25.2/known-limitations/locality-optimized-search-virtual-computed-columns.md +++ b/src/current/_includes/v25.2/known-limitations/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). [#68129](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). #68129 diff --git a/src/current/_includes/v25.2/known-limitations/materialized-views-no-stats.md b/src/current/_includes/v25.2/known-limitations/materialized-views-no-stats.md index 02f2bd787c4..2bfe00d5307 100644 --- a/src/current/_includes/v25.2/known-limitations/materialized-views-no-stats.md +++ b/src/current/_includes/v25.2/known-limitations/materialized-views-no-stats.md @@ -1 +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. [#78181](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. #78181. diff --git a/src/current/_includes/v25.2/known-limitations/multiple-arbiter-indexes.md b/src/current/_includes/v25.2/known-limitations/multiple-arbiter-indexes.md index c9861623314..28b41eca491 100644 --- a/src/current/_includes/v25.2/known-limitations/multiple-arbiter-indexes.md +++ b/src/current/_includes/v25.2/known-limitations/multiple-arbiter-indexes.md @@ -1 +1 @@ -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. [#53170](https://github.com/cockroachdb/cockroach/issues/53170) \ No newline at end of file +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. #53170 \ No newline at end of file diff --git a/src/current/_includes/v25.2/known-limitations/plpgsql-limitations.md b/src/current/_includes/v25.2/known-limitations/plpgsql-limitations.md index c17954748a0..6050d209753 100644 --- a/src/current/_includes/v25.2/known-limitations/plpgsql-limitations.md +++ b/src/current/_includes/v25.2/known-limitations/plpgsql-limitations.md @@ -1,25 +1,25 @@ {% if page.name != "known-limitations.md" # New limitations in v24.2 %} {% endif %} -- It is not possible to use a variable as a target more than once in the same `INTO` clause. For example, `SELECT 1, 2 INTO x, x;`. [#121605](https://github.com/cockroachdb/cockroach/issues/121605) -- PLpgSQL variable declarations cannot inherit the type of a table row or column using `%TYPE` or `%ROWTYPE` syntax. [#114676](https://github.com/cockroachdb/cockroach/issues/114676) -- PL/pgSQL arguments cannot be referenced with ordinals (e.g., `$1`, `$2`). [#114701](https://github.com/cockroachdb/cockroach/issues/114701) +- It is not possible to use a variable as a target more than once in the same `INTO` clause. For example, `SELECT 1, 2 INTO x, x;`. #121605 +- PLpgSQL variable declarations cannot inherit the type of a table row or column using `%TYPE` or `%ROWTYPE` syntax. #114676 +- PL/pgSQL arguments cannot be referenced with ordinals (e.g., `$1`, `$2`). #114701 - The following statements are not supported: - - `FOR` cursor loops, `FOR` query loops, and `FOREACH` loops. [#105246](https://github.com/cockroachdb/cockroach/issues/105246) - - `PERFORM`, `EXECUTE`, `GET DIAGNOSTICS`, and `CASE`. [#117744](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 %}). [#111446](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`). [#106237](https://github.com/cockroachdb/cockroach/issues/106237) -- `RAISE` statements message the client directly, and do not produce log output. [#117750](https://github.com/cockroachdb/cockroach/issues/117750) -- `ASSERT` debugging checks are not supported. [#117744](https://github.com/cockroachdb/cockroach/issues/117744) -- `RECORD` parameters and variables are not supported in [user-defined functions]({% link {{ page.version.version }}/user-defined-functions.md %}). [#105713](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. [#117508](https://github.com/cockroachdb/cockroach/issues/117508) -- Syntax for accessing members of composite types without parentheses is not supported. [#114687](https://github.com/cockroachdb/cockroach/issues/114687) -- `NOT NULL` variable declarations are not supported. [#105243](https://github.com/cockroachdb/cockroach/issues/105243) -- Cursors opened in PL/pgSQL execute their queries on opening, affecting performance and resource usage. [#111479](https://github.com/cockroachdb/cockroach/issues/111479) -- Cursors in PL/pgSQL cannot be declared with arguments. [#117746](https://github.com/cockroachdb/cockroach/issues/117746) -- `OPEN FOR EXECUTE` is not supported for opening cursors. [#117744](https://github.com/cockroachdb/cockroach/issues/117744) -- The `print_strict_params` option is not supported in PL/pgSQL. [#123671](https://github.com/cockroachdb/cockroach/issues/123671) -- The `FOUND` local variable, which checks whether a statement affected any rows, is not supported in PL/pgSQL. [#122306](https://github.com/cockroachdb/cockroach/issues/122306) -- By default, when a PL/pgSQL variable conflicts with a column name, CockroachDB resolves the ambiguity by treating it as a column reference rather than a variable reference. This behavior differs from PostgreSQL, where an ambiguous column error is reported, and it is possible to change the `plpgsql.variable_conflict` setting in order to prefer either columns or variables. [#115680](https://github.com/cockroachdb/cockroach/issues/115680) -- It is not possible to define a `RECORD`-returning PL/pgSQL function that returns different-typed expressions from different `RETURN` statements. CockroachDB requires a consistent return type for `RECORD`-returning functions. [#115384](https://github.com/cockroachdb/cockroach/issues/115384) -- Variables cannot be declared with an associated collation using the `COLLATE` keyword. [#105245](https://github.com/cockroachdb/cockroach/issues/105245) -- Variables cannot be accessed using the `label.var_name` pattern. [#122322](https://github.com/cockroachdb/cockroach/issues/122322) \ No newline at end of file + - `FOR` cursor loops, `FOR` query loops, and `FOREACH` loops. #105246 + - `PERFORM`, `EXECUTE`, `GET DIAGNOSTICS`, and `CASE`. #117744 +- PL/pgSQL exception blocks cannot catch [transaction retry errors]({% link {{ page.version.version }}/transaction-retry-error-reference.md %}). #111446 +- `RAISE` statements cannot be annotated with names of schema objects related to the error (i.e., using `COLUMN`, `CONSTRAINT`, `DATATYPE`, `TABLE`, or `SCHEMA`). #106237 +- `RAISE` statements message the client directly, and do not produce log output. #117750 +- `ASSERT` debugging checks are not supported. #117744 +- `RECORD` parameters and variables are not supported in [user-defined functions]({% link {{ page.version.version }}/user-defined-functions.md %}). #105713 +- Variable shadowing (e.g., declaring a variable with the same name in an inner block) is not supported in PL/pgSQL. #117508 +- Syntax for accessing members of composite types without parentheses is not supported. #114687 +- `NOT NULL` variable declarations are not supported. #105243 +- Cursors opened in PL/pgSQL execute their queries on opening, affecting performance and resource usage. #111479 +- Cursors in PL/pgSQL cannot be declared with arguments. #117746 +- `OPEN FOR EXECUTE` is not supported for opening cursors. #117744 +- The `print_strict_params` option is not supported in PL/pgSQL. #123671 +- The `FOUND` local variable, which checks whether a statement affected any rows, is not supported in PL/pgSQL. #122306 +- By default, when a PL/pgSQL variable conflicts with a column name, CockroachDB resolves the ambiguity by treating it as a column reference rather than a variable reference. This behavior differs from PostgreSQL, where an ambiguous column error is reported, and it is possible to change the `plpgsql.variable_conflict` setting in order to prefer either columns or variables. #115680 +- It is not possible to define a `RECORD`-returning PL/pgSQL function that returns different-typed expressions from different `RETURN` statements. CockroachDB requires a consistent return type for `RECORD`-returning functions. #115384 +- Variables cannot be declared with an associated collation using the `COLLATE` keyword. #105245 +- Variables cannot be accessed using the `label.var_name` pattern. #122322 \ No newline at end of file diff --git a/src/current/_includes/v25.2/known-limitations/read-committed-limitations.md b/src/current/_includes/v25.2/known-limitations/read-committed-limitations.md index 63f83b15dd8..1f466997ed8 100644 --- a/src/current/_includes/v25.2/known-limitations/read-committed-limitations.md +++ b/src/current/_includes/v25.2/known-limitations/read-committed-limitations.md @@ -1,6 +1,6 @@ -- 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 when the [`autocommit_before_ddl` session setting]({% link {{page.version.version}}/set-vars.md %}#autocommit-before-ddl) is set to `off`, 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`. [#114778](https://github.com/cockroachdb/cockroach/issues/114778) -- Multi-column-family checks during updates are not supported under `READ COMMITTED` isolation. [#112488](https://github.com/cockroachdb/cockroach/issues/112488) +- 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 when the [`autocommit_before_ddl` session setting]({% link {{page.version.version}}/set-vars.md %}#autocommit-before-ddl) is set to `off`, 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`. #114778 +- Multi-column-family checks during updates are not supported under `READ COMMITTED` isolation. #112488 - Because locks acquired by [foreign key]({% link {{ page.version.version }}/foreign-key.md %}) checks, [`SELECT FOR UPDATE`]({% link {{ page.version.version }}/select-for-update.md %}), and [`SELECT FOR SHARE`]({% link {{ page.version.version }}/select-for-update.md %}) are fully replicated under `READ COMMITTED` isolation, some queries experience a delay for Raft replication. - [Foreign key]({% link {{ page.version.version }}/foreign-key.md %}) checks are not performed in parallel under `READ COMMITTED` isolation. - [`SELECT FOR UPDATE` and `SELECT FOR SHARE`]({% link {{ page.version.version }}/select-for-update.md %}) statements are less optimized under `READ COMMITTED` isolation than under `SERIALIZABLE` isolation. Under `READ COMMITTED` isolation, `SELECT FOR UPDATE` and `SELECT FOR SHARE` usually perform an extra lookup join for every locked table when compared to the same queries under `SERIALIZABLE`. In addition, some optimization steps (such as de-correlation of correlated [subqueries]({% link {{ page.version.version }}/subqueries.md %})) are not currently performed on these queries. -- Regardless of isolation level, [`SELECT FOR UPDATE` and `SELECT FOR SHARE`]({% link {{ page.version.version }}/select-for-update.md %}) statements in CockroachDB do not prevent insertion of new rows matching the search condition (i.e., [phantom reads]({% link {{ page.version.version }}/read-committed.md %}#non-repeatable-reads-and-phantom-reads)). This matches PostgreSQL behavior at all isolation levels. [#120673](https://github.com/cockroachdb/cockroach/issues/120673) \ No newline at end of file +- Regardless of isolation level, [`SELECT FOR UPDATE` and `SELECT FOR SHARE`]({% link {{ page.version.version }}/select-for-update.md %}) statements in CockroachDB do not prevent insertion of new rows matching the search condition (i.e., [phantom reads]({% link {{ page.version.version }}/read-committed.md %}#non-repeatable-reads-and-phantom-reads)). This matches PostgreSQL behavior at all isolation levels. #120673 \ No newline at end of file diff --git a/src/current/_includes/v25.2/known-limitations/restore-multiregion-match.md b/src/current/_includes/v25.2/known-limitations/restore-multiregion-match.md index ab2f1029ecd..634d695246e 100644 --- a/src/current/_includes/v25.2/known-limitations/restore-multiregion-match.md +++ b/src/current/_includes/v25.2/known-limitations/restore-multiregion-match.md @@ -47,4 +47,4 @@ ALTER DATABASE destination_database SET PRIMARY REGION "us-east1"; ~~~ - [#71071](https://github.com/cockroachdb/cockroach/issues/71071) \ No newline at end of file + #71071 \ No newline at end of file diff --git a/src/current/_includes/v25.2/known-limitations/restore-tables-non-multi-reg.md b/src/current/_includes/v25.2/known-limitations/restore-tables-non-multi-reg.md index 5390f2d09ee..e05bc340141 100644 --- a/src/current/_includes/v25.2/known-limitations/restore-tables-non-multi-reg.md +++ b/src/current/_includes/v25.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. [#71502](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. #71502 diff --git a/src/current/_includes/v25.2/known-limitations/restore-udf.md b/src/current/_includes/v25.2/known-limitations/restore-udf.md index a4a4bc080fe..e4180219a25 100644 --- a/src/current/_includes/v25.2/known-limitations/restore-udf.md +++ b/src/current/_includes/v25.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. [#118195](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. #118195 \ No newline at end of file diff --git a/src/current/_includes/v25.2/known-limitations/rls-values-on-conflict-do-nothing.md b/src/current/_includes/v25.2/known-limitations/rls-values-on-conflict-do-nothing.md index c85dea7987a..d274e573dc9 100644 --- a/src/current/_includes/v25.2/known-limitations/rls-values-on-conflict-do-nothing.md +++ b/src/current/_includes/v25.2/known-limitations/rls-values-on-conflict-do-nothing.md @@ -1 +1 @@ -`ON CONFLICT ... DO NOTHING`: CockroachDB does not run the constraint and row-level policy checks on the `VALUES` clause if the candidate row has a conflict. [#35370](https://github.com/cockroachdb/cockroach/issues/35370). +`ON CONFLICT ... DO NOTHING`: CockroachDB does not run the constraint and row-level policy checks on the `VALUES` clause if the candidate row has a conflict. #35370. diff --git a/src/current/_includes/v25.2/known-limitations/rls-visibility-issue.md b/src/current/_includes/v25.2/known-limitations/rls-visibility-issue.md index 453059825a3..5d16325382f 100644 --- a/src/current/_includes/v25.2/known-limitations/rls-visibility-issue.md +++ b/src/current/_includes/v25.2/known-limitations/rls-visibility-issue.md @@ -1 +1 @@ -Under certain conditions, such as when executing certain SQL functions, CockroachDB's row-level security (RLS) implementation exposes metadata about the number of restricted rows in a table. For example, when a user applies arbitrary SQL filters on a table with RLS enabled, it's possible for the user to see how many total rows are in the table; this count includes rows that the user does not have direct access to. This metadata leakage can also occur when statements like [`EXPLAIN ANALYZE`]({% link {{ page.version.version }}/explain.md %}) are used, as the output includes a count of the number of rows scanned by the query that can include the number of restricted rows, even though the rows themselves are not directly accessible. [#146952](https://github.com/cockroachdb/cockroach/issues/146952) +Under certain conditions, such as when executing certain SQL functions, CockroachDB's row-level security (RLS) implementation exposes metadata about the number of restricted rows in a table. For example, when a user applies arbitrary SQL filters on a table with RLS enabled, it's possible for the user to see how many total rows are in the table; this count includes rows that the user does not have direct access to. This metadata leakage can also occur when statements like [`EXPLAIN ANALYZE`]({% link {{ page.version.version }}/explain.md %}) are used, as the output includes a count of the number of rows scanned by the query that can include the number of restricted rows, even though the rows themselves are not directly accessible. #146952 diff --git a/src/current/_includes/v25.2/known-limitations/routine-limitations.md b/src/current/_includes/v25.2/known-limitations/routine-limitations.md index 4718c6c7abf..fa16791b56a 100644 --- a/src/current/_includes/v25.2/known-limitations/routine-limitations.md +++ b/src/current/_includes/v25.2/known-limitations/routine-limitations.md @@ -1,10 +1,10 @@ {% if page.name != "known-limitations.md" # New limitations in v24.2 %} {% endif %} -- Routines cannot be invoked with named arguments, e.g., `SELECT foo(a => 1, b => 2);` or `SELECT foo(b := 1, a := 2);`. [#122264](https://github.com/cockroachdb/cockroach/issues/122264) -- Routines cannot be created if they reference temporary tables. [#121375](https://github.com/cockroachdb/cockroach/issues/121375) -- Routines cannot be created with unnamed `INOUT` parameters. For example, `CREATE PROCEDURE p(INOUT INT) AS $$ BEGIN NULL; END; $$ LANGUAGE PLpgSQL;`. [#121251](https://github.com/cockroachdb/cockroach/issues/121251) -- Routines cannot be created if they return fewer columns than declared. For example, `CREATE FUNCTION f(OUT sum INT, INOUT a INT, INOUT b INT) LANGUAGE SQL AS $$ SELECT (a + b, b); $$;`. [#121247](https://github.com/cockroachdb/cockroach/issues/121247) -- Routines cannot be created with an `OUT` parameter of type `RECORD`. [#123448](https://github.com/cockroachdb/cockroach/issues/123448) -- DDL statements (e.g., `CREATE TABLE`, `CREATE INDEX`) are not allowed within UDFs or stored procedures. [#110080](https://github.com/cockroachdb/cockroach/issues/110080) -- Polymorphic types cannot be cast to other types (e.g., `TEXT`) within routine parameters. [#123536](https://github.com/cockroachdb/cockroach/issues/123536) -- Routine parameters and return types cannot be declared using the `ANYENUM` polymorphic type, which is able to match any [`ENUM`]({% link {{ page.version.version }}/enum.md %}) type. [123048](https://github.com/cockroachdb/cockroach/issues/123048) \ No newline at end of file +- Routines cannot be invoked with named arguments, e.g., `SELECT foo(a => 1, b => 2);` or `SELECT foo(b := 1, a := 2);`. #122264 +- Routines cannot be created if they reference temporary tables. #121375 +- Routines cannot be created with unnamed `INOUT` parameters. For example, `CREATE PROCEDURE p(INOUT INT) AS $$ BEGIN NULL; END; $$ LANGUAGE PLpgSQL;`. #121251 +- Routines cannot be created if they return fewer columns than declared. For example, `CREATE FUNCTION f(OUT sum INT, INOUT a INT, INOUT b INT) LANGUAGE SQL AS $$ SELECT (a + b, b); $$;`. #121247 +- Routines cannot be created with an `OUT` parameter of type `RECORD`. #123448 +- DDL statements (e.g., `CREATE TABLE`, `CREATE INDEX`) are not allowed within UDFs or stored procedures. #110080 +- Polymorphic types cannot be cast to other types (e.g., `TEXT`) within routine parameters. #123536 +- Routine parameters and return types cannot be declared using the `ANYENUM` polymorphic type, which is able to match any [`ENUM`]({% link {{ page.version.version }}/enum.md %}) type. 123048 \ No newline at end of file diff --git a/src/current/_includes/v25.2/known-limitations/row-level-ttl-limitations.md b/src/current/_includes/v25.2/known-limitations/row-level-ttl-limitations.md index c386ba576d7..4460901566d 100644 --- a/src/current/_includes/v25.2/known-limitations/row-level-ttl-limitations.md +++ b/src/current/_includes/v25.2/known-limitations/row-level-ttl-limitations.md @@ -1,5 +1,5 @@ - Any queries you run against tables with Row-Level TTL enabled (or against tables that have [foreign keys]({% link {{page.version.version}}/foreign-key.md %}) that reference TTL-enabled tables) do not filter out expired rows from the result set (this includes [`UPDATE`s]({% link {{ page.version.version }}/update.md %}) and [`DELETE`s]({% link {{ page.version.version }}/delete.md %})). This feature may be added in a future release. For now, follow the instructions in [Filter out expired rows from a selection query]({% link {{ page.version.version }}/row-level-ttl.md %}#filter-out-expired-rows-from-a-selection-query). -- Tables with Row-Level TTL can be referenced by [foreign keys]({% link {{page.version.version}}/foreign-key.md %}). TTL deletes are issued as regular [`DELETE`]({% link {{ page.version.version }}/delete.md %}) statements, so inbound foreign keys apply. If an inbound foreign key uses `ON DELETE RESTRICT` and referencing rows exist, the TTL job fails with a foreign key violation. [#101372](https://github.com/cockroachdb/cockroach/issues/101372) +- Tables with Row-Level TTL can be referenced by [foreign keys]({% link {{page.version.version}}/foreign-key.md %}). TTL deletes are issued as regular [`DELETE`]({% link {{ page.version.version }}/delete.md %}) statements, so inbound foreign keys apply. If an inbound foreign key uses `ON DELETE RESTRICT` and referencing rows exist, the TTL job fails with a foreign key violation. #101372 - Enabling Row-Level TTL on a table with multiple [secondary indexes]({% link {{ page.version.version }}/indexes.md %}) can have negative performance impacts on a cluster, including increased [latency]({% link {{ page.version.version }}/common-issues-to-monitor.md %}#service-latency) and [contention]({% link {{ page.version.version }}/performance-best-practices-overview.md %}#transaction-contention). This is particularly true for large tables with terabytes of data and billions of rows that are split up into multiple ranges across separate nodes. - Increased latency may occur because secondary indexes aren't necessarily stored on the same underlying [ranges]({% link {{ page.version.version }}/architecture/overview.md %}#architecture-range) as a table's [primary indexes]({% link {{ page.version.version }}/indexes.md %}). Further, the secondary indexes' ranges may have [leaseholders]({% link {{ page.version.version }}/architecture/overview.md %}#architecture-leaseholder) located on different nodes than the primary index. - Increased contention may occur because [intents]({% link {{ page.version.version }}/architecture/transaction-layer.md %}#write-intents) must be written as part of performing the deletions. diff --git a/src/current/_includes/v25.2/known-limitations/select-for-update-limitations.md b/src/current/_includes/v25.2/known-limitations/select-for-update-limitations.md index 1ed68e692e4..e599353243a 100644 --- a/src/current/_includes/v25.2/known-limitations/select-for-update-limitations.md +++ b/src/current/_includes/v25.2/known-limitations/select-for-update-limitations.md @@ -1,4 +1,4 @@ -- `SKIP LOCKED` cannot be used for tables with multiple [column families]({% link {{ page.version.version }}/column-families.md %}). [#160961](https://github.com/cockroachdb/cockroach/issues/160961) +- `SKIP LOCKED` cannot be used for tables with multiple [column families]({% link {{ page.version.version }}/column-families.md %}). #160961 - By default under `SERIALIZABLE` isolation, locks acquired using `SELECT ... FOR UPDATE` and `SELECT ... FOR SHARE` are implemented as fast, in-memory [unreplicated locks](architecture/transaction-layer.html#unreplicated-locks). If a [lease transfer]({% link {{ page.version.version }}/architecture/replication-layer.md %}#leases) or [range split/merge]({% link {{ page.version.version }}/architecture/distribution-layer.md %}#range-merges) occurs on a range held by an unreplicated lock, the lock is dropped. The following behaviors can occur: - 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`]({% link {{ page.version.version }}/transaction-retry-error-reference.md %}) and the [`restart transaction` error message]({% link {{ page.version.version }}/common-errors.md %}#restart-transaction). diff --git a/src/current/_includes/v25.2/known-limitations/set-transaction-no-rollback.md b/src/current/_includes/v25.2/known-limitations/set-transaction-no-rollback.md index 21864daa9de..885a380d32e 100644 --- a/src/current/_includes/v25.2/known-limitations/set-transaction-no-rollback.md +++ b/src/current/_includes/v25.2/known-limitations/set-transaction-no-rollback.md @@ -14,4 +14,4 @@ timezone 3 ~~~ -[#69396](https://github.com/cockroachdb/cockroach/issues/69396), [#148766](https://github.com/cockroachdb/cockroach/issues/148766) \ No newline at end of file +#69396, #148766 \ No newline at end of file diff --git a/src/current/_includes/v25.2/known-limitations/show-backup-symlink.md b/src/current/_includes/v25.2/known-limitations/show-backup-symlink.md index 38ba86fb28f..1c7a5612242 100644 --- a/src/current/_includes/v25.2/known-limitations/show-backup-symlink.md +++ b/src/current/_includes/v25.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. [#70260](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. #70260 \ No newline at end of file diff --git a/src/current/_includes/v25.2/known-limitations/sql-cursors.md b/src/current/_includes/v25.2/known-limitations/sql-cursors.md index bceff96d5a6..1924400e85d 100644 --- a/src/current/_includes/v25.2/known-limitations/sql-cursors.md +++ b/src/current/_includes/v25.2/known-limitations/sql-cursors.md @@ -1,8 +1,8 @@ CockroachDB implements SQL {% if page.name == "known-limitations.md" %} [cursor]({% link {{ page.version.version }}/cursors.md %}) {% else %} cursor {% endif %} support with the following limitations: -- `DECLARE` only supports forward cursors. Reverse cursors created with `DECLARE SCROLL` are not supported. [#77102](https://github.com/cockroachdb/cockroach/issues/77102) -- `FETCH` supports forward, relative, and absolute variants, but only for forward cursors. [#77102](https://github.com/cockroachdb/cockroach/issues/77102) -- `BINARY CURSOR`, which returns data in the Postgres binary format, is not supported. [#77099](https://github.com/cockroachdb/cockroach/issues/77099) -- Scrollable cursor (also known as reverse `FETCH`) is not supported. [#77102](https://github.com/cockroachdb/cockroach/issues/77102) -- [`SELECT ... FOR UPDATE`]({% link {{ page.version.version }}/select-for-update.md %}) with a cursor is not supported. [#77103](https://github.com/cockroachdb/cockroach/issues/77103) -- Respect for [`SAVEPOINT`s]({% link {{ page.version.version }}/savepoint.md %}) is not supported. Cursor definitions do not disappear properly if rolled back to a `SAVEPOINT` from before they were created. [#77104](https://github.com/cockroachdb/cockroach/issues/77104) +- `DECLARE` only supports forward cursors. Reverse cursors created with `DECLARE SCROLL` are not supported. #77102 +- `FETCH` supports forward, relative, and absolute variants, but only for forward cursors. #77102 +- `BINARY CURSOR`, which returns data in the Postgres binary format, is not supported. #77099 +- Scrollable cursor (also known as reverse `FETCH`) is not supported. #77102 +- [`SELECT ... FOR UPDATE`]({% link {{ page.version.version }}/select-for-update.md %}) with a cursor is not supported. #77103 +- Respect for [`SAVEPOINT`s]({% link {{ page.version.version }}/savepoint.md %}) is not supported. Cursor definitions do not disappear properly if rolled back to a `SAVEPOINT` from before they were created. #77104 diff --git a/src/current/_includes/v25.2/known-limitations/srid-4326-limitations.md b/src/current/_includes/v25.2/known-limitations/srid-4326-limitations.md index b556a9fbecd..294a1a53bd4 100644 --- a/src/current/_includes/v25.2/known-limitations/srid-4326-limitations.md +++ b/src/current/_includes/v25.2/known-limitations/srid-4326-limitations.md @@ -1 +1 @@ -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. [#55903](https://github.com/cockroachdb/cockroach/issues/55903) \ No newline at end of file +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. #55903 \ No newline at end of file diff --git a/src/current/_includes/v25.2/known-limitations/stats-refresh-upgrade.md b/src/current/_includes/v25.2/known-limitations/stats-refresh-upgrade.md index 3d5a8d26325..3325dfaa53b 100644 --- a/src/current/_includes/v25.2/known-limitations/stats-refresh-upgrade.md +++ b/src/current/_includes/v25.2/known-limitations/stats-refresh-upgrade.md @@ -1 +1 @@ -- The [automatic statistics refresher]({% link {{ page.version.version }}/cost-based-optimizer.md %}#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]({% link {{ page.version.version }}/upgrade-cockroach-version.md %}). This could cause a problem, for example, if the upgrade moves from a version without [histograms]({% link {{ page.version.version }}/cost-based-optimizer.md %}#control-histogram-collection) to a version with histograms. To refresh statistics manually, use [`CREATE STATISTICS`](create-statistics.html). [#54816](https://github.com/cockroachdb/cockroach/issues/54816) +- The [automatic statistics refresher]({% link {{ page.version.version }}/cost-based-optimizer.md %}#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]({% link {{ page.version.version }}/upgrade-cockroach-version.md %}). This could cause a problem, for example, if the upgrade moves from a version without [histograms]({% link {{ page.version.version }}/cost-based-optimizer.md %}#control-histogram-collection) to a version with histograms. To refresh statistics manually, use [`CREATE STATISTICS`](create-statistics.html). #54816 diff --git a/src/current/_includes/v25.2/known-limitations/stored-proc-limitations.md b/src/current/_includes/v25.2/known-limitations/stored-proc-limitations.md index b2ba1b61562..bce2e47d6b8 100644 --- a/src/current/_includes/v25.2/known-limitations/stored-proc-limitations.md +++ b/src/current/_includes/v25.2/known-limitations/stored-proc-limitations.md @@ -1,3 +1,3 @@ {% if page.name != "known-limitations.md" # New limitations in v24.2 %} {% endif %} -- `COMMIT` and `ROLLBACK` statements are not supported within nested procedures. [#122266](https://github.com/cockroachdb/cockroach/issues/122266) \ No newline at end of file +- `COMMIT` and `ROLLBACK` statements are not supported within nested procedures. #122266 \ No newline at end of file diff --git a/src/current/_includes/v25.2/known-limitations/trigger-limitations.md b/src/current/_includes/v25.2/known-limitations/trigger-limitations.md index 7373cd486e7..f2514d24113 100644 --- a/src/current/_includes/v25.2/known-limitations/trigger-limitations.md +++ b/src/current/_includes/v25.2/known-limitations/trigger-limitations.md @@ -1,6 +1,6 @@ -- `CREATE OR REPLACE TRIGGER` is not supported. [#128422](https://github.com/cockroachdb/cockroach/issues/128422) -- Statement-level triggers are not supported. [#126362](https://github.com/cockroachdb/cockroach/issues/126362) -- `INSTEAD OF` triggers are not supported. [#126363](https://github.com/cockroachdb/cockroach/issues/126363) -- A [trigger function]({% link {{ page.version.version }}/triggers.md %}#trigger-function) that is used in an existing trigger cannot be replaced with `CREATE OR REPLACE` syntax. To use `CREATE OR REPLACE`, first [drop any triggers]({% link {{ page.version.version }}/drop-trigger.md %}) that are using the function. [#134555](https://github.com/cockroachdb/cockroach/issues/134555) -- Hidden columns are not visible to triggers. [#133331](https://github.com/cockroachdb/cockroach/issues/133331) +- `CREATE OR REPLACE TRIGGER` is not supported. #128422 +- Statement-level triggers are not supported. #126362 +- `INSTEAD OF` triggers are not supported. #126363 +- A [trigger function]({% link {{ page.version.version }}/triggers.md %}#trigger-function) that is used in an existing trigger cannot be replaced with `CREATE OR REPLACE` syntax. To use `CREATE OR REPLACE`, first [drop any triggers]({% link {{ page.version.version }}/drop-trigger.md %}) that are using the function. #134555 +- Hidden columns are not visible to triggers. #133331 - {% include {{ page.version.version }}/known-limitations/drop-trigger-limitations.md %} \ No newline at end of file diff --git a/src/current/_includes/v25.2/known-limitations/trigram-unsupported-syntax.md b/src/current/_includes/v25.2/known-limitations/trigram-unsupported-syntax.md index 494730c7ae8..a981c4915b0 100644 --- a/src/current/_includes/v25.2/known-limitations/trigram-unsupported-syntax.md +++ b/src/current/_includes/v25.2/known-limitations/trigram-unsupported-syntax.md @@ -6,4 +6,4 @@ - Acceleration on [regex string matching]({% link {{ page.version.version }}/scalar-expressions.md %}#string-matching-using-posix-regular-expressions). - `%` comparisons, `show_trgm`, and trigram index creation on [collated strings]({% link {{ page.version.version }}/collate.md %}). -[#41285](https://github.com/cockroachdb/cockroach/issues/41285) \ No newline at end of file +#41285 \ No newline at end of file diff --git a/src/current/_includes/v25.2/known-limitations/udf-limitations.md b/src/current/_includes/v25.2/known-limitations/udf-limitations.md index 8b2ef66b403..5e96fd49283 100644 --- a/src/current/_includes/v25.2/known-limitations/udf-limitations.md +++ b/src/current/_includes/v25.2/known-limitations/udf-limitations.md @@ -1,9 +1,9 @@ {% if page.name != "known-limitations.md" # New limitations in v24.2 %} {% endif %} -- A `RECORD`-returning UDF cannot be created without a `RETURN` statement in the root block, which would restrict the wildcard type to a concrete one. [#122945](https://github.com/cockroachdb/cockroach/issues/122945) +- A `RECORD`-returning UDF cannot be created without a `RETURN` statement in the root block, which would restrict the wildcard type to a concrete one. #122945 - User-defined functions are not currently supported in: - - Expressions (column, index, constraint) in tables. [#87699](https://github.com/cockroachdb/cockroach/issues/87699) - - Views. [#87699](https://github.com/cockroachdb/cockroach/issues/87699) -- User-defined functions cannot call themselves recursively. [#93049](https://github.com/cockroachdb/cockroach/issues/93049) -- The `setval` function cannot be resolved when used inside UDF bodies. [#110860](https://github.com/cockroachdb/cockroach/issues/110860) -- Casting subqueries to [user-defined types]({% link {{ page.version.version }}/create-type.md %}) in UDFs is not supported. [#108184](https://github.com/cockroachdb/cockroach/issues/108184) \ No newline at end of file + - Expressions (column, index, constraint) in tables. #87699 + - Views. #87699 +- User-defined functions cannot call themselves recursively. #93049 +- The `setval` function cannot be resolved when used inside UDF bodies. #110860 +- Casting subqueries to [user-defined types]({% link {{ page.version.version }}/create-type.md %}) in UDFs is not supported. #108184 \ No newline at end of file diff --git a/src/current/_includes/v25.2/known-limitations/vector-limitations.md b/src/current/_includes/v25.2/known-limitations/vector-limitations.md index 603d96f9396..22fa40d8560 100644 --- a/src/current/_includes/v25.2/known-limitations/vector-limitations.md +++ b/src/current/_includes/v25.2/known-limitations/vector-limitations.md @@ -1,7 +1,7 @@ - {% include {{ page.version.version }}/sql/vector-batch-inserts.md %} -- Creating a vector index through a backfill disables mutations ([`INSERT`]({% link {{ page.version.version }}/insert.md %}), [`UPSERT`]({% link {{ page.version.version }}/upsert.md %}), [`UPDATE`]({% link {{ page.version.version }}/update.md %}), [`DELETE`]({% link {{ page.version.version }}/delete.md %})) on the table. [#144443](https://github.com/cockroachdb/cockroach/issues/144443) -- `IMPORT INTO` is not supported on tables with vector indexes. You can import the vectors first and create the index after import is complete. [#145227](https://github.com/cockroachdb/cockroach/issues/145227) -- Only L2 distance (`<->`) searches are accelerated. [#144016](https://github.com/cockroachdb/cockroach/issues/144016) -- Index acceleration with filters is only supported if the filters match prefix columns. [#146145](https://github.com/cockroachdb/cockroach/issues/146145) -- Index recommendations are not provided for vector indexes. [#146146](https://github.com/cockroachdb/cockroach/issues/146146) -- Vector index queries may return incorrect results when the underlying table uses multiple column families. [#146046](https://github.com/cockroachdb/cockroach/issues/146046) \ No newline at end of file +- Creating a vector index through a backfill disables mutations ([`INSERT`]({% link {{ page.version.version }}/insert.md %}), [`UPSERT`]({% link {{ page.version.version }}/upsert.md %}), [`UPDATE`]({% link {{ page.version.version }}/update.md %}), [`DELETE`]({% link {{ page.version.version }}/delete.md %})) on the table. #144443 +- `IMPORT INTO` is not supported on tables with vector indexes. You can import the vectors first and create the index after import is complete. #145227 +- Only L2 distance (`<->`) searches are accelerated. #144016 +- Index acceleration with filters is only supported if the filters match prefix columns. #146145 +- Index recommendations are not provided for vector indexes. #146146 +- Vector index queries may return incorrect results when the underlying table uses multiple column families. #146046 \ No newline at end of file diff --git a/src/current/_includes/v25.2/known-limitations/vectorized-engine-limitations.md b/src/current/_includes/v25.2/known-limitations/vectorized-engine-limitations.md index daea59ebf88..da227ad4825 100644 --- a/src/current/_includes/v25.2/known-limitations/vectorized-engine-limitations.md +++ b/src/current/_includes/v25.2/known-limitations/vectorized-engine-limitations.md @@ -1,2 +1,2 @@ -- The vectorized engine does not support queries containing a join filtered with an [`ON` expression]({% link {{ page.version.version }}/joins.md %}#supported-join-conditions). [#38018](https://github.com/cockroachdb/cockroach/issues/38018) +- The vectorized engine does not support queries containing a join filtered with an [`ON` expression]({% link {{ page.version.version }}/joins.md %}#supported-join-conditions). #38018 - 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/_includes/v25.3/known-limitations/alter-changefeed-cdc-queries.md b/src/current/_includes/v25.3/known-limitations/alter-changefeed-cdc-queries.md index 56dd7eeaacd..4134b3c9f86 100644 --- a/src/current/_includes/v25.3/known-limitations/alter-changefeed-cdc-queries.md +++ b/src/current/_includes/v25.3/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. [#83033](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. #83033 \ No newline at end of file diff --git a/src/current/_includes/v25.3/known-limitations/alter-changefeed-limitations.md b/src/current/_includes/v25.3/known-limitations/alter-changefeed-limitations.md index a183f2964f4..cb75ad71c55 100644 --- a/src/current/_includes/v25.3/known-limitations/alter-changefeed-limitations.md +++ b/src/current/_includes/v25.3/known-limitations/alter-changefeed-limitations.md @@ -1,4 +1,4 @@ -- It is necessary to [`PAUSE`]({% link {{ page.version.version }}/pause-job.md %}) the changefeed before performing any [`ALTER CHANGEFEED`]({% link {{ page.version.version }}/alter-changefeed.md %}) statement. [#77171](https://github.com/cockroachdb/cockroach/issues/77171) +- It is necessary to [`PAUSE`]({% link {{ page.version.version }}/pause-job.md %}) the changefeed before performing any [`ALTER CHANGEFEED`]({% link {{ page.version.version }}/alter-changefeed.md %}) statement. #77171 - 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: ~~~ sql diff --git a/src/current/_includes/v25.3/known-limitations/alter-view-limitations.md b/src/current/_includes/v25.3/known-limitations/alter-view-limitations.md index 642bed6ce08..e44921629ff 100644 --- a/src/current/_includes/v25.3/known-limitations/alter-view-limitations.md +++ b/src/current/_includes/v25.3/known-limitations/alter-view-limitations.md @@ -1,4 +1,4 @@ `ALTER VIEW` 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. [#10083](https://github.com/cockroachdb/cockroach/issues/10083) \ No newline at end of file +- Renaming a view that other views depend on. This feature may be added in the future. #10083 \ No newline at end of file diff --git a/src/current/_includes/v25.3/known-limitations/aost-limitations.md b/src/current/_includes/v25.3/known-limitations/aost-limitations.md index 811c884d08d..c42e62800d3 100644 --- a/src/current/_includes/v25.3/known-limitations/aost-limitations.md +++ b/src/current/_includes/v25.3/known-limitations/aost-limitations.md @@ -1 +1 @@ -CockroachDB does not support placeholders in {% if page.name == "as-of-system-time.md" %}`AS OF SYSTEM TIME`{% else %}[`AS OF SYSTEM TIME`]({% link {{ page.version.version }}/as-of-system-time.md %}){% endif %}. The time value must be a constant value embedded in the SQL string. [#30955](https://github.com/cockroachdb/cockroach/issues/30955) \ No newline at end of file +CockroachDB does not support placeholders in {% if page.name == "as-of-system-time.md" %}`AS OF SYSTEM TIME`{% else %}[`AS OF SYSTEM TIME`]({% link {{ page.version.version }}/as-of-system-time.md %}){% endif %}. The time value must be a constant value embedded in the SQL string. #30955 \ No newline at end of file diff --git a/src/current/_includes/v25.3/known-limitations/cannot-refresh-materialized-views-inside-transactions.md b/src/current/_includes/v25.3/known-limitations/cannot-refresh-materialized-views-inside-transactions.md index b0aaf728177..2f6fe466a95 100644 --- a/src/current/_includes/v25.3/known-limitations/cannot-refresh-materialized-views-inside-transactions.md +++ b/src/current/_includes/v25.3/known-limitations/cannot-refresh-materialized-views-inside-transactions.md @@ -24,4 +24,4 @@ SQLSTATE: 25000 ~~~ - [#66008](https://github.com/cockroachdb/cockroach/issues/66008) + #66008 diff --git a/src/current/_includes/v25.3/known-limitations/cdc-queries-column-families.md b/src/current/_includes/v25.3/known-limitations/cdc-queries-column-families.md index 505a8c9700e..52bdabec236 100644 --- a/src/current/_includes/v25.3/known-limitations/cdc-queries-column-families.md +++ b/src/current/_includes/v25.3/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. [#127761](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. #127761 \ No newline at end of file diff --git a/src/current/_includes/v25.3/known-limitations/cdc-queries.md b/src/current/_includes/v25.3/known-limitations/cdc-queries.md index 2839eba5eda..552900531b0 100644 --- a/src/current/_includes/v25.3/known-limitations/cdc-queries.md +++ b/src/current/_includes/v25.3/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). [#98237](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. [#83835](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). #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. #83835 diff --git a/src/current/_includes/v25.3/known-limitations/cdc.md b/src/current/_includes/v25.3/known-limitations/cdc.md index a473e94367c..0a3914da8bd 100644 --- a/src/current/_includes/v25.3/known-limitations/cdc.md +++ b/src/current/_includes/v25.3/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 %}). [#73435](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 %}). #73435 - {% 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 %}#insecure-tls-skip-verify) parameter when testing to disable certificate verification; however, this still requires HTTPS and certificates. [#73431](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. [#73432](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) 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. [#79452](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 %}#insecure-tls-skip-verify) parameter when testing to disable certificate verification; however, this still requires HTTPS and certificates. #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. #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) 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. #79452 - {% 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/v25.3/known-limitations/changefeed-column-family-message.md b/src/current/_includes/v25.3/known-limitations/changefeed-column-family-message.md index 41744b9b4b4..e77b6cc51e0 100644 --- a/src/current/_includes/v25.3/known-limitations/changefeed-column-family-message.md +++ b/src/current/_includes/v25.3/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. [#127736](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. #127736 \ No newline at end of file diff --git a/src/current/_includes/v25.3/known-limitations/citext-limitations.md b/src/current/_includes/v25.3/known-limitations/citext-limitations.md index df0fbc0ff91..c7e43cd2949 100644 --- a/src/current/_includes/v25.3/known-limitations/citext-limitations.md +++ b/src/current/_includes/v25.3/known-limitations/citext-limitations.md @@ -1 +1 @@ -- `CITEXT` types are not currently compatible with the `LIKE` and `ILIKE` operators. [#149791](https://github.com/cockroachdb/cockroach/issues/149791) \ No newline at end of file +- `CITEXT` types are not currently compatible with the `LIKE` and `ILIKE` operators. #149791 \ No newline at end of file diff --git a/src/current/_includes/v25.3/known-limitations/copy-syntax.md b/src/current/_includes/v25.3/known-limitations/copy-syntax.md index e64a075dcac..bd2e56e1c25 100644 --- a/src/current/_includes/v25.3/known-limitations/copy-syntax.md +++ b/src/current/_includes/v25.3/known-limitations/copy-syntax.md @@ -1,5 +1,5 @@ CockroachDB does not yet support the following `COPY` syntax: - - `COPY ... WITH FREEZE`. [#85573](https://github.com/cockroachdb/cockroach/issues/85573) - - `COPY ... WITH QUOTE`. [#85574](https://github.com/cockroachdb/cockroach/issues/85574) - - `COPY ... FROM ... WHERE `. [#54580](https://github.com/cockroachdb/cockroach/issues/54580) + - `COPY ... WITH FREEZE`. #85573 + - `COPY ... WITH QUOTE`. #85574 + - `COPY ... FROM ... WHERE `. #54580 diff --git a/src/current/_includes/v25.3/known-limitations/create-statistics-aost-limitation.md b/src/current/_includes/v25.3/known-limitations/create-statistics-aost-limitation.md index 09f86f51c48..d318ce338be 100644 --- a/src/current/_includes/v25.3/known-limitations/create-statistics-aost-limitation.md +++ b/src/current/_includes/v25.3/known-limitations/create-statistics-aost-limitation.md @@ -1 +1 @@ -The `ANALYZE` alias {% if page.name != "create-statistics.md" %}of [`CREATE STATISTICS`]({% link {{ page.version.version }}/create-statistics.md %}){% endif %} does not support specifying an {% if page.name == "as-of-system-time.md" %}`AS OF SYSTEM TIME`{% else %}[`AS OF SYSTEM TIME`]({% link {{ page.version.version }}/as-of-system-time.md %}){% endif %} timestamp. `ANALYZE` statements use `AS OF SYSTEM TIME '-0.001ms'` automatically. For more control over the statistics interval, use the `CREATE STATISTICS` syntax instead. [#96430](https://github.com/cockroachdb/cockroach/issues/96430) \ No newline at end of file +The `ANALYZE` alias {% if page.name != "create-statistics.md" %}of [`CREATE STATISTICS`]({% link {{ page.version.version }}/create-statistics.md %}){% endif %} does not support specifying an {% if page.name == "as-of-system-time.md" %}`AS OF SYSTEM TIME`{% else %}[`AS OF SYSTEM TIME`]({% link {{ page.version.version }}/as-of-system-time.md %}){% endif %} timestamp. `ANALYZE` statements use `AS OF SYSTEM TIME '-0.001ms'` automatically. For more control over the statistics interval, use the `CREATE STATISTICS` syntax instead. #96430 \ No newline at end of file diff --git a/src/current/_includes/v25.3/known-limitations/distsql-heterogeneous-endianness.md b/src/current/_includes/v25.3/known-limitations/distsql-heterogeneous-endianness.md index 9194395dc04..7aa2963023e 100644 --- a/src/current/_includes/v25.3/known-limitations/distsql-heterogeneous-endianness.md +++ b/src/current/_includes/v25.3/known-limitations/distsql-heterogeneous-endianness.md @@ -1 +1 @@ -In clusters that mix big-endian and little-endian architectures, DistSQL may produce incorrect results because hash computations differ between the platforms. As a workaround on heterogeneous clusters, disable DistSQL with `SET CLUSTER SETTING sql.defaults.distsql = off`. [#148773](https://github.com/cockroachdb/cockroach/issues/148773) \ No newline at end of file +In clusters that mix big-endian and little-endian architectures, DistSQL may produce incorrect results because hash computations differ between the platforms. As a workaround on heterogeneous clusters, disable DistSQL with `SET CLUSTER SETTING sql.defaults.distsql = off`. #148773 \ No newline at end of file diff --git a/src/current/_includes/v25.3/known-limitations/drop-column-partial-index.md b/src/current/_includes/v25.3/known-limitations/drop-column-partial-index.md index 9fd1811cc43..fd28f0a96a2 100644 --- a/src/current/_includes/v25.3/known-limitations/drop-column-partial-index.md +++ b/src/current/_includes/v25.3/known-limitations/drop-column-partial-index.md @@ -1 +1 @@ -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 %}). [#97813](https://github.com/cockroachdb/cockroach/issues/97813). \ No newline at end of file +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 %}). #97813. \ No newline at end of file diff --git a/src/current/_includes/v25.3/known-limitations/drop-owned-by-limitations.md b/src/current/_includes/v25.3/known-limitations/drop-owned-by-limitations.md index 95685f6adf1..af99d4b7cfe 100644 --- a/src/current/_includes/v25.3/known-limitations/drop-owned-by-limitations.md +++ b/src/current/_includes/v25.3/known-limitations/drop-owned-by-limitations.md @@ -10,4 +10,4 @@ The phrase "synthetic privileges" in the error message refers to [system-level privileges]({% link {{ page.version.version }}/security-reference/authorization.md %}#supported-privileges). - The workaround is to use [`SHOW SYSTEM GRANTS FOR {role}`](show-system-grants.html) and then use [`REVOKE SYSTEM ...`](revoke.html#revoke-system-level-privileges-on-the-entire-cluster) for each privilege in the result. [#88149](https://github.com/cockroachdb/cockroach/issues/88149) \ No newline at end of file + The workaround is to use [`SHOW SYSTEM GRANTS FOR {role}`](show-system-grants.html) and then use [`REVOKE SYSTEM ...`](revoke.html#revoke-system-level-privileges-on-the-entire-cluster) for each privilege in the result. #88149 \ No newline at end of file diff --git a/src/current/_includes/v25.3/known-limitations/drop-trigger-limitations.md b/src/current/_includes/v25.3/known-limitations/drop-trigger-limitations.md index 90745f7e17a..2a633ccb369 100644 --- a/src/current/_includes/v25.3/known-limitations/drop-trigger-limitations.md +++ b/src/current/_includes/v25.3/known-limitations/drop-trigger-limitations.md @@ -1 +1 @@ -[`DROP TRIGGER`]({% link {{ page.version.version }}/drop-trigger.md %}) with `CASCADE` is not supported. [#128151](https://github.com/cockroachdb/cockroach/issues/128151) \ No newline at end of file +[`DROP TRIGGER`]({% link {{ page.version.version }}/drop-trigger.md %}) with `CASCADE` is not supported. #128151 \ No newline at end of file diff --git a/src/current/_includes/v25.3/known-limitations/enforce-home-region-limitations.md b/src/current/_includes/v25.3/known-limitations/enforce-home-region-limitations.md index 693829358f7..53ce961b902 100644 --- a/src/current/_includes/v25.3/known-limitations/enforce-home-region-limitations.md +++ b/src/current/_includes/v25.3/known-limitations/enforce-home-region-limitations.md @@ -1 +1 @@ -With `enforce_home_region` enabled, CockroachDB currently validates home-region access during plan build. This can falsely reject queries (e.g., lookup joins) that would only read local data at execution time, returning a `Query has no home region` error. [#148375](https://github.com/cockroachdb/cockroach/issues/148375) \ No newline at end of file +With `enforce_home_region` enabled, CockroachDB currently validates home-region access during plan build. This can falsely reject queries (e.g., lookup joins) that would only read local data at execution time, returning a `Query has no home region` error. #148375 \ No newline at end of file diff --git a/src/current/_includes/v25.3/known-limitations/expression-index-limitations.md b/src/current/_includes/v25.3/known-limitations/expression-index-limitations.md index c0e94185948..9487028791c 100644 --- a/src/current/_includes/v25.3/known-limitations/expression-index-limitations.md +++ b/src/current/_includes/v25.3/known-limitations/expression-index-limitations.md @@ -1,6 +1,6 @@ - The expression cannot reference columns outside the index's table. - Functional expression output must be determined by the input arguments. For example, you can't use the [volatile function]({% link {{ page.version.version }}/functions-and-operators.md %}#function-volatility) `now()` to create an index because its output depends on more than just the function arguments. -- 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 %}). [#67900](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 %}). #67900 - CockroachDB does not support expressions as `ON CONFLICT` targets. This means that unique {% if page.name == "expression-indexes.md" %} expression indexes {% else %} [expression indexes]({% link {{ page.version.version }}/expression-indexes.md %}) {% endif %} cannot be selected as arbiters for [`INSERT .. ON CONFLICT`]({% link {{ page.version.version }}/insert.md %}#on-conflict-clause) statements. For example: {% include_cached copy-clipboard.html %} @@ -40,4 +40,4 @@ HINT: try \h INSERT ~~~ - [#67893](https://github.com/cockroachdb/cockroach/issues/67893) + #67893 diff --git a/src/current/_includes/v25.3/known-limitations/forecasted-stats-limitations.md b/src/current/_includes/v25.3/known-limitations/forecasted-stats-limitations.md index c8753124a96..b5d03e8ffc5 100644 --- a/src/current/_includes/v25.3/known-limitations/forecasted-stats-limitations.md +++ b/src/current/_includes/v25.3/known-limitations/forecasted-stats-limitations.md @@ -6,4 +6,4 @@ Although [`SHOW STATISTICS WITH FORECAST`]({% link {{ page.version.version }}/show-statistics.md %}#display-forecasted-statistics) shows the settings taking effect immediately, they do not actually take effect until new statistics are collected (as can be verified with [`EXPLAIN`]({% link {{ page.version.version }}/explain.md %})). - As a workaround, disable and enable forecasting at the [cluster]({% link {{ page.version.version }}/cost-based-optimizer.md %}#enable-and-disable-automatic-statistics-collection-for-clusters) or [table]({% link {{ page.version.version }}/cost-based-optimizer.md %}#enable-and-disable-automatic-statistics-collection-for-tables) level. This will invalidate the statistics cache and cause these settings to take effect immediately. [#123852](https://github.com/cockroachdb/cockroach/issues/123852) \ No newline at end of file + As a workaround, disable and enable forecasting at the [cluster]({% link {{ page.version.version }}/cost-based-optimizer.md %}#enable-and-disable-automatic-statistics-collection-for-clusters) or [table]({% link {{ page.version.version }}/cost-based-optimizer.md %}#enable-and-disable-automatic-statistics-collection-for-tables) level. This will invalidate the statistics cache and cause these settings to take effect immediately. #123852 \ No newline at end of file diff --git a/src/current/_includes/v25.3/known-limitations/full-text-search-unsupported.md b/src/current/_includes/v25.3/known-limitations/full-text-search-unsupported.md index 7b5a83f2cae..2be666994f1 100644 --- a/src/current/_includes/v25.3/known-limitations/full-text-search-unsupported.md +++ b/src/current/_includes/v25.3/known-limitations/full-text-search-unsupported.md @@ -11,4 +11,4 @@ - `!! tsquery` comparisons. - `tsquery @> tsquery` and `tsquery <@ tsquery` comparisons. -[#41288](https://github.com/cockroachdb/cockroach/issues/41288) \ No newline at end of file +#41288 \ No newline at end of file diff --git a/src/current/_includes/v25.3/known-limitations/generic-query-plan-limitations.md b/src/current/_includes/v25.3/known-limitations/generic-query-plan-limitations.md index e28e66d5f32..03d72195334 100644 --- a/src/current/_includes/v25.3/known-limitations/generic-query-plan-limitations.md +++ b/src/current/_includes/v25.3/known-limitations/generic-query-plan-limitations.md @@ -1,2 +1,2 @@ -- Because [generic query plans]({% link {{ page.version.version }}/cost-based-optimizer.md %}#query-plan-cache) use lookup joins instead of the scans and revscans used by custom query plans, generic query plans do not perform as well as custom query plans in some cases. [#128916](https://github.com/cockroachdb/cockroach/issues/128916) -- [Generic query plans]({% link {{ page.version.version }}/cost-based-optimizer.md %}#query-plan-type) are not included in the [plan cache]({% link {{ page.version.version }}/cost-based-optimizer.md %}#query-plan-cache). This means a generic query plan built and optimized for a prepared statement in one session cannot be used by another session. To reuse generic query plans for maximum performance, a prepared statement should be executed multiple times instead of prepared and executed once. [#128911](https://github.com/cockroachdb/cockroach/issues/128911) \ No newline at end of file +- Because [generic query plans]({% link {{ page.version.version }}/cost-based-optimizer.md %}#query-plan-cache) use lookup joins instead of the scans and revscans used by custom query plans, generic query plans do not perform as well as custom query plans in some cases. #128916 +- [Generic query plans]({% link {{ page.version.version }}/cost-based-optimizer.md %}#query-plan-type) are not included in the [plan cache]({% link {{ page.version.version }}/cost-based-optimizer.md %}#query-plan-cache). This means a generic query plan built and optimized for a prepared statement in one session cannot be used by another session. To reuse generic query plans for maximum performance, a prepared statement should be executed multiple times instead of prepared and executed once. #128911 \ No newline at end of file diff --git a/src/current/_includes/v25.3/known-limitations/geospatial-heterogeneous-architectures.md b/src/current/_includes/v25.3/known-limitations/geospatial-heterogeneous-architectures.md index 4bb9633f138..55b706c3d6d 100644 --- a/src/current/_includes/v25.3/known-limitations/geospatial-heterogeneous-architectures.md +++ b/src/current/_includes/v25.3/known-limitations/geospatial-heterogeneous-architectures.md @@ -1 +1 @@ -Clusters that mix `s390x` with other CPU architectures are unsupported for geospatial workloads. Due to differences in how trigonometric functions are computed on `s390x` systems, geospatial queries in heterogeneous clusters with `s390x` are likely to get incorrect results. This can include taking a backup on one architecture and restoring it on another. [#148783](https://github.com/cockroachdb/cockroach/issues/148783) \ No newline at end of file +Clusters that mix `s390x` with other CPU architectures are unsupported for geospatial workloads. Due to differences in how trigonometric functions are computed on `s390x` systems, geospatial queries in heterogeneous clusters with `s390x` are likely to get incorrect results. This can include taking a backup on one architecture and restoring it on another. #148783 \ No newline at end of file diff --git a/src/current/_includes/v25.3/known-limitations/jsonpath-limitations.md b/src/current/_includes/v25.3/known-limitations/jsonpath-limitations.md index 9b51bfb6e87..a74232bd40b 100644 --- a/src/current/_includes/v25.3/known-limitations/jsonpath-limitations.md +++ b/src/current/_includes/v25.3/known-limitations/jsonpath-limitations.md @@ -1,2 +1,2 @@ -- The following keywords are only accepted in lowercase: `strict`, `lax`, `exists`, `like_regex`, `flag`, `is unknown`, `to`, `last`. [#144255](https://github.com/cockroachdb/cockroach/issues/144255) -- Comparisons involving empty arrays (e.g., `SELECT jsonb_path_query('{"a": [1], "b": []}', '$.a == $.b');`) return `null`, rather than `false` as in PostgreSQL. [#145099](https://github.com/cockroachdb/cockroach/issues/145099) \ No newline at end of file +- The following keywords are only accepted in lowercase: `strict`, `lax`, `exists`, `like_regex`, `flag`, `is unknown`, `to`, `last`. #144255 +- Comparisons involving empty arrays (e.g., `SELECT jsonb_path_query('{"a": [1], "b": []}', '$.a == $.b');`) return `null`, rather than `false` as in PostgreSQL. #145099 \ No newline at end of file diff --git a/src/current/_includes/v25.3/known-limitations/ldr-column-families.md b/src/current/_includes/v25.3/known-limitations/ldr-column-families.md index 2a7c3bbba52..0c9dcd74ae4 100644 --- a/src/current/_includes/v25.3/known-limitations/ldr-column-families.md +++ b/src/current/_includes/v25.3/known-limitations/ldr-column-families.md @@ -1 +1 @@ -Replicating tables cannot contain [column families]({% link {{ page.version.version }}/column-families.md %}). [#133562](https://github.com/cockroachdb/cockroach/issues/133562) \ No newline at end of file +Replicating tables cannot contain [column families]({% link {{ page.version.version }}/column-families.md %}). #133562 \ No newline at end of file diff --git a/src/current/_includes/v25.3/known-limitations/ldr-composite-primary.md b/src/current/_includes/v25.3/known-limitations/ldr-composite-primary.md index ac897af35a7..2a790952946 100644 --- a/src/current/_includes/v25.3/known-limitations/ldr-composite-primary.md +++ b/src/current/_includes/v25.3/known-limitations/ldr-composite-primary.md @@ -1 +1 @@ -The [primary key]({% link {{ page.version.version }}/primary-key.md %}) in replicating tables cannot contain composite types. [#133572](https://github.com/cockroachdb/cockroach/issues/133572) \ No newline at end of file +The [primary key]({% link {{ page.version.version }}/primary-key.md %}) in replicating tables cannot contain composite types. #133572 \ No newline at end of file diff --git a/src/current/_includes/v25.3/known-limitations/ldr-indexes.md b/src/current/_includes/v25.3/known-limitations/ldr-indexes.md index 0bf7f60c2d4..4936f9868bd 100644 --- a/src/current/_includes/v25.3/known-limitations/ldr-indexes.md +++ b/src/current/_includes/v25.3/known-limitations/ldr-indexes.md @@ -1 +1 @@ -Replicating tables cannot contain an [index]({% link {{ page.version.version }}/indexes.md %}) that requires expression evaluation before insertion. [#133560](https://github.com/cockroachdb/cockroach/issues/133560) \ No newline at end of file +Replicating tables cannot contain an [index]({% link {{ page.version.version }}/indexes.md %}) that requires expression evaluation before insertion. #133560 \ No newline at end of file diff --git a/src/current/_includes/v25.3/known-limitations/ldr-sequences.md b/src/current/_includes/v25.3/known-limitations/ldr-sequences.md index 4e39f3630e3..693c0cc685b 100644 --- a/src/current/_includes/v25.3/known-limitations/ldr-sequences.md +++ b/src/current/_includes/v25.3/known-limitations/ldr-sequences.md @@ -1 +1 @@ -Replicating table cannot reference [sequences]({% link {{ page.version.version }}/create-sequence.md %}). [#132303](https://github.com/cockroachdb/cockroach/issues/132303) \ No newline at end of file +Replicating table cannot reference [sequences]({% link {{ page.version.version }}/create-sequence.md %}). #132303 \ No newline at end of file diff --git a/src/current/_includes/v25.3/known-limitations/ldr-triggers.md b/src/current/_includes/v25.3/known-limitations/ldr-triggers.md index 55f8e885b97..a587568b69a 100644 --- a/src/current/_includes/v25.3/known-limitations/ldr-triggers.md +++ b/src/current/_includes/v25.3/known-limitations/ldr-triggers.md @@ -1 +1 @@ -Replicating tables cannot reference triggers. [#132301](https://github.com/cockroachdb/cockroach/issues/132301) \ No newline at end of file +Replicating tables cannot reference triggers. #132301 \ No newline at end of file diff --git a/src/current/_includes/v25.3/known-limitations/ldr-udfs.md b/src/current/_includes/v25.3/known-limitations/ldr-udfs.md index fb642f14751..62eea605b52 100644 --- a/src/current/_includes/v25.3/known-limitations/ldr-udfs.md +++ b/src/current/_includes/v25.3/known-limitations/ldr-udfs.md @@ -1 +1 @@ -Replicating tables cannot reference [user-defined functions]({% link {{ page.version.version }}/user-defined-functions.md %}). [#132302](https://github.com/cockroachdb/cockroach/issues/132302) \ No newline at end of file +Replicating tables cannot reference [user-defined functions]({% link {{ page.version.version }}/user-defined-functions.md %}). #132302 \ No newline at end of file diff --git a/src/current/_includes/v25.3/known-limitations/locality-optimized-search-virtual-computed-columns.md b/src/current/_includes/v25.3/known-limitations/locality-optimized-search-virtual-computed-columns.md index d6acf418aa8..39b3f2cb00e 100644 --- a/src/current/_includes/v25.3/known-limitations/locality-optimized-search-virtual-computed-columns.md +++ b/src/current/_includes/v25.3/known-limitations/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). [#68129](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). #68129 diff --git a/src/current/_includes/v25.3/known-limitations/materialized-views-no-stats.md b/src/current/_includes/v25.3/known-limitations/materialized-views-no-stats.md index 02f2bd787c4..2bfe00d5307 100644 --- a/src/current/_includes/v25.3/known-limitations/materialized-views-no-stats.md +++ b/src/current/_includes/v25.3/known-limitations/materialized-views-no-stats.md @@ -1 +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. [#78181](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. #78181. diff --git a/src/current/_includes/v25.3/known-limitations/multiple-arbiter-indexes.md b/src/current/_includes/v25.3/known-limitations/multiple-arbiter-indexes.md index c9861623314..28b41eca491 100644 --- a/src/current/_includes/v25.3/known-limitations/multiple-arbiter-indexes.md +++ b/src/current/_includes/v25.3/known-limitations/multiple-arbiter-indexes.md @@ -1 +1 @@ -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. [#53170](https://github.com/cockroachdb/cockroach/issues/53170) \ No newline at end of file +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. #53170 \ No newline at end of file diff --git a/src/current/_includes/v25.3/known-limitations/plpgsql-limitations.md b/src/current/_includes/v25.3/known-limitations/plpgsql-limitations.md index c17954748a0..6050d209753 100644 --- a/src/current/_includes/v25.3/known-limitations/plpgsql-limitations.md +++ b/src/current/_includes/v25.3/known-limitations/plpgsql-limitations.md @@ -1,25 +1,25 @@ {% if page.name != "known-limitations.md" # New limitations in v24.2 %} {% endif %} -- It is not possible to use a variable as a target more than once in the same `INTO` clause. For example, `SELECT 1, 2 INTO x, x;`. [#121605](https://github.com/cockroachdb/cockroach/issues/121605) -- PLpgSQL variable declarations cannot inherit the type of a table row or column using `%TYPE` or `%ROWTYPE` syntax. [#114676](https://github.com/cockroachdb/cockroach/issues/114676) -- PL/pgSQL arguments cannot be referenced with ordinals (e.g., `$1`, `$2`). [#114701](https://github.com/cockroachdb/cockroach/issues/114701) +- It is not possible to use a variable as a target more than once in the same `INTO` clause. For example, `SELECT 1, 2 INTO x, x;`. #121605 +- PLpgSQL variable declarations cannot inherit the type of a table row or column using `%TYPE` or `%ROWTYPE` syntax. #114676 +- PL/pgSQL arguments cannot be referenced with ordinals (e.g., `$1`, `$2`). #114701 - The following statements are not supported: - - `FOR` cursor loops, `FOR` query loops, and `FOREACH` loops. [#105246](https://github.com/cockroachdb/cockroach/issues/105246) - - `PERFORM`, `EXECUTE`, `GET DIAGNOSTICS`, and `CASE`. [#117744](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 %}). [#111446](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`). [#106237](https://github.com/cockroachdb/cockroach/issues/106237) -- `RAISE` statements message the client directly, and do not produce log output. [#117750](https://github.com/cockroachdb/cockroach/issues/117750) -- `ASSERT` debugging checks are not supported. [#117744](https://github.com/cockroachdb/cockroach/issues/117744) -- `RECORD` parameters and variables are not supported in [user-defined functions]({% link {{ page.version.version }}/user-defined-functions.md %}). [#105713](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. [#117508](https://github.com/cockroachdb/cockroach/issues/117508) -- Syntax for accessing members of composite types without parentheses is not supported. [#114687](https://github.com/cockroachdb/cockroach/issues/114687) -- `NOT NULL` variable declarations are not supported. [#105243](https://github.com/cockroachdb/cockroach/issues/105243) -- Cursors opened in PL/pgSQL execute their queries on opening, affecting performance and resource usage. [#111479](https://github.com/cockroachdb/cockroach/issues/111479) -- Cursors in PL/pgSQL cannot be declared with arguments. [#117746](https://github.com/cockroachdb/cockroach/issues/117746) -- `OPEN FOR EXECUTE` is not supported for opening cursors. [#117744](https://github.com/cockroachdb/cockroach/issues/117744) -- The `print_strict_params` option is not supported in PL/pgSQL. [#123671](https://github.com/cockroachdb/cockroach/issues/123671) -- The `FOUND` local variable, which checks whether a statement affected any rows, is not supported in PL/pgSQL. [#122306](https://github.com/cockroachdb/cockroach/issues/122306) -- By default, when a PL/pgSQL variable conflicts with a column name, CockroachDB resolves the ambiguity by treating it as a column reference rather than a variable reference. This behavior differs from PostgreSQL, where an ambiguous column error is reported, and it is possible to change the `plpgsql.variable_conflict` setting in order to prefer either columns or variables. [#115680](https://github.com/cockroachdb/cockroach/issues/115680) -- It is not possible to define a `RECORD`-returning PL/pgSQL function that returns different-typed expressions from different `RETURN` statements. CockroachDB requires a consistent return type for `RECORD`-returning functions. [#115384](https://github.com/cockroachdb/cockroach/issues/115384) -- Variables cannot be declared with an associated collation using the `COLLATE` keyword. [#105245](https://github.com/cockroachdb/cockroach/issues/105245) -- Variables cannot be accessed using the `label.var_name` pattern. [#122322](https://github.com/cockroachdb/cockroach/issues/122322) \ No newline at end of file + - `FOR` cursor loops, `FOR` query loops, and `FOREACH` loops. #105246 + - `PERFORM`, `EXECUTE`, `GET DIAGNOSTICS`, and `CASE`. #117744 +- PL/pgSQL exception blocks cannot catch [transaction retry errors]({% link {{ page.version.version }}/transaction-retry-error-reference.md %}). #111446 +- `RAISE` statements cannot be annotated with names of schema objects related to the error (i.e., using `COLUMN`, `CONSTRAINT`, `DATATYPE`, `TABLE`, or `SCHEMA`). #106237 +- `RAISE` statements message the client directly, and do not produce log output. #117750 +- `ASSERT` debugging checks are not supported. #117744 +- `RECORD` parameters and variables are not supported in [user-defined functions]({% link {{ page.version.version }}/user-defined-functions.md %}). #105713 +- Variable shadowing (e.g., declaring a variable with the same name in an inner block) is not supported in PL/pgSQL. #117508 +- Syntax for accessing members of composite types without parentheses is not supported. #114687 +- `NOT NULL` variable declarations are not supported. #105243 +- Cursors opened in PL/pgSQL execute their queries on opening, affecting performance and resource usage. #111479 +- Cursors in PL/pgSQL cannot be declared with arguments. #117746 +- `OPEN FOR EXECUTE` is not supported for opening cursors. #117744 +- The `print_strict_params` option is not supported in PL/pgSQL. #123671 +- The `FOUND` local variable, which checks whether a statement affected any rows, is not supported in PL/pgSQL. #122306 +- By default, when a PL/pgSQL variable conflicts with a column name, CockroachDB resolves the ambiguity by treating it as a column reference rather than a variable reference. This behavior differs from PostgreSQL, where an ambiguous column error is reported, and it is possible to change the `plpgsql.variable_conflict` setting in order to prefer either columns or variables. #115680 +- It is not possible to define a `RECORD`-returning PL/pgSQL function that returns different-typed expressions from different `RETURN` statements. CockroachDB requires a consistent return type for `RECORD`-returning functions. #115384 +- Variables cannot be declared with an associated collation using the `COLLATE` keyword. #105245 +- Variables cannot be accessed using the `label.var_name` pattern. #122322 \ No newline at end of file diff --git a/src/current/_includes/v25.3/known-limitations/read-committed-limitations.md b/src/current/_includes/v25.3/known-limitations/read-committed-limitations.md index 63f83b15dd8..1f466997ed8 100644 --- a/src/current/_includes/v25.3/known-limitations/read-committed-limitations.md +++ b/src/current/_includes/v25.3/known-limitations/read-committed-limitations.md @@ -1,6 +1,6 @@ -- 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 when the [`autocommit_before_ddl` session setting]({% link {{page.version.version}}/set-vars.md %}#autocommit-before-ddl) is set to `off`, 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`. [#114778](https://github.com/cockroachdb/cockroach/issues/114778) -- Multi-column-family checks during updates are not supported under `READ COMMITTED` isolation. [#112488](https://github.com/cockroachdb/cockroach/issues/112488) +- 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 when the [`autocommit_before_ddl` session setting]({% link {{page.version.version}}/set-vars.md %}#autocommit-before-ddl) is set to `off`, 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`. #114778 +- Multi-column-family checks during updates are not supported under `READ COMMITTED` isolation. #112488 - Because locks acquired by [foreign key]({% link {{ page.version.version }}/foreign-key.md %}) checks, [`SELECT FOR UPDATE`]({% link {{ page.version.version }}/select-for-update.md %}), and [`SELECT FOR SHARE`]({% link {{ page.version.version }}/select-for-update.md %}) are fully replicated under `READ COMMITTED` isolation, some queries experience a delay for Raft replication. - [Foreign key]({% link {{ page.version.version }}/foreign-key.md %}) checks are not performed in parallel under `READ COMMITTED` isolation. - [`SELECT FOR UPDATE` and `SELECT FOR SHARE`]({% link {{ page.version.version }}/select-for-update.md %}) statements are less optimized under `READ COMMITTED` isolation than under `SERIALIZABLE` isolation. Under `READ COMMITTED` isolation, `SELECT FOR UPDATE` and `SELECT FOR SHARE` usually perform an extra lookup join for every locked table when compared to the same queries under `SERIALIZABLE`. In addition, some optimization steps (such as de-correlation of correlated [subqueries]({% link {{ page.version.version }}/subqueries.md %})) are not currently performed on these queries. -- Regardless of isolation level, [`SELECT FOR UPDATE` and `SELECT FOR SHARE`]({% link {{ page.version.version }}/select-for-update.md %}) statements in CockroachDB do not prevent insertion of new rows matching the search condition (i.e., [phantom reads]({% link {{ page.version.version }}/read-committed.md %}#non-repeatable-reads-and-phantom-reads)). This matches PostgreSQL behavior at all isolation levels. [#120673](https://github.com/cockroachdb/cockroach/issues/120673) \ No newline at end of file +- Regardless of isolation level, [`SELECT FOR UPDATE` and `SELECT FOR SHARE`]({% link {{ page.version.version }}/select-for-update.md %}) statements in CockroachDB do not prevent insertion of new rows matching the search condition (i.e., [phantom reads]({% link {{ page.version.version }}/read-committed.md %}#non-repeatable-reads-and-phantom-reads)). This matches PostgreSQL behavior at all isolation levels. #120673 \ No newline at end of file diff --git a/src/current/_includes/v25.3/known-limitations/restore-multiregion-match.md b/src/current/_includes/v25.3/known-limitations/restore-multiregion-match.md index ab2f1029ecd..634d695246e 100644 --- a/src/current/_includes/v25.3/known-limitations/restore-multiregion-match.md +++ b/src/current/_includes/v25.3/known-limitations/restore-multiregion-match.md @@ -47,4 +47,4 @@ ALTER DATABASE destination_database SET PRIMARY REGION "us-east1"; ~~~ - [#71071](https://github.com/cockroachdb/cockroach/issues/71071) \ No newline at end of file + #71071 \ No newline at end of file diff --git a/src/current/_includes/v25.3/known-limitations/restore-tables-non-multi-reg.md b/src/current/_includes/v25.3/known-limitations/restore-tables-non-multi-reg.md index 5390f2d09ee..e05bc340141 100644 --- a/src/current/_includes/v25.3/known-limitations/restore-tables-non-multi-reg.md +++ b/src/current/_includes/v25.3/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. [#71502](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. #71502 diff --git a/src/current/_includes/v25.3/known-limitations/restore-udf.md b/src/current/_includes/v25.3/known-limitations/restore-udf.md index a4a4bc080fe..e4180219a25 100644 --- a/src/current/_includes/v25.3/known-limitations/restore-udf.md +++ b/src/current/_includes/v25.3/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. [#118195](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. #118195 \ No newline at end of file diff --git a/src/current/_includes/v25.3/known-limitations/rls-update-set-where-returning.md b/src/current/_includes/v25.3/known-limitations/rls-update-set-where-returning.md index 450de11683e..e6f2b296ba4 100644 --- a/src/current/_includes/v25.3/known-limitations/rls-update-set-where-returning.md +++ b/src/current/_includes/v25.3/known-limitations/rls-update-set-where-returning.md @@ -1 +1 @@ -`UPDATE` statements whose `SET`, `WHERE`, or `RETURNING` clauses do not read existing column values can be mistakenly filtered by row-level security `SELECT` policies, causing the statement to affect no rows. [#145894](https://github.com/cockroachdb/cockroach/issues/145894) \ No newline at end of file +`UPDATE` statements whose `SET`, `WHERE`, or `RETURNING` clauses do not read existing column values can be mistakenly filtered by row-level security `SELECT` policies, causing the statement to affect no rows. #145894 \ No newline at end of file diff --git a/src/current/_includes/v25.3/known-limitations/rls-values-on-conflict-do-nothing.md b/src/current/_includes/v25.3/known-limitations/rls-values-on-conflict-do-nothing.md index c85dea7987a..d274e573dc9 100644 --- a/src/current/_includes/v25.3/known-limitations/rls-values-on-conflict-do-nothing.md +++ b/src/current/_includes/v25.3/known-limitations/rls-values-on-conflict-do-nothing.md @@ -1 +1 @@ -`ON CONFLICT ... DO NOTHING`: CockroachDB does not run the constraint and row-level policy checks on the `VALUES` clause if the candidate row has a conflict. [#35370](https://github.com/cockroachdb/cockroach/issues/35370). +`ON CONFLICT ... DO NOTHING`: CockroachDB does not run the constraint and row-level policy checks on the `VALUES` clause if the candidate row has a conflict. #35370. diff --git a/src/current/_includes/v25.3/known-limitations/rls-visibility-issue.md b/src/current/_includes/v25.3/known-limitations/rls-visibility-issue.md index 453059825a3..5d16325382f 100644 --- a/src/current/_includes/v25.3/known-limitations/rls-visibility-issue.md +++ b/src/current/_includes/v25.3/known-limitations/rls-visibility-issue.md @@ -1 +1 @@ -Under certain conditions, such as when executing certain SQL functions, CockroachDB's row-level security (RLS) implementation exposes metadata about the number of restricted rows in a table. For example, when a user applies arbitrary SQL filters on a table with RLS enabled, it's possible for the user to see how many total rows are in the table; this count includes rows that the user does not have direct access to. This metadata leakage can also occur when statements like [`EXPLAIN ANALYZE`]({% link {{ page.version.version }}/explain.md %}) are used, as the output includes a count of the number of rows scanned by the query that can include the number of restricted rows, even though the rows themselves are not directly accessible. [#146952](https://github.com/cockroachdb/cockroach/issues/146952) +Under certain conditions, such as when executing certain SQL functions, CockroachDB's row-level security (RLS) implementation exposes metadata about the number of restricted rows in a table. For example, when a user applies arbitrary SQL filters on a table with RLS enabled, it's possible for the user to see how many total rows are in the table; this count includes rows that the user does not have direct access to. This metadata leakage can also occur when statements like [`EXPLAIN ANALYZE`]({% link {{ page.version.version }}/explain.md %}) are used, as the output includes a count of the number of rows scanned by the query that can include the number of restricted rows, even though the rows themselves are not directly accessible. #146952 diff --git a/src/current/_includes/v25.3/known-limitations/routine-limitations.md b/src/current/_includes/v25.3/known-limitations/routine-limitations.md index 4718c6c7abf..fa16791b56a 100644 --- a/src/current/_includes/v25.3/known-limitations/routine-limitations.md +++ b/src/current/_includes/v25.3/known-limitations/routine-limitations.md @@ -1,10 +1,10 @@ {% if page.name != "known-limitations.md" # New limitations in v24.2 %} {% endif %} -- Routines cannot be invoked with named arguments, e.g., `SELECT foo(a => 1, b => 2);` or `SELECT foo(b := 1, a := 2);`. [#122264](https://github.com/cockroachdb/cockroach/issues/122264) -- Routines cannot be created if they reference temporary tables. [#121375](https://github.com/cockroachdb/cockroach/issues/121375) -- Routines cannot be created with unnamed `INOUT` parameters. For example, `CREATE PROCEDURE p(INOUT INT) AS $$ BEGIN NULL; END; $$ LANGUAGE PLpgSQL;`. [#121251](https://github.com/cockroachdb/cockroach/issues/121251) -- Routines cannot be created if they return fewer columns than declared. For example, `CREATE FUNCTION f(OUT sum INT, INOUT a INT, INOUT b INT) LANGUAGE SQL AS $$ SELECT (a + b, b); $$;`. [#121247](https://github.com/cockroachdb/cockroach/issues/121247) -- Routines cannot be created with an `OUT` parameter of type `RECORD`. [#123448](https://github.com/cockroachdb/cockroach/issues/123448) -- DDL statements (e.g., `CREATE TABLE`, `CREATE INDEX`) are not allowed within UDFs or stored procedures. [#110080](https://github.com/cockroachdb/cockroach/issues/110080) -- Polymorphic types cannot be cast to other types (e.g., `TEXT`) within routine parameters. [#123536](https://github.com/cockroachdb/cockroach/issues/123536) -- Routine parameters and return types cannot be declared using the `ANYENUM` polymorphic type, which is able to match any [`ENUM`]({% link {{ page.version.version }}/enum.md %}) type. [123048](https://github.com/cockroachdb/cockroach/issues/123048) \ No newline at end of file +- Routines cannot be invoked with named arguments, e.g., `SELECT foo(a => 1, b => 2);` or `SELECT foo(b := 1, a := 2);`. #122264 +- Routines cannot be created if they reference temporary tables. #121375 +- Routines cannot be created with unnamed `INOUT` parameters. For example, `CREATE PROCEDURE p(INOUT INT) AS $$ BEGIN NULL; END; $$ LANGUAGE PLpgSQL;`. #121251 +- Routines cannot be created if they return fewer columns than declared. For example, `CREATE FUNCTION f(OUT sum INT, INOUT a INT, INOUT b INT) LANGUAGE SQL AS $$ SELECT (a + b, b); $$;`. #121247 +- Routines cannot be created with an `OUT` parameter of type `RECORD`. #123448 +- DDL statements (e.g., `CREATE TABLE`, `CREATE INDEX`) are not allowed within UDFs or stored procedures. #110080 +- Polymorphic types cannot be cast to other types (e.g., `TEXT`) within routine parameters. #123536 +- Routine parameters and return types cannot be declared using the `ANYENUM` polymorphic type, which is able to match any [`ENUM`]({% link {{ page.version.version }}/enum.md %}) type. 123048 \ No newline at end of file diff --git a/src/current/_includes/v25.3/known-limitations/select-for-update-limitations.md b/src/current/_includes/v25.3/known-limitations/select-for-update-limitations.md index 1ed68e692e4..e599353243a 100644 --- a/src/current/_includes/v25.3/known-limitations/select-for-update-limitations.md +++ b/src/current/_includes/v25.3/known-limitations/select-for-update-limitations.md @@ -1,4 +1,4 @@ -- `SKIP LOCKED` cannot be used for tables with multiple [column families]({% link {{ page.version.version }}/column-families.md %}). [#160961](https://github.com/cockroachdb/cockroach/issues/160961) +- `SKIP LOCKED` cannot be used for tables with multiple [column families]({% link {{ page.version.version }}/column-families.md %}). #160961 - By default under `SERIALIZABLE` isolation, locks acquired using `SELECT ... FOR UPDATE` and `SELECT ... FOR SHARE` are implemented as fast, in-memory [unreplicated locks](architecture/transaction-layer.html#unreplicated-locks). If a [lease transfer]({% link {{ page.version.version }}/architecture/replication-layer.md %}#leases) or [range split/merge]({% link {{ page.version.version }}/architecture/distribution-layer.md %}#range-merges) occurs on a range held by an unreplicated lock, the lock is dropped. The following behaviors can occur: - 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`]({% link {{ page.version.version }}/transaction-retry-error-reference.md %}) and the [`restart transaction` error message]({% link {{ page.version.version }}/common-errors.md %}#restart-transaction). diff --git a/src/current/_includes/v25.3/known-limitations/set-transaction-no-rollback.md b/src/current/_includes/v25.3/known-limitations/set-transaction-no-rollback.md index e70e3c32533..bc998f44d9e 100644 --- a/src/current/_includes/v25.3/known-limitations/set-transaction-no-rollback.md +++ b/src/current/_includes/v25.3/known-limitations/set-transaction-no-rollback.md @@ -33,4 +33,4 @@ SHOW TIME ZONE; ~~~ -[#69396](https://github.com/cockroachdb/cockroach/issues/69396), [#148766](https://github.com/cockroachdb/cockroach/issues/148766) \ No newline at end of file +#69396, #148766 \ No newline at end of file diff --git a/src/current/_includes/v25.3/known-limitations/show-backup-symlink.md b/src/current/_includes/v25.3/known-limitations/show-backup-symlink.md index 38ba86fb28f..1c7a5612242 100644 --- a/src/current/_includes/v25.3/known-limitations/show-backup-symlink.md +++ b/src/current/_includes/v25.3/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. [#70260](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. #70260 \ No newline at end of file diff --git a/src/current/_includes/v25.3/known-limitations/sql-cursors.md b/src/current/_includes/v25.3/known-limitations/sql-cursors.md index bceff96d5a6..1924400e85d 100644 --- a/src/current/_includes/v25.3/known-limitations/sql-cursors.md +++ b/src/current/_includes/v25.3/known-limitations/sql-cursors.md @@ -1,8 +1,8 @@ CockroachDB implements SQL {% if page.name == "known-limitations.md" %} [cursor]({% link {{ page.version.version }}/cursors.md %}) {% else %} cursor {% endif %} support with the following limitations: -- `DECLARE` only supports forward cursors. Reverse cursors created with `DECLARE SCROLL` are not supported. [#77102](https://github.com/cockroachdb/cockroach/issues/77102) -- `FETCH` supports forward, relative, and absolute variants, but only for forward cursors. [#77102](https://github.com/cockroachdb/cockroach/issues/77102) -- `BINARY CURSOR`, which returns data in the Postgres binary format, is not supported. [#77099](https://github.com/cockroachdb/cockroach/issues/77099) -- Scrollable cursor (also known as reverse `FETCH`) is not supported. [#77102](https://github.com/cockroachdb/cockroach/issues/77102) -- [`SELECT ... FOR UPDATE`]({% link {{ page.version.version }}/select-for-update.md %}) with a cursor is not supported. [#77103](https://github.com/cockroachdb/cockroach/issues/77103) -- Respect for [`SAVEPOINT`s]({% link {{ page.version.version }}/savepoint.md %}) is not supported. Cursor definitions do not disappear properly if rolled back to a `SAVEPOINT` from before they were created. [#77104](https://github.com/cockroachdb/cockroach/issues/77104) +- `DECLARE` only supports forward cursors. Reverse cursors created with `DECLARE SCROLL` are not supported. #77102 +- `FETCH` supports forward, relative, and absolute variants, but only for forward cursors. #77102 +- `BINARY CURSOR`, which returns data in the Postgres binary format, is not supported. #77099 +- Scrollable cursor (also known as reverse `FETCH`) is not supported. #77102 +- [`SELECT ... FOR UPDATE`]({% link {{ page.version.version }}/select-for-update.md %}) with a cursor is not supported. #77103 +- Respect for [`SAVEPOINT`s]({% link {{ page.version.version }}/savepoint.md %}) is not supported. Cursor definitions do not disappear properly if rolled back to a `SAVEPOINT` from before they were created. #77104 diff --git a/src/current/_includes/v25.3/known-limitations/srid-4326-limitations.md b/src/current/_includes/v25.3/known-limitations/srid-4326-limitations.md index b556a9fbecd..294a1a53bd4 100644 --- a/src/current/_includes/v25.3/known-limitations/srid-4326-limitations.md +++ b/src/current/_includes/v25.3/known-limitations/srid-4326-limitations.md @@ -1 +1 @@ -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. [#55903](https://github.com/cockroachdb/cockroach/issues/55903) \ No newline at end of file +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. #55903 \ No newline at end of file diff --git a/src/current/_includes/v25.3/known-limitations/stats-refresh-upgrade.md b/src/current/_includes/v25.3/known-limitations/stats-refresh-upgrade.md index 3d5a8d26325..3325dfaa53b 100644 --- a/src/current/_includes/v25.3/known-limitations/stats-refresh-upgrade.md +++ b/src/current/_includes/v25.3/known-limitations/stats-refresh-upgrade.md @@ -1 +1 @@ -- The [automatic statistics refresher]({% link {{ page.version.version }}/cost-based-optimizer.md %}#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]({% link {{ page.version.version }}/upgrade-cockroach-version.md %}). This could cause a problem, for example, if the upgrade moves from a version without [histograms]({% link {{ page.version.version }}/cost-based-optimizer.md %}#control-histogram-collection) to a version with histograms. To refresh statistics manually, use [`CREATE STATISTICS`](create-statistics.html). [#54816](https://github.com/cockroachdb/cockroach/issues/54816) +- The [automatic statistics refresher]({% link {{ page.version.version }}/cost-based-optimizer.md %}#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]({% link {{ page.version.version }}/upgrade-cockroach-version.md %}). This could cause a problem, for example, if the upgrade moves from a version without [histograms]({% link {{ page.version.version }}/cost-based-optimizer.md %}#control-histogram-collection) to a version with histograms. To refresh statistics manually, use [`CREATE STATISTICS`](create-statistics.html). #54816 diff --git a/src/current/_includes/v25.3/known-limitations/stored-proc-limitations.md b/src/current/_includes/v25.3/known-limitations/stored-proc-limitations.md index b2ba1b61562..bce2e47d6b8 100644 --- a/src/current/_includes/v25.3/known-limitations/stored-proc-limitations.md +++ b/src/current/_includes/v25.3/known-limitations/stored-proc-limitations.md @@ -1,3 +1,3 @@ {% if page.name != "known-limitations.md" # New limitations in v24.2 %} {% endif %} -- `COMMIT` and `ROLLBACK` statements are not supported within nested procedures. [#122266](https://github.com/cockroachdb/cockroach/issues/122266) \ No newline at end of file +- `COMMIT` and `ROLLBACK` statements are not supported within nested procedures. #122266 \ No newline at end of file diff --git a/src/current/_includes/v25.3/known-limitations/trigger-limitations.md b/src/current/_includes/v25.3/known-limitations/trigger-limitations.md index 7373cd486e7..f2514d24113 100644 --- a/src/current/_includes/v25.3/known-limitations/trigger-limitations.md +++ b/src/current/_includes/v25.3/known-limitations/trigger-limitations.md @@ -1,6 +1,6 @@ -- `CREATE OR REPLACE TRIGGER` is not supported. [#128422](https://github.com/cockroachdb/cockroach/issues/128422) -- Statement-level triggers are not supported. [#126362](https://github.com/cockroachdb/cockroach/issues/126362) -- `INSTEAD OF` triggers are not supported. [#126363](https://github.com/cockroachdb/cockroach/issues/126363) -- A [trigger function]({% link {{ page.version.version }}/triggers.md %}#trigger-function) that is used in an existing trigger cannot be replaced with `CREATE OR REPLACE` syntax. To use `CREATE OR REPLACE`, first [drop any triggers]({% link {{ page.version.version }}/drop-trigger.md %}) that are using the function. [#134555](https://github.com/cockroachdb/cockroach/issues/134555) -- Hidden columns are not visible to triggers. [#133331](https://github.com/cockroachdb/cockroach/issues/133331) +- `CREATE OR REPLACE TRIGGER` is not supported. #128422 +- Statement-level triggers are not supported. #126362 +- `INSTEAD OF` triggers are not supported. #126363 +- A [trigger function]({% link {{ page.version.version }}/triggers.md %}#trigger-function) that is used in an existing trigger cannot be replaced with `CREATE OR REPLACE` syntax. To use `CREATE OR REPLACE`, first [drop any triggers]({% link {{ page.version.version }}/drop-trigger.md %}) that are using the function. #134555 +- Hidden columns are not visible to triggers. #133331 - {% include {{ page.version.version }}/known-limitations/drop-trigger-limitations.md %} \ No newline at end of file diff --git a/src/current/_includes/v25.3/known-limitations/trigram-unsupported-syntax.md b/src/current/_includes/v25.3/known-limitations/trigram-unsupported-syntax.md index 494730c7ae8..a981c4915b0 100644 --- a/src/current/_includes/v25.3/known-limitations/trigram-unsupported-syntax.md +++ b/src/current/_includes/v25.3/known-limitations/trigram-unsupported-syntax.md @@ -6,4 +6,4 @@ - Acceleration on [regex string matching]({% link {{ page.version.version }}/scalar-expressions.md %}#string-matching-using-posix-regular-expressions). - `%` comparisons, `show_trgm`, and trigram index creation on [collated strings]({% link {{ page.version.version }}/collate.md %}). -[#41285](https://github.com/cockroachdb/cockroach/issues/41285) \ No newline at end of file +#41285 \ No newline at end of file diff --git a/src/current/_includes/v25.3/known-limitations/udf-limitations.md b/src/current/_includes/v25.3/known-limitations/udf-limitations.md index cd749ced7e4..5bd28ddf1d1 100644 --- a/src/current/_includes/v25.3/known-limitations/udf-limitations.md +++ b/src/current/_includes/v25.3/known-limitations/udf-limitations.md @@ -1,8 +1,8 @@ {% if page.name != "known-limitations.md" # New limitations in v24.2 %} {% endif %} -- A `RECORD`-returning UDF cannot be created without a `RETURN` statement in the root block, which would restrict the wildcard type to a concrete one. [#122945](https://github.com/cockroachdb/cockroach/issues/122945) +- A `RECORD`-returning UDF cannot be created without a `RETURN` statement in the root block, which would restrict the wildcard type to a concrete one. #122945 - User-defined functions are not currently supported in: - - Expressions (column, index, constraint) in tables. [#87699](https://github.com/cockroachdb/cockroach/issues/87699) -- User-defined functions cannot call themselves recursively. [#93049](https://github.com/cockroachdb/cockroach/issues/93049) -- The `setval` function cannot be resolved when used inside UDF bodies. [#110860](https://github.com/cockroachdb/cockroach/issues/110860) -- Casting subqueries to [user-defined types]({% link {{ page.version.version }}/create-type.md %}) in UDFs is not supported. [#108184](https://github.com/cockroachdb/cockroach/issues/108184) \ No newline at end of file + - Expressions (column, index, constraint) in tables. #87699 +- User-defined functions cannot call themselves recursively. #93049 +- The `setval` function cannot be resolved when used inside UDF bodies. #110860 +- Casting subqueries to [user-defined types]({% link {{ page.version.version }}/create-type.md %}) in UDFs is not supported. #108184 \ No newline at end of file diff --git a/src/current/_includes/v25.3/known-limitations/vector-limitations.md b/src/current/_includes/v25.3/known-limitations/vector-limitations.md index 97ed7c47599..053087efe7e 100644 --- a/src/current/_includes/v25.3/known-limitations/vector-limitations.md +++ b/src/current/_includes/v25.3/known-limitations/vector-limitations.md @@ -1,5 +1,5 @@ - {% include {{ page.version.version }}/sql/vector-batch-inserts.md %} -- `IMPORT INTO` is not supported on tables with vector indexes. You can import the vectors first and create the index after import is complete. [#145227](https://github.com/cockroachdb/cockroach/issues/145227) -- The distance functions `vector_l1_ops`, `bit_hamming_ops`, and `bit_jaccard_ops` are not implemented. [#147839](https://github.com/cockroachdb/cockroach/issues/147839) -- Index acceleration with filters is only supported if the filters match prefix columns. [#146145](https://github.com/cockroachdb/cockroach/issues/146145) -- Index recommendations are not provided for vector indexes. [#146146](https://github.com/cockroachdb/cockroach/issues/146146) \ No newline at end of file +- `IMPORT INTO` is not supported on tables with vector indexes. You can import the vectors first and create the index after import is complete. #145227 +- The distance functions `vector_l1_ops`, `bit_hamming_ops`, and `bit_jaccard_ops` are not implemented. #147839 +- Index acceleration with filters is only supported if the filters match prefix columns. #146145 +- Index recommendations are not provided for vector indexes. #146146 \ No newline at end of file diff --git a/src/current/_includes/v25.3/known-limitations/vectorized-engine-limitations.md b/src/current/_includes/v25.3/known-limitations/vectorized-engine-limitations.md index daea59ebf88..da227ad4825 100644 --- a/src/current/_includes/v25.3/known-limitations/vectorized-engine-limitations.md +++ b/src/current/_includes/v25.3/known-limitations/vectorized-engine-limitations.md @@ -1,2 +1,2 @@ -- The vectorized engine does not support queries containing a join filtered with an [`ON` expression]({% link {{ page.version.version }}/joins.md %}#supported-join-conditions). [#38018](https://github.com/cockroachdb/cockroach/issues/38018) +- The vectorized engine does not support queries containing a join filtered with an [`ON` expression]({% link {{ page.version.version }}/joins.md %}#supported-join-conditions). #38018 - 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/_includes/v25.4/known-limitations/alter-changefeed-cdc-queries.md b/src/current/_includes/v25.4/known-limitations/alter-changefeed-cdc-queries.md index 56dd7eeaacd..4134b3c9f86 100644 --- a/src/current/_includes/v25.4/known-limitations/alter-changefeed-cdc-queries.md +++ b/src/current/_includes/v25.4/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. [#83033](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. #83033 \ No newline at end of file diff --git a/src/current/_includes/v25.4/known-limitations/alter-changefeed-limitations.md b/src/current/_includes/v25.4/known-limitations/alter-changefeed-limitations.md index a183f2964f4..cb75ad71c55 100644 --- a/src/current/_includes/v25.4/known-limitations/alter-changefeed-limitations.md +++ b/src/current/_includes/v25.4/known-limitations/alter-changefeed-limitations.md @@ -1,4 +1,4 @@ -- It is necessary to [`PAUSE`]({% link {{ page.version.version }}/pause-job.md %}) the changefeed before performing any [`ALTER CHANGEFEED`]({% link {{ page.version.version }}/alter-changefeed.md %}) statement. [#77171](https://github.com/cockroachdb/cockroach/issues/77171) +- It is necessary to [`PAUSE`]({% link {{ page.version.version }}/pause-job.md %}) the changefeed before performing any [`ALTER CHANGEFEED`]({% link {{ page.version.version }}/alter-changefeed.md %}) statement. #77171 - 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: ~~~ sql diff --git a/src/current/_includes/v25.4/known-limitations/alter-sequence-limitations.md b/src/current/_includes/v25.4/known-limitations/alter-sequence-limitations.md index 7343a1d1f1e..ba6bc88aa32 100644 --- a/src/current/_includes/v25.4/known-limitations/alter-sequence-limitations.md +++ b/src/current/_includes/v25.4/known-limitations/alter-sequence-limitations.md @@ -1 +1 @@ -- 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. [#23719](https://github.com/cockroachdb/cockroach/issues/23719) +- 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. #23719 diff --git a/src/current/_includes/v25.4/known-limitations/alter-table-add-column-limitations.md b/src/current/_includes/v25.4/known-limitations/alter-table-add-column-limitations.md index a8e71e5e59c..a8249cfb0f8 100644 --- a/src/current/_includes/v25.4/known-limitations/alter-table-add-column-limitations.md +++ b/src/current/_includes/v25.4/known-limitations/alter-table-add-column-limitations.md @@ -2,7 +2,7 @@ - The column uses a [sequence]({% link {{ page.version.version }}/create-sequence.md %}) as the [`DEFAULT`]({% link {{ page.version.version }}/default-value.md %}) value, for example using `nextval()`. - The column uses `GENERATED ALWAYS AS IDENTITY` or `GENERATED BY DEFAULT AS IDENTITY`, unless the table being altered is empty. - This is because CockroachDB does not support back-filling sequential column data. [#42508](https://github.com/cockroachdb/cockroach/issues/42508) + This is because CockroachDB does not support back-filling sequential column data. #42508 - When executing an [`ALTER TABLE ADD COLUMN`]({% link {{ page.version.version }}/alter-table.md %}#add-column) statement with a [`DEFAULT`]({% link {{ page.version.version }}/default-value.md %}) expression, new values generated: - Use the default [search path]({% link {{ page.version.version }}/sql-name-resolution.md %}#search-path) regardless of the search path configured in the current session via `SET SEARCH_PATH`. - Use the UTC time zone regardless of the time zone configured in the current session via [`SET TIME ZONE`]({% link {{ page.version.version }}/set-vars.md %}). diff --git a/src/current/_includes/v25.4/known-limitations/alter-view-limitations.md b/src/current/_includes/v25.4/known-limitations/alter-view-limitations.md index 642bed6ce08..e44921629ff 100644 --- a/src/current/_includes/v25.4/known-limitations/alter-view-limitations.md +++ b/src/current/_includes/v25.4/known-limitations/alter-view-limitations.md @@ -1,4 +1,4 @@ `ALTER VIEW` 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. [#10083](https://github.com/cockroachdb/cockroach/issues/10083) \ No newline at end of file +- Renaming a view that other views depend on. This feature may be added in the future. #10083 \ No newline at end of file diff --git a/src/current/_includes/v25.4/known-limitations/aost-limitations.md b/src/current/_includes/v25.4/known-limitations/aost-limitations.md index 811c884d08d..c42e62800d3 100644 --- a/src/current/_includes/v25.4/known-limitations/aost-limitations.md +++ b/src/current/_includes/v25.4/known-limitations/aost-limitations.md @@ -1 +1 @@ -CockroachDB does not support placeholders in {% if page.name == "as-of-system-time.md" %}`AS OF SYSTEM TIME`{% else %}[`AS OF SYSTEM TIME`]({% link {{ page.version.version }}/as-of-system-time.md %}){% endif %}. The time value must be a constant value embedded in the SQL string. [#30955](https://github.com/cockroachdb/cockroach/issues/30955) \ No newline at end of file +CockroachDB does not support placeholders in {% if page.name == "as-of-system-time.md" %}`AS OF SYSTEM TIME`{% else %}[`AS OF SYSTEM TIME`]({% link {{ page.version.version }}/as-of-system-time.md %}){% endif %}. The time value must be a constant value embedded in the SQL string. #30955 \ No newline at end of file diff --git a/src/current/_includes/v25.4/known-limitations/cannot-refresh-materialized-views-inside-transactions.md b/src/current/_includes/v25.4/known-limitations/cannot-refresh-materialized-views-inside-transactions.md index b0aaf728177..2f6fe466a95 100644 --- a/src/current/_includes/v25.4/known-limitations/cannot-refresh-materialized-views-inside-transactions.md +++ b/src/current/_includes/v25.4/known-limitations/cannot-refresh-materialized-views-inside-transactions.md @@ -24,4 +24,4 @@ SQLSTATE: 25000 ~~~ - [#66008](https://github.com/cockroachdb/cockroach/issues/66008) + #66008 diff --git a/src/current/_includes/v25.4/known-limitations/cdc-queries-column-families.md b/src/current/_includes/v25.4/known-limitations/cdc-queries-column-families.md index 505a8c9700e..52bdabec236 100644 --- a/src/current/_includes/v25.4/known-limitations/cdc-queries-column-families.md +++ b/src/current/_includes/v25.4/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. [#127761](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. #127761 \ No newline at end of file diff --git a/src/current/_includes/v25.4/known-limitations/cdc-queries.md b/src/current/_includes/v25.4/known-limitations/cdc-queries.md index 2839eba5eda..552900531b0 100644 --- a/src/current/_includes/v25.4/known-limitations/cdc-queries.md +++ b/src/current/_includes/v25.4/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). [#98237](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. [#83835](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). #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. #83835 diff --git a/src/current/_includes/v25.4/known-limitations/cdc.md b/src/current/_includes/v25.4/known-limitations/cdc.md index a473e94367c..0a3914da8bd 100644 --- a/src/current/_includes/v25.4/known-limitations/cdc.md +++ b/src/current/_includes/v25.4/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 %}). [#73435](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 %}). #73435 - {% 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 %}#insecure-tls-skip-verify) parameter when testing to disable certificate verification; however, this still requires HTTPS and certificates. [#73431](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. [#73432](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) 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. [#79452](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 %}#insecure-tls-skip-verify) parameter when testing to disable certificate verification; however, this still requires HTTPS and certificates. #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. #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) 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. #79452 - {% 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/v25.4/known-limitations/changefeed-column-family-message.md b/src/current/_includes/v25.4/known-limitations/changefeed-column-family-message.md index 41744b9b4b4..e77b6cc51e0 100644 --- a/src/current/_includes/v25.4/known-limitations/changefeed-column-family-message.md +++ b/src/current/_includes/v25.4/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. [#127736](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. #127736 \ No newline at end of file diff --git a/src/current/_includes/v25.4/known-limitations/citext-limitations.md b/src/current/_includes/v25.4/known-limitations/citext-limitations.md index df0fbc0ff91..c7e43cd2949 100644 --- a/src/current/_includes/v25.4/known-limitations/citext-limitations.md +++ b/src/current/_includes/v25.4/known-limitations/citext-limitations.md @@ -1 +1 @@ -- `CITEXT` types are not currently compatible with the `LIKE` and `ILIKE` operators. [#149791](https://github.com/cockroachdb/cockroach/issues/149791) \ No newline at end of file +- `CITEXT` types are not currently compatible with the `LIKE` and `ILIKE` operators. #149791 \ No newline at end of file diff --git a/src/current/_includes/v25.4/known-limitations/collate-limitations.md b/src/current/_includes/v25.4/known-limitations/collate-limitations.md index d3e3e712bb5..7ba94b89053 100644 --- a/src/current/_includes/v25.4/known-limitations/collate-limitations.md +++ b/src/current/_includes/v25.4/known-limitations/collate-limitations.md @@ -1 +1 @@ -- Many string operations are not properly overloaded for [collated strings]({% link {{ page.version.version }}/collate.md %}). For example, the `||` concatenation operator works with regular strings but returns an error with collated strings. [#10679](https://github.com/cockroachdb/cockroach/issues/10679) +- Many string operations are not properly overloaded for [collated strings]({% link {{ page.version.version }}/collate.md %}). For example, the `||` concatenation operator works with regular strings but returns an error with collated strings. #10679 diff --git a/src/current/_includes/v25.4/known-limitations/comment-on-limitations.md b/src/current/_includes/v25.4/known-limitations/comment-on-limitations.md index 568b31ec737..757f74e10f0 100644 --- a/src/current/_includes/v25.4/known-limitations/comment-on-limitations.md +++ b/src/current/_includes/v25.4/known-limitations/comment-on-limitations.md @@ -1 +1 @@ -- 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 an individual table or database. As a workaround, take a cluster backup instead, as the `system.comments` table is included in cluster backups. [#44396](https://github.com/cockroachdb/cockroach/issues/44396) +- 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 an individual table or database. As a workaround, take a cluster backup instead, as the `system.comments` table is included in cluster backups. #44396 diff --git a/src/current/_includes/v25.4/known-limitations/composite-type-limitations.md b/src/current/_includes/v25.4/known-limitations/composite-type-limitations.md index 1ceecb5d889..48ce4591246 100644 --- a/src/current/_includes/v25.4/known-limitations/composite-type-limitations.md +++ b/src/current/_includes/v25.4/known-limitations/composite-type-limitations.md @@ -1,2 +1,2 @@ -- Updating subfields of composite types using dot syntax results in a syntax error. [#102984](https://github.com/cockroachdb/cockroach/issues/102984) -- Tuple elements cannot be accessed without enclosing the [composite variable]({% link {{ page.version.version }}/create-type.md %}) name in parentheses. For example, `(OLD).column` and `(NEW).column` when used in [triggers]({% link {{ page.version.version }}/triggers.md %}). [#114687](https://github.com/cockroachdb/cockroach/issues/114687) +- Updating subfields of composite types using dot syntax results in a syntax error. #102984 +- Tuple elements cannot be accessed without enclosing the [composite variable]({% link {{ page.version.version }}/create-type.md %}) name in parentheses. For example, `(OLD).column` and `(NEW).column` when used in [triggers]({% link {{ page.version.version }}/triggers.md %}). #114687 diff --git a/src/current/_includes/v25.4/known-limitations/copy-syntax.md b/src/current/_includes/v25.4/known-limitations/copy-syntax.md index e64a075dcac..bd2e56e1c25 100644 --- a/src/current/_includes/v25.4/known-limitations/copy-syntax.md +++ b/src/current/_includes/v25.4/known-limitations/copy-syntax.md @@ -1,5 +1,5 @@ CockroachDB does not yet support the following `COPY` syntax: - - `COPY ... WITH FREEZE`. [#85573](https://github.com/cockroachdb/cockroach/issues/85573) - - `COPY ... WITH QUOTE`. [#85574](https://github.com/cockroachdb/cockroach/issues/85574) - - `COPY ... FROM ... WHERE `. [#54580](https://github.com/cockroachdb/cockroach/issues/54580) + - `COPY ... WITH FREEZE`. #85573 + - `COPY ... WITH QUOTE`. #85574 + - `COPY ... FROM ... WHERE `. #54580 diff --git a/src/current/_includes/v25.4/known-limitations/create-statistics-aost-limitation.md b/src/current/_includes/v25.4/known-limitations/create-statistics-aost-limitation.md index 09f86f51c48..d318ce338be 100644 --- a/src/current/_includes/v25.4/known-limitations/create-statistics-aost-limitation.md +++ b/src/current/_includes/v25.4/known-limitations/create-statistics-aost-limitation.md @@ -1 +1 @@ -The `ANALYZE` alias {% if page.name != "create-statistics.md" %}of [`CREATE STATISTICS`]({% link {{ page.version.version }}/create-statistics.md %}){% endif %} does not support specifying an {% if page.name == "as-of-system-time.md" %}`AS OF SYSTEM TIME`{% else %}[`AS OF SYSTEM TIME`]({% link {{ page.version.version }}/as-of-system-time.md %}){% endif %} timestamp. `ANALYZE` statements use `AS OF SYSTEM TIME '-0.001ms'` automatically. For more control over the statistics interval, use the `CREATE STATISTICS` syntax instead. [#96430](https://github.com/cockroachdb/cockroach/issues/96430) \ No newline at end of file +The `ANALYZE` alias {% if page.name != "create-statistics.md" %}of [`CREATE STATISTICS`]({% link {{ page.version.version }}/create-statistics.md %}){% endif %} does not support specifying an {% if page.name == "as-of-system-time.md" %}`AS OF SYSTEM TIME`{% else %}[`AS OF SYSTEM TIME`]({% link {{ page.version.version }}/as-of-system-time.md %}){% endif %} timestamp. `ANALYZE` statements use `AS OF SYSTEM TIME '-0.001ms'` automatically. For more control over the statistics interval, use the `CREATE STATISTICS` syntax instead. #96430 \ No newline at end of file diff --git a/src/current/_includes/v25.4/known-limitations/data-domiciling-limitations.md b/src/current/_includes/v25.4/known-limitations/data-domiciling-limitations.md index b4e1092fdac..7d8faa3ce97 100644 --- a/src/current/_includes/v25.4/known-limitations/data-domiciling-limitations.md +++ b/src/current/_includes/v25.4/known-limitations/data-domiciling-limitations.md @@ -1,4 +1,4 @@ -- When using the `infer_rbr_region_col_using_constraint` option, inserting rows with `DEFAULT` for the region column uses the database's primary region instead of inferring the region from the parent table via foreign-key constraint. [#150783](https://github.com/cockroachdb/cockroach/issues/150783) +- When using the `infer_rbr_region_col_using_constraint` option, inserting rows with `DEFAULT` for the region column uses the database's primary region instead of inferring the region from the parent table via foreign-key constraint. #150783 - When columns are [indexed]({% link {{ page.version.version }}/indexes.md %}), a subset of data from the indexed columns may appear in [meta ranges]({% link {{ page.version.version }}/architecture/distribution-layer.md %}#meta-ranges) or other system tables. CockroachDB synchronizes these system ranges and system tables across nodes. This synchronization does not respect any multi-region settings applied via either the [multi-region SQL statements]({% link {{ page.version.version }}/multiregion-overview.md %}), or the low-level [zone configs]({% link {{ page.version.version }}/configure-replication-zones.md %}) mechanism. - [Zone configs]({% link {{ page.version.version }}/configure-replication-zones.md %}) can be used for data placement but these features were historically built for performance, not for domiciling. The replication system's top priority is to prevent the loss of data and it may override the zone configurations if necessary to ensure data durability. For more information, see [Replication Controls]({% link {{ page.version.version }}/configure-replication-zones.md %}#types-of-constraints). - If your [log files]({% link {{ page.version.version }}/logging-overview.md %}) are kept in the region where they were generated, there is some cross-region leakage (like the system tables described previously), but the majority of user data that makes it into the logs is going to be homed in that region. If that's not strong enough, you can use the [log redaction functionality]({% link {{ page.version.version }}/configure-logs.md %}#redact-logs) to strip all raw data from the logs. You can also limit your log retention entirely. diff --git a/src/current/_includes/v25.4/known-limitations/distsql-heterogeneous-endianness.md b/src/current/_includes/v25.4/known-limitations/distsql-heterogeneous-endianness.md index 9194395dc04..7aa2963023e 100644 --- a/src/current/_includes/v25.4/known-limitations/distsql-heterogeneous-endianness.md +++ b/src/current/_includes/v25.4/known-limitations/distsql-heterogeneous-endianness.md @@ -1 +1 @@ -In clusters that mix big-endian and little-endian architectures, DistSQL may produce incorrect results because hash computations differ between the platforms. As a workaround on heterogeneous clusters, disable DistSQL with `SET CLUSTER SETTING sql.defaults.distsql = off`. [#148773](https://github.com/cockroachdb/cockroach/issues/148773) \ No newline at end of file +In clusters that mix big-endian and little-endian architectures, DistSQL may produce incorrect results because hash computations differ between the platforms. As a workaround on heterogeneous clusters, disable DistSQL with `SET CLUSTER SETTING sql.defaults.distsql = off`. #148773 \ No newline at end of file diff --git a/src/current/_includes/v25.4/known-limitations/drop-column-partial-index.md b/src/current/_includes/v25.4/known-limitations/drop-column-partial-index.md index 9fd1811cc43..fd28f0a96a2 100644 --- a/src/current/_includes/v25.4/known-limitations/drop-column-partial-index.md +++ b/src/current/_includes/v25.4/known-limitations/drop-column-partial-index.md @@ -1 +1 @@ -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 %}). [#97813](https://github.com/cockroachdb/cockroach/issues/97813). \ No newline at end of file +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 %}). #97813. \ No newline at end of file diff --git a/src/current/_includes/v25.4/known-limitations/drop-owned-by-limitations.md b/src/current/_includes/v25.4/known-limitations/drop-owned-by-limitations.md index 95685f6adf1..af99d4b7cfe 100644 --- a/src/current/_includes/v25.4/known-limitations/drop-owned-by-limitations.md +++ b/src/current/_includes/v25.4/known-limitations/drop-owned-by-limitations.md @@ -10,4 +10,4 @@ The phrase "synthetic privileges" in the error message refers to [system-level privileges]({% link {{ page.version.version }}/security-reference/authorization.md %}#supported-privileges). - The workaround is to use [`SHOW SYSTEM GRANTS FOR {role}`](show-system-grants.html) and then use [`REVOKE SYSTEM ...`](revoke.html#revoke-system-level-privileges-on-the-entire-cluster) for each privilege in the result. [#88149](https://github.com/cockroachdb/cockroach/issues/88149) \ No newline at end of file + The workaround is to use [`SHOW SYSTEM GRANTS FOR {role}`](show-system-grants.html) and then use [`REVOKE SYSTEM ...`](revoke.html#revoke-system-level-privileges-on-the-entire-cluster) for each privilege in the result. #88149 \ No newline at end of file diff --git a/src/current/_includes/v25.4/known-limitations/drop-trigger-limitations.md b/src/current/_includes/v25.4/known-limitations/drop-trigger-limitations.md index 90745f7e17a..2a633ccb369 100644 --- a/src/current/_includes/v25.4/known-limitations/drop-trigger-limitations.md +++ b/src/current/_includes/v25.4/known-limitations/drop-trigger-limitations.md @@ -1 +1 @@ -[`DROP TRIGGER`]({% link {{ page.version.version }}/drop-trigger.md %}) with `CASCADE` is not supported. [#128151](https://github.com/cockroachdb/cockroach/issues/128151) \ No newline at end of file +[`DROP TRIGGER`]({% link {{ page.version.version }}/drop-trigger.md %}) with `CASCADE` is not supported. #128151 \ No newline at end of file diff --git a/src/current/_includes/v25.4/known-limitations/enforce-home-region-limitations.md b/src/current/_includes/v25.4/known-limitations/enforce-home-region-limitations.md index 693829358f7..53ce961b902 100644 --- a/src/current/_includes/v25.4/known-limitations/enforce-home-region-limitations.md +++ b/src/current/_includes/v25.4/known-limitations/enforce-home-region-limitations.md @@ -1 +1 @@ -With `enforce_home_region` enabled, CockroachDB currently validates home-region access during plan build. This can falsely reject queries (e.g., lookup joins) that would only read local data at execution time, returning a `Query has no home region` error. [#148375](https://github.com/cockroachdb/cockroach/issues/148375) \ No newline at end of file +With `enforce_home_region` enabled, CockroachDB currently validates home-region access during plan build. This can falsely reject queries (e.g., lookup joins) that would only read local data at execution time, returning a `Query has no home region` error. #148375 \ No newline at end of file diff --git a/src/current/_includes/v25.4/known-limitations/expression-index-limitations.md b/src/current/_includes/v25.4/known-limitations/expression-index-limitations.md index c0e94185948..9487028791c 100644 --- a/src/current/_includes/v25.4/known-limitations/expression-index-limitations.md +++ b/src/current/_includes/v25.4/known-limitations/expression-index-limitations.md @@ -1,6 +1,6 @@ - The expression cannot reference columns outside the index's table. - Functional expression output must be determined by the input arguments. For example, you can't use the [volatile function]({% link {{ page.version.version }}/functions-and-operators.md %}#function-volatility) `now()` to create an index because its output depends on more than just the function arguments. -- 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 %}). [#67900](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 %}). #67900 - CockroachDB does not support expressions as `ON CONFLICT` targets. This means that unique {% if page.name == "expression-indexes.md" %} expression indexes {% else %} [expression indexes]({% link {{ page.version.version }}/expression-indexes.md %}) {% endif %} cannot be selected as arbiters for [`INSERT .. ON CONFLICT`]({% link {{ page.version.version }}/insert.md %}#on-conflict-clause) statements. For example: {% include_cached copy-clipboard.html %} @@ -40,4 +40,4 @@ HINT: try \h INSERT ~~~ - [#67893](https://github.com/cockroachdb/cockroach/issues/67893) + #67893 diff --git a/src/current/_includes/v25.4/known-limitations/forecasted-stats-limitations.md b/src/current/_includes/v25.4/known-limitations/forecasted-stats-limitations.md index c8753124a96..b5d03e8ffc5 100644 --- a/src/current/_includes/v25.4/known-limitations/forecasted-stats-limitations.md +++ b/src/current/_includes/v25.4/known-limitations/forecasted-stats-limitations.md @@ -6,4 +6,4 @@ Although [`SHOW STATISTICS WITH FORECAST`]({% link {{ page.version.version }}/show-statistics.md %}#display-forecasted-statistics) shows the settings taking effect immediately, they do not actually take effect until new statistics are collected (as can be verified with [`EXPLAIN`]({% link {{ page.version.version }}/explain.md %})). - As a workaround, disable and enable forecasting at the [cluster]({% link {{ page.version.version }}/cost-based-optimizer.md %}#enable-and-disable-automatic-statistics-collection-for-clusters) or [table]({% link {{ page.version.version }}/cost-based-optimizer.md %}#enable-and-disable-automatic-statistics-collection-for-tables) level. This will invalidate the statistics cache and cause these settings to take effect immediately. [#123852](https://github.com/cockroachdb/cockroach/issues/123852) \ No newline at end of file + As a workaround, disable and enable forecasting at the [cluster]({% link {{ page.version.version }}/cost-based-optimizer.md %}#enable-and-disable-automatic-statistics-collection-for-clusters) or [table]({% link {{ page.version.version }}/cost-based-optimizer.md %}#enable-and-disable-automatic-statistics-collection-for-tables) level. This will invalidate the statistics cache and cause these settings to take effect immediately. #123852 \ No newline at end of file diff --git a/src/current/_includes/v25.4/known-limitations/full-text-search-unsupported.md b/src/current/_includes/v25.4/known-limitations/full-text-search-unsupported.md index 7b5a83f2cae..2be666994f1 100644 --- a/src/current/_includes/v25.4/known-limitations/full-text-search-unsupported.md +++ b/src/current/_includes/v25.4/known-limitations/full-text-search-unsupported.md @@ -11,4 +11,4 @@ - `!! tsquery` comparisons. - `tsquery @> tsquery` and `tsquery <@ tsquery` comparisons. -[#41288](https://github.com/cockroachdb/cockroach/issues/41288) \ No newline at end of file +#41288 \ No newline at end of file diff --git a/src/current/_includes/v25.4/known-limitations/generic-query-plan-limitations.md b/src/current/_includes/v25.4/known-limitations/generic-query-plan-limitations.md index e28e66d5f32..03d72195334 100644 --- a/src/current/_includes/v25.4/known-limitations/generic-query-plan-limitations.md +++ b/src/current/_includes/v25.4/known-limitations/generic-query-plan-limitations.md @@ -1,2 +1,2 @@ -- Because [generic query plans]({% link {{ page.version.version }}/cost-based-optimizer.md %}#query-plan-cache) use lookup joins instead of the scans and revscans used by custom query plans, generic query plans do not perform as well as custom query plans in some cases. [#128916](https://github.com/cockroachdb/cockroach/issues/128916) -- [Generic query plans]({% link {{ page.version.version }}/cost-based-optimizer.md %}#query-plan-type) are not included in the [plan cache]({% link {{ page.version.version }}/cost-based-optimizer.md %}#query-plan-cache). This means a generic query plan built and optimized for a prepared statement in one session cannot be used by another session. To reuse generic query plans for maximum performance, a prepared statement should be executed multiple times instead of prepared and executed once. [#128911](https://github.com/cockroachdb/cockroach/issues/128911) \ No newline at end of file +- Because [generic query plans]({% link {{ page.version.version }}/cost-based-optimizer.md %}#query-plan-cache) use lookup joins instead of the scans and revscans used by custom query plans, generic query plans do not perform as well as custom query plans in some cases. #128916 +- [Generic query plans]({% link {{ page.version.version }}/cost-based-optimizer.md %}#query-plan-type) are not included in the [plan cache]({% link {{ page.version.version }}/cost-based-optimizer.md %}#query-plan-cache). This means a generic query plan built and optimized for a prepared statement in one session cannot be used by another session. To reuse generic query plans for maximum performance, a prepared statement should be executed multiple times instead of prepared and executed once. #128911 \ No newline at end of file diff --git a/src/current/_includes/v25.4/known-limitations/geospatial-heterogeneous-architectures.md b/src/current/_includes/v25.4/known-limitations/geospatial-heterogeneous-architectures.md index 4bb9633f138..55b706c3d6d 100644 --- a/src/current/_includes/v25.4/known-limitations/geospatial-heterogeneous-architectures.md +++ b/src/current/_includes/v25.4/known-limitations/geospatial-heterogeneous-architectures.md @@ -1 +1 @@ -Clusters that mix `s390x` with other CPU architectures are unsupported for geospatial workloads. Due to differences in how trigonometric functions are computed on `s390x` systems, geospatial queries in heterogeneous clusters with `s390x` are likely to get incorrect results. This can include taking a backup on one architecture and restoring it on another. [#148783](https://github.com/cockroachdb/cockroach/issues/148783) \ No newline at end of file +Clusters that mix `s390x` with other CPU architectures are unsupported for geospatial workloads. Due to differences in how trigonometric functions are computed on `s390x` systems, geospatial queries in heterogeneous clusters with `s390x` are likely to get incorrect results. This can include taking a backup on one architecture and restoring it on another. #148783 \ No newline at end of file diff --git a/src/current/_includes/v25.4/known-limitations/int-limitations.md b/src/current/_includes/v25.4/known-limitations/int-limitations.md index 6333dbf6ed5..defda16db88 100644 --- a/src/current/_includes/v25.4/known-limitations/int-limitations.md +++ b/src/current/_includes/v25.4/known-limitations/int-limitations.md @@ -1 +1 @@ -- 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::INT`, the `default_int_size` variable will not take effect until the next statement. Statement parsing is asynchronous with 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. [#32846](https://github.com/cockroachdb/cockroach/issues/32846) +- 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::INT`, the `default_int_size` variable will not take effect until the next statement. Statement parsing is asynchronous with 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. #32846 diff --git a/src/current/_includes/v25.4/known-limitations/inverted-index-limitations.md b/src/current/_includes/v25.4/known-limitations/inverted-index-limitations.md index 1b0eb8d4335..8c1668311a9 100644 --- a/src/current/_includes/v25.4/known-limitations/inverted-index-limitations.md +++ b/src/current/_includes/v25.4/known-limitations/inverted-index-limitations.md @@ -1,3 +1,3 @@ -- CockroachDB does not allow inverted indexes with a [`STORING` column]({% link {{ page.version.version }}/create-index.md %}#store-columns). [#88278](https://github.com/cockroachdb/cockroach/issues/88278) -- CockroachDB cannot index-accelerate queries with `@@` predicates when both sides of the operator are variables for `tsvector` and `tsquery` types. [#102731](https://github.com/cockroachdb/cockroach/issues/102731) -- [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. To work around this limitation, make sure that the prefix columns of the index are either constrained to single constant values, or are part of an equality condition with an input column. [#59649](https://github.com/cockroachdb/cockroach/issues/59649) +- CockroachDB does not allow inverted indexes with a [`STORING` column]({% link {{ page.version.version }}/create-index.md %}#store-columns). #88278 +- CockroachDB cannot index-accelerate queries with `@@` predicates when both sides of the operator are variables for `tsvector` and `tsquery` types. #102731 +- [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. To work around this limitation, make sure that the prefix columns of the index are either constrained to single constant values, or are part of an equality condition with an input column. #59649 diff --git a/src/current/_includes/v25.4/known-limitations/jsonpath-limitations.md b/src/current/_includes/v25.4/known-limitations/jsonpath-limitations.md index 9b51bfb6e87..a74232bd40b 100644 --- a/src/current/_includes/v25.4/known-limitations/jsonpath-limitations.md +++ b/src/current/_includes/v25.4/known-limitations/jsonpath-limitations.md @@ -1,2 +1,2 @@ -- The following keywords are only accepted in lowercase: `strict`, `lax`, `exists`, `like_regex`, `flag`, `is unknown`, `to`, `last`. [#144255](https://github.com/cockroachdb/cockroach/issues/144255) -- Comparisons involving empty arrays (e.g., `SELECT jsonb_path_query('{"a": [1], "b": []}', '$.a == $.b');`) return `null`, rather than `false` as in PostgreSQL. [#145099](https://github.com/cockroachdb/cockroach/issues/145099) \ No newline at end of file +- The following keywords are only accepted in lowercase: `strict`, `lax`, `exists`, `like_regex`, `flag`, `is unknown`, `to`, `last`. #144255 +- Comparisons involving empty arrays (e.g., `SELECT jsonb_path_query('{"a": [1], "b": []}', '$.a == $.b');`) return `null`, rather than `false` as in PostgreSQL. #145099 \ No newline at end of file diff --git a/src/current/_includes/v25.4/known-limitations/ldr-column-families.md b/src/current/_includes/v25.4/known-limitations/ldr-column-families.md index 2a7c3bbba52..0c9dcd74ae4 100644 --- a/src/current/_includes/v25.4/known-limitations/ldr-column-families.md +++ b/src/current/_includes/v25.4/known-limitations/ldr-column-families.md @@ -1 +1 @@ -Replicating tables cannot contain [column families]({% link {{ page.version.version }}/column-families.md %}). [#133562](https://github.com/cockroachdb/cockroach/issues/133562) \ No newline at end of file +Replicating tables cannot contain [column families]({% link {{ page.version.version }}/column-families.md %}). #133562 \ No newline at end of file diff --git a/src/current/_includes/v25.4/known-limitations/ldr-composite-primary.md b/src/current/_includes/v25.4/known-limitations/ldr-composite-primary.md index ac897af35a7..2a790952946 100644 --- a/src/current/_includes/v25.4/known-limitations/ldr-composite-primary.md +++ b/src/current/_includes/v25.4/known-limitations/ldr-composite-primary.md @@ -1 +1 @@ -The [primary key]({% link {{ page.version.version }}/primary-key.md %}) in replicating tables cannot contain composite types. [#133572](https://github.com/cockroachdb/cockroach/issues/133572) \ No newline at end of file +The [primary key]({% link {{ page.version.version }}/primary-key.md %}) in replicating tables cannot contain composite types. #133572 \ No newline at end of file diff --git a/src/current/_includes/v25.4/known-limitations/ldr-indexes.md b/src/current/_includes/v25.4/known-limitations/ldr-indexes.md index 0bf7f60c2d4..4936f9868bd 100644 --- a/src/current/_includes/v25.4/known-limitations/ldr-indexes.md +++ b/src/current/_includes/v25.4/known-limitations/ldr-indexes.md @@ -1 +1 @@ -Replicating tables cannot contain an [index]({% link {{ page.version.version }}/indexes.md %}) that requires expression evaluation before insertion. [#133560](https://github.com/cockroachdb/cockroach/issues/133560) \ No newline at end of file +Replicating tables cannot contain an [index]({% link {{ page.version.version }}/indexes.md %}) that requires expression evaluation before insertion. #133560 \ No newline at end of file diff --git a/src/current/_includes/v25.4/known-limitations/ldr-sequences.md b/src/current/_includes/v25.4/known-limitations/ldr-sequences.md index 4e39f3630e3..693c0cc685b 100644 --- a/src/current/_includes/v25.4/known-limitations/ldr-sequences.md +++ b/src/current/_includes/v25.4/known-limitations/ldr-sequences.md @@ -1 +1 @@ -Replicating table cannot reference [sequences]({% link {{ page.version.version }}/create-sequence.md %}). [#132303](https://github.com/cockroachdb/cockroach/issues/132303) \ No newline at end of file +Replicating table cannot reference [sequences]({% link {{ page.version.version }}/create-sequence.md %}). #132303 \ No newline at end of file diff --git a/src/current/_includes/v25.4/known-limitations/ldr-triggers.md b/src/current/_includes/v25.4/known-limitations/ldr-triggers.md index 55f8e885b97..a587568b69a 100644 --- a/src/current/_includes/v25.4/known-limitations/ldr-triggers.md +++ b/src/current/_includes/v25.4/known-limitations/ldr-triggers.md @@ -1 +1 @@ -Replicating tables cannot reference triggers. [#132301](https://github.com/cockroachdb/cockroach/issues/132301) \ No newline at end of file +Replicating tables cannot reference triggers. #132301 \ No newline at end of file diff --git a/src/current/_includes/v25.4/known-limitations/ldr-udfs.md b/src/current/_includes/v25.4/known-limitations/ldr-udfs.md index fb642f14751..62eea605b52 100644 --- a/src/current/_includes/v25.4/known-limitations/ldr-udfs.md +++ b/src/current/_includes/v25.4/known-limitations/ldr-udfs.md @@ -1 +1 @@ -Replicating tables cannot reference [user-defined functions]({% link {{ page.version.version }}/user-defined-functions.md %}). [#132302](https://github.com/cockroachdb/cockroach/issues/132302) \ No newline at end of file +Replicating tables cannot reference [user-defined functions]({% link {{ page.version.version }}/user-defined-functions.md %}). #132302 \ No newline at end of file diff --git a/src/current/_includes/v25.4/known-limitations/like-escape-performance.md b/src/current/_includes/v25.4/known-limitations/like-escape-performance.md index 845fdddeeb9..45d8f380e3d 100644 --- a/src/current/_includes/v25.4/known-limitations/like-escape-performance.md +++ b/src/current/_includes/v25.4/known-limitations/like-escape-performance.md @@ -1 +1 @@ -`LIKE` queries with an `ESCAPE` clause cannot use index acceleration, which can result in significantly slower performance compared to standard `LIKE` queries. [#30192](https://github.com/cockroachdb/cockroach/issues/30192) +`LIKE` queries with an `ESCAPE` clause cannot use index acceleration, which can result in significantly slower performance compared to standard `LIKE` queries. #30192 diff --git a/src/current/_includes/v25.4/known-limitations/locality-optimized-search-virtual-computed-columns.md b/src/current/_includes/v25.4/known-limitations/locality-optimized-search-virtual-computed-columns.md index d6acf418aa8..39b3f2cb00e 100644 --- a/src/current/_includes/v25.4/known-limitations/locality-optimized-search-virtual-computed-columns.md +++ b/src/current/_includes/v25.4/known-limitations/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). [#68129](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). #68129 diff --git a/src/current/_includes/v25.4/known-limitations/materialized-views-no-stats.md b/src/current/_includes/v25.4/known-limitations/materialized-views-no-stats.md index 02f2bd787c4..2bfe00d5307 100644 --- a/src/current/_includes/v25.4/known-limitations/materialized-views-no-stats.md +++ b/src/current/_includes/v25.4/known-limitations/materialized-views-no-stats.md @@ -1 +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. [#78181](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. #78181. diff --git a/src/current/_includes/v25.4/known-limitations/max-row-size-limitations.md b/src/current/_includes/v25.4/known-limitations/max-row-size-limitations.md index 9d4d3e12918..705e6fcc9f7 100644 --- a/src/current/_includes/v25.4/known-limitations/max-row-size-limitations.md +++ b/src/current/_includes/v25.4/known-limitations/max-row-size-limitations.md @@ -1 +1 @@ -- 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. [#69540](https://github.com/cockroachdb/cockroach/issues/69540) +- 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. #69540 diff --git a/src/current/_includes/v25.4/known-limitations/multiple-arbiter-indexes.md b/src/current/_includes/v25.4/known-limitations/multiple-arbiter-indexes.md index c9861623314..28b41eca491 100644 --- a/src/current/_includes/v25.4/known-limitations/multiple-arbiter-indexes.md +++ b/src/current/_includes/v25.4/known-limitations/multiple-arbiter-indexes.md @@ -1 +1 @@ -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. [#53170](https://github.com/cockroachdb/cockroach/issues/53170) \ No newline at end of file +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. #53170 \ No newline at end of file diff --git a/src/current/_includes/v25.4/known-limitations/node-shutdown-limitations.md b/src/current/_includes/v25.4/known-limitations/node-shutdown-limitations.md index f35f858bdc1..d7eb712ee06 100644 --- a/src/current/_includes/v25.4/known-limitations/node-shutdown-limitations.md +++ b/src/current/_includes/v25.4/known-limitations/node-shutdown-limitations.md @@ -2,4 +2,4 @@ - The `cockroach node decommission --wait-all` command was run and then interrupted - The `cockroach node decommission --wait=none` command was run - 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. [#94430](https://github.com/cockroachdb/cockroach/issues/94430) + 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. #94430 diff --git a/src/current/_includes/v25.4/known-limitations/null-limitations.md b/src/current/_includes/v25.4/known-limitations/null-limitations.md index ad2efce233a..ba230019779 100644 --- a/src/current/_includes/v25.4/known-limitations/null-limitations.md +++ b/src/current/_includes/v25.4/known-limitations/null-limitations.md @@ -1 +1 @@ -- 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` values 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 does not work when the ordering column is a tuple. [#93558](https://github.com/cockroachdb/cockroach/issues/93558) +- 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` values 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 does not work when the ordering column is a tuple. #93558 diff --git a/src/current/_includes/v25.4/known-limitations/online-schema-changes-limitations.md b/src/current/_includes/v25.4/known-limitations/online-schema-changes-limitations.md index be6d00c26ce..8f58936ac08 100644 --- a/src/current/_includes/v25.4/known-limitations/online-schema-changes-limitations.md +++ b/src/current/_includes/v25.4/known-limitations/online-schema-changes-limitations.md @@ -28,9 +28,9 @@ You cannot start an online schema change on a table if a [primary key change]({% 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. [#46541](https://github.com/cockroachdb/cockroach/issues/46541) +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. #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. [#47712](https://github.com/cockroachdb/cockroach/issues/47712) +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. #47712 To reduce the chance that a column drop will roll back incorrectly: diff --git a/src/current/_includes/v25.4/known-limitations/partition-limitations.md b/src/current/_includes/v25.4/known-limitations/partition-limitations.md index f8ba5e979fa..b0bcd4b1d51 100644 --- a/src/current/_includes/v25.4/known-limitations/partition-limitations.md +++ b/src/current/_includes/v25.4/known-limitations/partition-limitations.md @@ -1,3 +1,3 @@ - When defining a [table partition]({% link {{ page.version.version }}/partitioning.md %}), either during table creation or table alteration, it is not possible to use placeholders in the `PARTITION BY` clause. - CockroachDB does not currently support dropping a single partition from a table. In order to remove partitions, you can [repartition]({% unless page.name == "partitioning.md" %}{% link {{ page.version.version }}/partitioning.md %}{% endunless %}#repartition-a-table) the table. -- 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. [#82774](https://github.com/cockroachdb/cockroach/issues/82774) +- 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. #82774 diff --git a/src/current/_includes/v25.4/known-limitations/plpgsql-limitations.md b/src/current/_includes/v25.4/known-limitations/plpgsql-limitations.md index 60b3104942e..09fd0183a40 100644 --- a/src/current/_includes/v25.4/known-limitations/plpgsql-limitations.md +++ b/src/current/_includes/v25.4/known-limitations/plpgsql-limitations.md @@ -1,23 +1,23 @@ -- It is not possible to use a variable as a target more than once in the same `INTO` clause. For example, `SELECT 1, 2 INTO x, x;`. [#121605](https://github.com/cockroachdb/cockroach/issues/121605) -- PLpgSQL variable declarations cannot inherit the type of a table row or column using `%TYPE` or `%ROWTYPE` syntax. [#114676](https://github.com/cockroachdb/cockroach/issues/114676) -- PL/pgSQL arguments cannot be referenced with ordinals (e.g., `$1`, `$2`). [#114701](https://github.com/cockroachdb/cockroach/issues/114701) +- It is not possible to use a variable as a target more than once in the same `INTO` clause. For example, `SELECT 1, 2 INTO x, x;`. #121605 +- PLpgSQL variable declarations cannot inherit the type of a table row or column using `%TYPE` or `%ROWTYPE` syntax. #114676 +- PL/pgSQL arguments cannot be referenced with ordinals (e.g., `$1`, `$2`). #114701 - The following statements are not supported: - - `FOR` cursor loops, `FOR` query loops, and `FOREACH` loops. [#105246](https://github.com/cockroachdb/cockroach/issues/105246) - - `PERFORM`, `EXECUTE`, `GET DIAGNOSTICS`, and `CASE`. [#117744](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 %}). [#111446](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`). [#106237](https://github.com/cockroachdb/cockroach/issues/106237) -- `RAISE` statements message the client directly, and do not produce log output. [#117750](https://github.com/cockroachdb/cockroach/issues/117750) -- `ASSERT` debugging checks are not supported. [#117744](https://github.com/cockroachdb/cockroach/issues/117744) -- `RECORD` parameters and variables are not supported in [user-defined functions]({% link {{ page.version.version }}/user-defined-functions.md %}). [#105713](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. [#117508](https://github.com/cockroachdb/cockroach/issues/117508) -- Syntax for accessing members of composite types without parentheses is not supported. [#114687](https://github.com/cockroachdb/cockroach/issues/114687) -- `NOT NULL` variable declarations are not supported. [#105243](https://github.com/cockroachdb/cockroach/issues/105243) -- Cursors opened in PL/pgSQL execute their queries on opening, affecting performance and resource usage. [#111479](https://github.com/cockroachdb/cockroach/issues/111479) -- Cursors in PL/pgSQL cannot be declared with arguments. [#117746](https://github.com/cockroachdb/cockroach/issues/117746) -- `OPEN FOR EXECUTE` is not supported for opening cursors. [#117744](https://github.com/cockroachdb/cockroach/issues/117744) -- The `print_strict_params` option is not supported in PL/pgSQL. [#123671](https://github.com/cockroachdb/cockroach/issues/123671) -- The `FOUND` local variable, which checks whether a statement affected any rows, is not supported in PL/pgSQL. [#122306](https://github.com/cockroachdb/cockroach/issues/122306) -- By default, when a PL/pgSQL variable conflicts with a column name, CockroachDB resolves the ambiguity by treating it as a column reference rather than a variable reference. This behavior differs from PostgreSQL, where an ambiguous column error is reported, and it is possible to change the `plpgsql.variable_conflict` setting in order to prefer either columns or variables. [#115680](https://github.com/cockroachdb/cockroach/issues/115680) -- It is not possible to define a `RECORD`-returning PL/pgSQL function that returns different-typed expressions from different `RETURN` statements. CockroachDB requires a consistent return type for `RECORD`-returning functions. [#115384](https://github.com/cockroachdb/cockroach/issues/115384) -- Variables cannot be declared with an associated collation using the `COLLATE` keyword. [#105245](https://github.com/cockroachdb/cockroach/issues/105245) -- Variables cannot be accessed using the `label.var_name` pattern. [#122322](https://github.com/cockroachdb/cockroach/issues/122322) \ No newline at end of file + - `FOR` cursor loops, `FOR` query loops, and `FOREACH` loops. #105246 + - `PERFORM`, `EXECUTE`, `GET DIAGNOSTICS`, and `CASE`. #117744 +- PL/pgSQL exception blocks cannot catch [transaction retry errors]({% link {{ page.version.version }}/transaction-retry-error-reference.md %}). #111446 +- `RAISE` statements cannot be annotated with names of schema objects related to the error (i.e., using `COLUMN`, `CONSTRAINT`, `DATATYPE`, `TABLE`, or `SCHEMA`). #106237 +- `RAISE` statements message the client directly, and do not produce log output. #117750 +- `ASSERT` debugging checks are not supported. #117744 +- `RECORD` parameters and variables are not supported in [user-defined functions]({% link {{ page.version.version }}/user-defined-functions.md %}). #105713 +- Variable shadowing (e.g., declaring a variable with the same name in an inner block) is not supported in PL/pgSQL. #117508 +- Syntax for accessing members of composite types without parentheses is not supported. #114687 +- `NOT NULL` variable declarations are not supported. #105243 +- Cursors opened in PL/pgSQL execute their queries on opening, affecting performance and resource usage. #111479 +- Cursors in PL/pgSQL cannot be declared with arguments. #117746 +- `OPEN FOR EXECUTE` is not supported for opening cursors. #117744 +- The `print_strict_params` option is not supported in PL/pgSQL. #123671 +- The `FOUND` local variable, which checks whether a statement affected any rows, is not supported in PL/pgSQL. #122306 +- By default, when a PL/pgSQL variable conflicts with a column name, CockroachDB resolves the ambiguity by treating it as a column reference rather than a variable reference. This behavior differs from PostgreSQL, where an ambiguous column error is reported, and it is possible to change the `plpgsql.variable_conflict` setting in order to prefer either columns or variables. #115680 +- It is not possible to define a `RECORD`-returning PL/pgSQL function that returns different-typed expressions from different `RETURN` statements. CockroachDB requires a consistent return type for `RECORD`-returning functions. #115384 +- Variables cannot be declared with an associated collation using the `COLLATE` keyword. #105245 +- Variables cannot be accessed using the `label.var_name` pattern. #122322 \ No newline at end of file diff --git a/src/current/_includes/v25.4/known-limitations/read-committed-limitations.md b/src/current/_includes/v25.4/known-limitations/read-committed-limitations.md index b4722a0c369..1beeca3c6ce 100644 --- a/src/current/_includes/v25.4/known-limitations/read-committed-limitations.md +++ b/src/current/_includes/v25.4/known-limitations/read-committed-limitations.md @@ -1,7 +1,7 @@ -- Mixed-isolation-level workloads must enable foreign-key check locking for `SERIALIZABLE` transactions to avoid race conditions. [#151663](https://github.com/cockroachdb/cockroach/issues/151663#issuecomment-3222083180) -- 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 when the [`autocommit_before_ddl` session setting]({% link {{page.version.version}}/set-vars.md %}#autocommit-before-ddl) is set to `off`, 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`. [#114778](https://github.com/cockroachdb/cockroach/issues/114778) -- Multi-column-family checks during updates are not supported under `READ COMMITTED` isolation. [#112488](https://github.com/cockroachdb/cockroach/issues/112488) +- Mixed-isolation-level workloads must enable foreign-key check locking for `SERIALIZABLE` transactions to avoid race conditions. #151663 +- 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 when the [`autocommit_before_ddl` session setting]({% link {{page.version.version}}/set-vars.md %}#autocommit-before-ddl) is set to `off`, 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`. #114778 +- Multi-column-family checks during updates are not supported under `READ COMMITTED` isolation. #112488 - Because locks acquired by [foreign key]({% link {{ page.version.version }}/foreign-key.md %}) checks, [`SELECT FOR UPDATE`]({% link {{ page.version.version }}/select-for-update.md %}), and [`SELECT FOR SHARE`]({% link {{ page.version.version }}/select-for-update.md %}) are fully replicated under `READ COMMITTED` isolation, some queries experience a delay for Raft replication. - [Foreign key]({% link {{ page.version.version }}/foreign-key.md %}) checks are not performed in parallel under `READ COMMITTED` isolation. - [`SELECT FOR UPDATE` and `SELECT FOR SHARE`]({% link {{ page.version.version }}/select-for-update.md %}) statements are less optimized under `READ COMMITTED` isolation than under `SERIALIZABLE` isolation. Under `READ COMMITTED` isolation, `SELECT FOR UPDATE` and `SELECT FOR SHARE` usually perform an extra lookup join for every locked table when compared to the same queries under `SERIALIZABLE`. In addition, some optimization steps (such as de-correlation of correlated [subqueries]({% link {{ page.version.version }}/subqueries.md %})) are not currently performed on these queries. -- Regardless of isolation level, [`SELECT FOR UPDATE` and `SELECT FOR SHARE`]({% link {{ page.version.version }}/select-for-update.md %}) statements in CockroachDB do not prevent insertion of new rows matching the search condition (i.e., [phantom reads]({% link {{ page.version.version }}/read-committed.md %}#non-repeatable-reads-and-phantom-reads)). This matches PostgreSQL behavior at all isolation levels. [#120673](https://github.com/cockroachdb/cockroach/issues/120673) \ No newline at end of file +- Regardless of isolation level, [`SELECT FOR UPDATE` and `SELECT FOR SHARE`]({% link {{ page.version.version }}/select-for-update.md %}) statements in CockroachDB do not prevent insertion of new rows matching the search condition (i.e., [phantom reads]({% link {{ page.version.version }}/read-committed.md %}#non-repeatable-reads-and-phantom-reads)). This matches PostgreSQL behavior at all isolation levels. #120673 \ No newline at end of file diff --git a/src/current/_includes/v25.4/known-limitations/restore-multiregion-match.md b/src/current/_includes/v25.4/known-limitations/restore-multiregion-match.md index ab2f1029ecd..634d695246e 100644 --- a/src/current/_includes/v25.4/known-limitations/restore-multiregion-match.md +++ b/src/current/_includes/v25.4/known-limitations/restore-multiregion-match.md @@ -47,4 +47,4 @@ ALTER DATABASE destination_database SET PRIMARY REGION "us-east1"; ~~~ - [#71071](https://github.com/cockroachdb/cockroach/issues/71071) \ No newline at end of file + #71071 \ No newline at end of file diff --git a/src/current/_includes/v25.4/known-limitations/restore-tables-non-multi-reg.md b/src/current/_includes/v25.4/known-limitations/restore-tables-non-multi-reg.md index 5390f2d09ee..e05bc340141 100644 --- a/src/current/_includes/v25.4/known-limitations/restore-tables-non-multi-reg.md +++ b/src/current/_includes/v25.4/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. [#71502](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. #71502 diff --git a/src/current/_includes/v25.4/known-limitations/restore-udf.md b/src/current/_includes/v25.4/known-limitations/restore-udf.md index a4a4bc080fe..e4180219a25 100644 --- a/src/current/_includes/v25.4/known-limitations/restore-udf.md +++ b/src/current/_includes/v25.4/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. [#118195](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. #118195 \ No newline at end of file diff --git a/src/current/_includes/v25.4/known-limitations/rls-update-set-where-returning.md b/src/current/_includes/v25.4/known-limitations/rls-update-set-where-returning.md index 450de11683e..e6f2b296ba4 100644 --- a/src/current/_includes/v25.4/known-limitations/rls-update-set-where-returning.md +++ b/src/current/_includes/v25.4/known-limitations/rls-update-set-where-returning.md @@ -1 +1 @@ -`UPDATE` statements whose `SET`, `WHERE`, or `RETURNING` clauses do not read existing column values can be mistakenly filtered by row-level security `SELECT` policies, causing the statement to affect no rows. [#145894](https://github.com/cockroachdb/cockroach/issues/145894) \ No newline at end of file +`UPDATE` statements whose `SET`, `WHERE`, or `RETURNING` clauses do not read existing column values can be mistakenly filtered by row-level security `SELECT` policies, causing the statement to affect no rows. #145894 \ No newline at end of file diff --git a/src/current/_includes/v25.4/known-limitations/rls-values-on-conflict-do-nothing.md b/src/current/_includes/v25.4/known-limitations/rls-values-on-conflict-do-nothing.md index c85dea7987a..d274e573dc9 100644 --- a/src/current/_includes/v25.4/known-limitations/rls-values-on-conflict-do-nothing.md +++ b/src/current/_includes/v25.4/known-limitations/rls-values-on-conflict-do-nothing.md @@ -1 +1 @@ -`ON CONFLICT ... DO NOTHING`: CockroachDB does not run the constraint and row-level policy checks on the `VALUES` clause if the candidate row has a conflict. [#35370](https://github.com/cockroachdb/cockroach/issues/35370). +`ON CONFLICT ... DO NOTHING`: CockroachDB does not run the constraint and row-level policy checks on the `VALUES` clause if the candidate row has a conflict. #35370. diff --git a/src/current/_includes/v25.4/known-limitations/routine-limitations.md b/src/current/_includes/v25.4/known-limitations/routine-limitations.md index 7c958004f70..1f5228b9e77 100644 --- a/src/current/_includes/v25.4/known-limitations/routine-limitations.md +++ b/src/current/_includes/v25.4/known-limitations/routine-limitations.md @@ -1,8 +1,8 @@ -- Routines cannot be invoked with named arguments, e.g., `SELECT foo(a => 1, b => 2);` or `SELECT foo(b := 1, a := 2);`. [#122264](https://github.com/cockroachdb/cockroach/issues/122264) -- Routines cannot be created if they reference temporary tables. [#121375](https://github.com/cockroachdb/cockroach/issues/121375) -- Routines cannot be created with unnamed `INOUT` parameters. For example, `CREATE PROCEDURE p(INOUT INT) AS $$ BEGIN NULL; END; $$ LANGUAGE PLpgSQL;`. [#121251](https://github.com/cockroachdb/cockroach/issues/121251) -- Routines cannot be created if they return fewer columns than declared. For example, `CREATE FUNCTION f(OUT sum INT, INOUT a INT, INOUT b INT) LANGUAGE SQL AS $$ SELECT (a + b, b); $$;`. [#121247](https://github.com/cockroachdb/cockroach/issues/121247) -- Routines cannot be created with an `OUT` parameter of type `RECORD`. [#123448](https://github.com/cockroachdb/cockroach/issues/123448) -- DDL statements (e.g., `CREATE TABLE`, `CREATE INDEX`) are not allowed within UDFs or stored procedures. [#110080](https://github.com/cockroachdb/cockroach/issues/110080) -- Polymorphic types cannot be cast to other types (e.g., `TEXT`) within routine parameters. [#123536](https://github.com/cockroachdb/cockroach/issues/123536) -- Routine parameters and return types cannot be declared using the `ANYENUM` polymorphic type, which is able to match any [`ENUM`]({% link {{ page.version.version }}/enum.md %}) type. [123048](https://github.com/cockroachdb/cockroach/issues/123048) \ No newline at end of file +- Routines cannot be invoked with named arguments, e.g., `SELECT foo(a => 1, b => 2);` or `SELECT foo(b := 1, a := 2);`. #122264 +- Routines cannot be created if they reference temporary tables. #121375 +- Routines cannot be created with unnamed `INOUT` parameters. For example, `CREATE PROCEDURE p(INOUT INT) AS $$ BEGIN NULL; END; $$ LANGUAGE PLpgSQL;`. #121251 +- Routines cannot be created if they return fewer columns than declared. For example, `CREATE FUNCTION f(OUT sum INT, INOUT a INT, INOUT b INT) LANGUAGE SQL AS $$ SELECT (a + b, b); $$;`. #121247 +- Routines cannot be created with an `OUT` parameter of type `RECORD`. #123448 +- DDL statements (e.g., `CREATE TABLE`, `CREATE INDEX`) are not allowed within UDFs or stored procedures. #110080 +- Polymorphic types cannot be cast to other types (e.g., `TEXT`) within routine parameters. #123536 +- Routine parameters and return types cannot be declared using the `ANYENUM` polymorphic type, which is able to match any [`ENUM`]({% link {{ page.version.version }}/enum.md %}) type. 123048 \ No newline at end of file diff --git a/src/current/_includes/v25.4/known-limitations/row-level-ttl-limitations.md b/src/current/_includes/v25.4/known-limitations/row-level-ttl-limitations.md index c386ba576d7..4460901566d 100644 --- a/src/current/_includes/v25.4/known-limitations/row-level-ttl-limitations.md +++ b/src/current/_includes/v25.4/known-limitations/row-level-ttl-limitations.md @@ -1,5 +1,5 @@ - Any queries you run against tables with Row-Level TTL enabled (or against tables that have [foreign keys]({% link {{page.version.version}}/foreign-key.md %}) that reference TTL-enabled tables) do not filter out expired rows from the result set (this includes [`UPDATE`s]({% link {{ page.version.version }}/update.md %}) and [`DELETE`s]({% link {{ page.version.version }}/delete.md %})). This feature may be added in a future release. For now, follow the instructions in [Filter out expired rows from a selection query]({% link {{ page.version.version }}/row-level-ttl.md %}#filter-out-expired-rows-from-a-selection-query). -- Tables with Row-Level TTL can be referenced by [foreign keys]({% link {{page.version.version}}/foreign-key.md %}). TTL deletes are issued as regular [`DELETE`]({% link {{ page.version.version }}/delete.md %}) statements, so inbound foreign keys apply. If an inbound foreign key uses `ON DELETE RESTRICT` and referencing rows exist, the TTL job fails with a foreign key violation. [#101372](https://github.com/cockroachdb/cockroach/issues/101372) +- Tables with Row-Level TTL can be referenced by [foreign keys]({% link {{page.version.version}}/foreign-key.md %}). TTL deletes are issued as regular [`DELETE`]({% link {{ page.version.version }}/delete.md %}) statements, so inbound foreign keys apply. If an inbound foreign key uses `ON DELETE RESTRICT` and referencing rows exist, the TTL job fails with a foreign key violation. #101372 - Enabling Row-Level TTL on a table with multiple [secondary indexes]({% link {{ page.version.version }}/indexes.md %}) can have negative performance impacts on a cluster, including increased [latency]({% link {{ page.version.version }}/common-issues-to-monitor.md %}#service-latency) and [contention]({% link {{ page.version.version }}/performance-best-practices-overview.md %}#transaction-contention). This is particularly true for large tables with terabytes of data and billions of rows that are split up into multiple ranges across separate nodes. - Increased latency may occur because secondary indexes aren't necessarily stored on the same underlying [ranges]({% link {{ page.version.version }}/architecture/overview.md %}#architecture-range) as a table's [primary indexes]({% link {{ page.version.version }}/indexes.md %}). Further, the secondary indexes' ranges may have [leaseholders]({% link {{ page.version.version }}/architecture/overview.md %}#architecture-leaseholder) located on different nodes than the primary index. - Increased contention may occur because [intents]({% link {{ page.version.version }}/architecture/transaction-layer.md %}#write-intents) must be written as part of performing the deletions. diff --git a/src/current/_includes/v25.4/known-limitations/savepoint-limitations.md b/src/current/_includes/v25.4/known-limitations/savepoint-limitations.md index 58451f4ae28..1bc0bdd8d44 100644 --- a/src/current/_includes/v25.4/known-limitations/savepoint-limitations.md +++ b/src/current/_includes/v25.4/known-limitations/savepoint-limitations.md @@ -1 +1 @@ -- Transactions with [priority `HIGH`]({% link {{ page.version.version }}/transactions.md %}#transaction-priorities) that contain DDL and `ROLLBACK TO SAVEPOINT` are not supported, as they could result in a deadlock. [#46414](https://github.com/cockroachdb/cockroach/issues/46414) +- Transactions with [priority `HIGH`]({% link {{ page.version.version }}/transactions.md %}#transaction-priorities) that contain DDL and `ROLLBACK TO SAVEPOINT` are not supported, as they could result in a deadlock. #46414 diff --git a/src/current/_includes/v25.4/known-limitations/select-for-update-limitations.md b/src/current/_includes/v25.4/known-limitations/select-for-update-limitations.md index 9c4ab3fd4a1..89152e6fad0 100644 --- a/src/current/_includes/v25.4/known-limitations/select-for-update-limitations.md +++ b/src/current/_includes/v25.4/known-limitations/select-for-update-limitations.md @@ -1,8 +1,8 @@ -- `SKIP LOCKED` cannot be used for tables with multiple [column families]({% link {{ page.version.version }}/column-families.md %}). [#160961](https://github.com/cockroachdb/cockroach/issues/160961) +- `SKIP LOCKED` cannot be used for tables with multiple [column families]({% link {{ page.version.version }}/column-families.md %}). #160961 - By default under `SERIALIZABLE` isolation, locks acquired using `SELECT ... FOR UPDATE` and `SELECT ... FOR SHARE` are implemented as fast, in-memory [unreplicated locks](architecture/transaction-layer.html#unreplicated-locks). If a [lease transfer]({% link {{ page.version.version }}/architecture/replication-layer.md %}#leases) or [range split/merge]({% link {{ page.version.version }}/architecture/distribution-layer.md %}#range-merges) occurs on a range held by an unreplicated lock, the lock is dropped. The following behaviors can occur: - 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`]({% link {{ page.version.version }}/transaction-retry-error-reference.md %}) and the [`restart transaction` error message]({% link {{ page.version.version }}/common-errors.md %}#restart-transaction). When running under `SERIALIZABLE` isolation, `SELECT ... FOR UPDATE` and `SELECT ... FOR SHARE` locks should be thought of as best-effort, and should not be relied upon for correctness. Note that [serialization]({% link {{ page.version.version }}/demo-serializable.md %}) is preserved despite this limitation. This limitation is fixed when the `enable_durable_locking_for_serializable` [session setting]({% link {{ page.version.version }}/session-variables.md %}#enable-durable-locking-for-serializable) is set to `true`. This limitation does **not** apply to [`READ COMMITTED`]({% link {{ page.version.version }}/read-committed.md %}) transactions. - 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`. [#114737](https://github.com/cockroachdb/cockroachdb/issues/114737) -- `SELECT FOR UPDATE` does not lock completely-`NULL` column families in multi-column-family tables. [#116836](https://github.com/cockroachdb/cockroach/issues/116836) \ No newline at end of file +- `SELECT FOR UPDATE` does not lock completely-`NULL` column families in multi-column-family tables. #116836 \ No newline at end of file diff --git a/src/current/_includes/v25.4/known-limitations/set-transaction-no-rollback.md b/src/current/_includes/v25.4/known-limitations/set-transaction-no-rollback.md index 4f4e5af2aab..966dcd82d48 100644 --- a/src/current/_includes/v25.4/known-limitations/set-transaction-no-rollback.md +++ b/src/current/_includes/v25.4/known-limitations/set-transaction-no-rollback.md @@ -30,4 +30,4 @@ UTC ~~~ - [#69396](https://github.com/cockroachdb/cockroach/issues/69396), [#148766](https://github.com/cockroachdb/cockroach/issues/148766) \ No newline at end of file + #69396, #148766 \ No newline at end of file diff --git a/src/current/_includes/v25.4/known-limitations/show-backup-symlink.md b/src/current/_includes/v25.4/known-limitations/show-backup-symlink.md index 38ba86fb28f..1c7a5612242 100644 --- a/src/current/_includes/v25.4/known-limitations/show-backup-symlink.md +++ b/src/current/_includes/v25.4/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. [#70260](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. #70260 \ No newline at end of file diff --git a/src/current/_includes/v25.4/known-limitations/spatial-limitations.md b/src/current/_includes/v25.4/known-limitations/spatial-limitations.md index 6167ecb02fa..1a7573a23dd 100644 --- a/src/current/_includes/v25.4/known-limitations/spatial-limitations.md +++ b/src/current/_includes/v25.4/known-limitations/spatial-limitations.md @@ -1,10 +1,10 @@ -- Not all [PostGIS spatial functions](https://postgis.net/docs/reference.html) are supported. [#49203](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. [#49402](https://github.com/cockroachdb/cockroach/issues/49402) -- The `AddGeometryColumn` spatial function only allows the `true` value for its `use_typmod` parameter. [#49448](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`. [#56124](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). [#55903](https://github.com/cockroachdb/cockroach/issues/55903) -- CockroachDB does not yet support [k-nearest neighbors](https://wikipedia.org/wiki/K-nearest_neighbors_algorithm). [#55227](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)`). [#56492](https://github.com/cockroachdb/cockroach/issues/56492) +- Not all [PostGIS spatial functions](https://postgis.net/docs/reference.html) are supported. #49203 +- The `AddGeometryColumn` [spatial function]({% link {{ page.version.version }}/functions-and-operators.md %}#spatial-functions) only allows constant arguments. #49402 +- The `AddGeometryColumn` spatial function only allows the `true` value for its `use_typmod` parameter. #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`. #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). #55903 +- CockroachDB does not yet support [k-nearest neighbors](https://wikipedia.org/wiki/K-nearest_neighbors_algorithm). #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)`). #56492 - {% include {{ page.version.version }}/known-limitations/srid-4326-limitations.md %} - {% include {{ page.version.version }}/known-limitations/geospatial-heterogeneous-architectures.md %} -- [Spatial features]({% link {{ page.version.version }}/spatial-data-overview.md %}) are disabled on ARM Macs 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. [#93161](https://github.com/cockroachdb/cockroach/issues/93161) +- [Spatial features]({% link {{ page.version.version }}/spatial-data-overview.md %}) are disabled on ARM Macs 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. #93161 diff --git a/src/current/_includes/v25.4/known-limitations/sql-cursors.md b/src/current/_includes/v25.4/known-limitations/sql-cursors.md index a3e42b9a3ec..d0ce2b3c3af 100644 --- a/src/current/_includes/v25.4/known-limitations/sql-cursors.md +++ b/src/current/_includes/v25.4/known-limitations/sql-cursors.md @@ -1,8 +1,8 @@ CockroachDB implements SQL [cursor]({% link {{ page.version.version }}/cursors.md %}) support with the following limitations: -- `DECLARE` only supports forward cursors. Reverse cursors created with `DECLARE SCROLL` are not supported. [#77102](https://github.com/cockroachdb/cockroach/issues/77102) -- `FETCH` supports forward, relative, and absolute variants, but only for forward cursors. [#77102](https://github.com/cockroachdb/cockroach/issues/77102) -- `BINARY CURSOR`, which returns data in the Postgres binary format, is not supported. [#77099](https://github.com/cockroachdb/cockroach/issues/77099) -- Scrollable cursor (also known as reverse `FETCH`) is not supported. [#77102](https://github.com/cockroachdb/cockroach/issues/77102) -- [`SELECT ... FOR UPDATE`]({% link {{ page.version.version }}/select-for-update.md %}) with a cursor is not supported. [#77103](https://github.com/cockroachdb/cockroach/issues/77103) -- Respect for [`SAVEPOINT`s]({% link {{ page.version.version }}/savepoint.md %}) is not supported. Cursor definitions do not disappear properly if rolled back to a `SAVEPOINT` from before they were created. [#77104](https://github.com/cockroachdb/cockroach/issues/77104) +- `DECLARE` only supports forward cursors. Reverse cursors created with `DECLARE SCROLL` are not supported. #77102 +- `FETCH` supports forward, relative, and absolute variants, but only for forward cursors. #77102 +- `BINARY CURSOR`, which returns data in the Postgres binary format, is not supported. #77099 +- Scrollable cursor (also known as reverse `FETCH`) is not supported. #77102 +- [`SELECT ... FOR UPDATE`]({% link {{ page.version.version }}/select-for-update.md %}) with a cursor is not supported. #77103 +- Respect for [`SAVEPOINT`s]({% link {{ page.version.version }}/savepoint.md %}) is not supported. Cursor definitions do not disappear properly if rolled back to a `SAVEPOINT` from before they were created. #77104 diff --git a/src/current/_includes/v25.4/known-limitations/sql-guardrails-limitations.md b/src/current/_includes/v25.4/known-limitations/sql-guardrails-limitations.md index 6d8d60ac614..02ebf98bcd7 100644 --- a/src/current/_includes/v25.4/known-limitations/sql-guardrails-limitations.md +++ b/src/current/_includes/v25.4/known-limitations/sql-guardrails-limitations.md @@ -1,2 +1,2 @@ -- 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. [#70473](https://github.com/cockroachdb/cockroach/issues/70473) -- 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. [#69540](https://github.com/cockroachdb/cockroach/issues/69540) +- 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. #70473 +- 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. #69540 diff --git a/src/current/_includes/v25.4/known-limitations/srid-4326-limitations.md b/src/current/_includes/v25.4/known-limitations/srid-4326-limitations.md index b556a9fbecd..294a1a53bd4 100644 --- a/src/current/_includes/v25.4/known-limitations/srid-4326-limitations.md +++ b/src/current/_includes/v25.4/known-limitations/srid-4326-limitations.md @@ -1 +1 @@ -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. [#55903](https://github.com/cockroachdb/cockroach/issues/55903) \ No newline at end of file +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. #55903 \ No newline at end of file diff --git a/src/current/_includes/v25.4/known-limitations/stats-refresh-upgrade.md b/src/current/_includes/v25.4/known-limitations/stats-refresh-upgrade.md index 3d5a8d26325..3325dfaa53b 100644 --- a/src/current/_includes/v25.4/known-limitations/stats-refresh-upgrade.md +++ b/src/current/_includes/v25.4/known-limitations/stats-refresh-upgrade.md @@ -1 +1 @@ -- The [automatic statistics refresher]({% link {{ page.version.version }}/cost-based-optimizer.md %}#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]({% link {{ page.version.version }}/upgrade-cockroach-version.md %}). This could cause a problem, for example, if the upgrade moves from a version without [histograms]({% link {{ page.version.version }}/cost-based-optimizer.md %}#control-histogram-collection) to a version with histograms. To refresh statistics manually, use [`CREATE STATISTICS`](create-statistics.html). [#54816](https://github.com/cockroachdb/cockroach/issues/54816) +- The [automatic statistics refresher]({% link {{ page.version.version }}/cost-based-optimizer.md %}#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]({% link {{ page.version.version }}/upgrade-cockroach-version.md %}). This could cause a problem, for example, if the upgrade moves from a version without [histograms]({% link {{ page.version.version }}/cost-based-optimizer.md %}#control-histogram-collection) to a version with histograms. To refresh statistics manually, use [`CREATE STATISTICS`](create-statistics.html). #54816 diff --git a/src/current/_includes/v25.4/known-limitations/stored-proc-limitations.md b/src/current/_includes/v25.4/known-limitations/stored-proc-limitations.md index b2aae6069c2..74f4d86dfb3 100644 --- a/src/current/_includes/v25.4/known-limitations/stored-proc-limitations.md +++ b/src/current/_includes/v25.4/known-limitations/stored-proc-limitations.md @@ -1,2 +1,2 @@ -- Pausable portals are not supported with `CALL` statements for stored procedures. [#151529](https://github.com/cockroachdb/cockroach/issues/151529) -- `COMMIT` and `ROLLBACK` statements are not supported within nested procedures. [#122266](https://github.com/cockroachdb/cockroach/issues/122266) \ No newline at end of file +- Pausable portals are not supported with `CALL` statements for stored procedures. #151529 +- `COMMIT` and `ROLLBACK` statements are not supported within nested procedures. #122266 \ No newline at end of file diff --git a/src/current/_includes/v25.4/known-limitations/subquery-mutations-limitations.md b/src/current/_includes/v25.4/known-limitations/subquery-mutations-limitations.md index 771eba80bc6..d4deeaee17c 100644 --- a/src/current/_includes/v25.4/known-limitations/subquery-mutations-limitations.md +++ b/src/current/_includes/v25.4/known-limitations/subquery-mutations-limitations.md @@ -2,4 +2,4 @@ - Set the `sql.multiple_modifications_of_table.enabled` [cluster setting]({% link {{ page.version.version }}/cluster-settings.md %}) to `true`. - Use the `enable_multiple_modifications_of_table` [session variable]({% link {{ page.version.version }}/set-vars.md %}). - 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. [#70731](https://github.com/cockroachdb/cockroach/issues/70731) + 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. #70731 diff --git a/src/current/_includes/v25.4/known-limitations/transaction-row-count-limitations.md b/src/current/_includes/v25.4/known-limitations/transaction-row-count-limitations.md index ded62d6d9be..a54f15d61a7 100644 --- a/src/current/_includes/v25.4/known-limitations/transaction-row-count-limitations.md +++ b/src/current/_includes/v25.4/known-limitations/transaction-row-count-limitations.md @@ -1 +1 @@ -- 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. [#70473](https://github.com/cockroachdb/cockroach/issues/70473) +- 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. #70473 diff --git a/src/current/_includes/v25.4/known-limitations/trigger-limitations.md b/src/current/_includes/v25.4/known-limitations/trigger-limitations.md index 66fcd0018ed..aaf49607557 100644 --- a/src/current/_includes/v25.4/known-limitations/trigger-limitations.md +++ b/src/current/_includes/v25.4/known-limitations/trigger-limitations.md @@ -1,10 +1,10 @@ -- `CREATE OR REPLACE TRIGGER` is not supported. [#128422](https://github.com/cockroachdb/cockroach/issues/128422) -- Statement-level triggers are not supported. [#126362](https://github.com/cockroachdb/cockroach/issues/126362) -- `INSTEAD OF` triggers are not supported. [#126363](https://github.com/cockroachdb/cockroach/issues/126363) -- A [trigger function]({% link {{ page.version.version }}/triggers.md %}#trigger-function) that is used in an existing trigger cannot be replaced with `CREATE OR REPLACE` syntax. To use `CREATE OR REPLACE`, first [drop any triggers]({% link {{ page.version.version }}/drop-trigger.md %}) that are using the function. [#134555](https://github.com/cockroachdb/cockroach/issues/134555) -- Hidden columns are not visible to triggers. [#133331](https://github.com/cockroachdb/cockroach/issues/133331) -- The `REFERENCING` clause for `CREATE TRIGGER` is not supported. [#135655](https://github.com/cockroachdb/cockroach/issues/135655) -- CockroachDB uses one-based indexing for the `TG_ARGV` array to maintain consistency with its array indexing system. This differs from PostgreSQL, where `TG_ARGV` uses zero-based indexing, unlike other PostgreSQL arrays. Trigger functions that reference `TG_ARGV` need to be adjusted when migrating from PostgreSQL. [#135311](https://github.com/cockroachdb/cockroach/issues/135311) -- `UPDATE` triggers with a column list (using `UPDATE OF column_name` syntax) are not supported. [#135656](https://github.com/cockroachdb/cockroach/issues/135656) -- Statement-level triggers for `TRUNCATE` events are not supported. [#135657](https://github.com/cockroachdb/cockroach/issues/135657) +- `CREATE OR REPLACE TRIGGER` is not supported. #128422 +- Statement-level triggers are not supported. #126362 +- `INSTEAD OF` triggers are not supported. #126363 +- A [trigger function]({% link {{ page.version.version }}/triggers.md %}#trigger-function) that is used in an existing trigger cannot be replaced with `CREATE OR REPLACE` syntax. To use `CREATE OR REPLACE`, first [drop any triggers]({% link {{ page.version.version }}/drop-trigger.md %}) that are using the function. #134555 +- Hidden columns are not visible to triggers. #133331 +- The `REFERENCING` clause for `CREATE TRIGGER` is not supported. #135655 +- CockroachDB uses one-based indexing for the `TG_ARGV` array to maintain consistency with its array indexing system. This differs from PostgreSQL, where `TG_ARGV` uses zero-based indexing, unlike other PostgreSQL arrays. Trigger functions that reference `TG_ARGV` need to be adjusted when migrating from PostgreSQL. #135311 +- `UPDATE` triggers with a column list (using `UPDATE OF column_name` syntax) are not supported. #135656 +- Statement-level triggers for `TRUNCATE` events are not supported. #135657 - {% include {{ page.version.version }}/known-limitations/drop-trigger-limitations.md %} \ No newline at end of file diff --git a/src/current/_includes/v25.4/known-limitations/trigram-unsupported-syntax.md b/src/current/_includes/v25.4/known-limitations/trigram-unsupported-syntax.md index 494730c7ae8..a981c4915b0 100644 --- a/src/current/_includes/v25.4/known-limitations/trigram-unsupported-syntax.md +++ b/src/current/_includes/v25.4/known-limitations/trigram-unsupported-syntax.md @@ -6,4 +6,4 @@ - Acceleration on [regex string matching]({% link {{ page.version.version }}/scalar-expressions.md %}#string-matching-using-posix-regular-expressions). - `%` comparisons, `show_trgm`, and trigram index creation on [collated strings]({% link {{ page.version.version }}/collate.md %}). -[#41285](https://github.com/cockroachdb/cockroach/issues/41285) \ No newline at end of file +#41285 \ No newline at end of file diff --git a/src/current/_includes/v25.4/known-limitations/udf-limitations.md b/src/current/_includes/v25.4/known-limitations/udf-limitations.md index 0f44ac320f5..c212736717b 100644 --- a/src/current/_includes/v25.4/known-limitations/udf-limitations.md +++ b/src/current/_includes/v25.4/known-limitations/udf-limitations.md @@ -1,9 +1,9 @@ -- User-defined functions are not supported in partial index predicates. [#155488](https://github.com/cockroachdb/cockroach/issues/155488) -- Views cannot reference a UDF that contains mutation statements (`INSERT`, `UPDATE`, `UPSERT`, `DELETE`). [#151686](https://github.com/cockroachdb/cockroach/issues/151686) -- A `RECORD`-returning UDF cannot be created without a `RETURN` statement in the root block, which would restrict the wildcard type to a concrete one. [#122945](https://github.com/cockroachdb/cockroach/issues/122945) +- User-defined functions are not supported in partial index predicates. #155488 +- Views cannot reference a UDF that contains mutation statements (`INSERT`, `UPDATE`, `UPSERT`, `DELETE`). #151686 +- A `RECORD`-returning UDF cannot be created without a `RETURN` statement in the root block, which would restrict the wildcard type to a concrete one. #122945 - User-defined functions are not currently supported in: - - Expressions (column, index, constraint) in tables. [#87699](https://github.com/cockroachdb/cockroach/issues/87699) - - Partial index predicates. [#155488](https://github.com/cockroachdb/cockroach/issues/155488) -- User-defined functions cannot call themselves recursively. [#93049](https://github.com/cockroachdb/cockroach/issues/93049) -- The `setval` function cannot be resolved when used inside UDF bodies. [#110860](https://github.com/cockroachdb/cockroach/issues/110860) -- Casting subqueries to [user-defined types]({% link {{ page.version.version }}/create-type.md %}) in UDFs is not supported. [#108184](https://github.com/cockroachdb/cockroach/issues/108184) \ No newline at end of file + - Expressions (column, index, constraint) in tables. #87699 + - Partial index predicates. #155488 +- User-defined functions cannot call themselves recursively. #93049 +- The `setval` function cannot be resolved when used inside UDF bodies. #110860 +- Casting subqueries to [user-defined types]({% link {{ page.version.version }}/create-type.md %}) in UDFs is not supported. #108184 \ No newline at end of file diff --git a/src/current/_includes/v25.4/known-limitations/vector-limitations.md b/src/current/_includes/v25.4/known-limitations/vector-limitations.md index 97ed7c47599..053087efe7e 100644 --- a/src/current/_includes/v25.4/known-limitations/vector-limitations.md +++ b/src/current/_includes/v25.4/known-limitations/vector-limitations.md @@ -1,5 +1,5 @@ - {% include {{ page.version.version }}/sql/vector-batch-inserts.md %} -- `IMPORT INTO` is not supported on tables with vector indexes. You can import the vectors first and create the index after import is complete. [#145227](https://github.com/cockroachdb/cockroach/issues/145227) -- The distance functions `vector_l1_ops`, `bit_hamming_ops`, and `bit_jaccard_ops` are not implemented. [#147839](https://github.com/cockroachdb/cockroach/issues/147839) -- Index acceleration with filters is only supported if the filters match prefix columns. [#146145](https://github.com/cockroachdb/cockroach/issues/146145) -- Index recommendations are not provided for vector indexes. [#146146](https://github.com/cockroachdb/cockroach/issues/146146) \ No newline at end of file +- `IMPORT INTO` is not supported on tables with vector indexes. You can import the vectors first and create the index after import is complete. #145227 +- The distance functions `vector_l1_ops`, `bit_hamming_ops`, and `bit_jaccard_ops` are not implemented. #147839 +- Index acceleration with filters is only supported if the filters match prefix columns. #146145 +- Index recommendations are not provided for vector indexes. #146146 \ No newline at end of file diff --git a/src/current/_includes/v25.4/known-limitations/vectorized-engine-limitations.md b/src/current/_includes/v25.4/known-limitations/vectorized-engine-limitations.md index daea59ebf88..da227ad4825 100644 --- a/src/current/_includes/v25.4/known-limitations/vectorized-engine-limitations.md +++ b/src/current/_includes/v25.4/known-limitations/vectorized-engine-limitations.md @@ -1,2 +1,2 @@ -- The vectorized engine does not support queries containing a join filtered with an [`ON` expression]({% link {{ page.version.version }}/joins.md %}#supported-join-conditions). [#38018](https://github.com/cockroachdb/cockroach/issues/38018) +- The vectorized engine does not support queries containing a join filtered with an [`ON` expression]({% link {{ page.version.version }}/joins.md %}#supported-join-conditions). #38018 - 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/_includes/v25.4/known-limitations/view-limitations.md b/src/current/_includes/v25.4/known-limitations/view-limitations.md index 22b8a6c29fa..3402185907e 100644 --- a/src/current/_includes/v25.4/known-limitations/view-limitations.md +++ b/src/current/_includes/v25.4/known-limitations/view-limitations.md @@ -1,2 +1,2 @@ -- The `security_invoker` attribute for views is not supported. Views always use the view definer's privileges when checking permissions. [#138918](https://github.com/cockroachdb/cockroach/issues/138918) -- Casting subqueries to [user-defined types]({% link {{ page.version.version }}/create-type.md %}) (including ENUMs) in views is not supported. [#108184](https://github.com/cockroachdb/cockroach/issues/108184) +- The `security_invoker` attribute for views is not supported. Views always use the view definer's privileges when checking permissions. #138918 +- Casting subqueries to [user-defined types]({% link {{ page.version.version }}/create-type.md %}) (including ENUMs) in views is not supported. #108184 diff --git a/src/current/_includes/v26.1/known-limitations/alter-changefeed-cdc-queries.md b/src/current/_includes/v26.1/known-limitations/alter-changefeed-cdc-queries.md index 56dd7eeaacd..4134b3c9f86 100644 --- a/src/current/_includes/v26.1/known-limitations/alter-changefeed-cdc-queries.md +++ b/src/current/_includes/v26.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. [#83033](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. #83033 \ No newline at end of file diff --git a/src/current/_includes/v26.1/known-limitations/alter-changefeed-limitations.md b/src/current/_includes/v26.1/known-limitations/alter-changefeed-limitations.md index a183f2964f4..cb75ad71c55 100644 --- a/src/current/_includes/v26.1/known-limitations/alter-changefeed-limitations.md +++ b/src/current/_includes/v26.1/known-limitations/alter-changefeed-limitations.md @@ -1,4 +1,4 @@ -- It is necessary to [`PAUSE`]({% link {{ page.version.version }}/pause-job.md %}) the changefeed before performing any [`ALTER CHANGEFEED`]({% link {{ page.version.version }}/alter-changefeed.md %}) statement. [#77171](https://github.com/cockroachdb/cockroach/issues/77171) +- It is necessary to [`PAUSE`]({% link {{ page.version.version }}/pause-job.md %}) the changefeed before performing any [`ALTER CHANGEFEED`]({% link {{ page.version.version }}/alter-changefeed.md %}) statement. #77171 - 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: ~~~ sql diff --git a/src/current/_includes/v26.1/known-limitations/alter-sequence-limitations.md b/src/current/_includes/v26.1/known-limitations/alter-sequence-limitations.md index 7343a1d1f1e..ba6bc88aa32 100644 --- a/src/current/_includes/v26.1/known-limitations/alter-sequence-limitations.md +++ b/src/current/_includes/v26.1/known-limitations/alter-sequence-limitations.md @@ -1 +1 @@ -- 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. [#23719](https://github.com/cockroachdb/cockroach/issues/23719) +- 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. #23719 diff --git a/src/current/_includes/v26.1/known-limitations/alter-table-add-column-limitations.md b/src/current/_includes/v26.1/known-limitations/alter-table-add-column-limitations.md index a8e71e5e59c..a8249cfb0f8 100644 --- a/src/current/_includes/v26.1/known-limitations/alter-table-add-column-limitations.md +++ b/src/current/_includes/v26.1/known-limitations/alter-table-add-column-limitations.md @@ -2,7 +2,7 @@ - The column uses a [sequence]({% link {{ page.version.version }}/create-sequence.md %}) as the [`DEFAULT`]({% link {{ page.version.version }}/default-value.md %}) value, for example using `nextval()`. - The column uses `GENERATED ALWAYS AS IDENTITY` or `GENERATED BY DEFAULT AS IDENTITY`, unless the table being altered is empty. - This is because CockroachDB does not support back-filling sequential column data. [#42508](https://github.com/cockroachdb/cockroach/issues/42508) + This is because CockroachDB does not support back-filling sequential column data. #42508 - When executing an [`ALTER TABLE ADD COLUMN`]({% link {{ page.version.version }}/alter-table.md %}#add-column) statement with a [`DEFAULT`]({% link {{ page.version.version }}/default-value.md %}) expression, new values generated: - Use the default [search path]({% link {{ page.version.version }}/sql-name-resolution.md %}#search-path) regardless of the search path configured in the current session via `SET SEARCH_PATH`. - Use the UTC time zone regardless of the time zone configured in the current session via [`SET TIME ZONE`]({% link {{ page.version.version }}/set-vars.md %}). diff --git a/src/current/_includes/v26.1/known-limitations/alter-view-limitations.md b/src/current/_includes/v26.1/known-limitations/alter-view-limitations.md index 642bed6ce08..e44921629ff 100644 --- a/src/current/_includes/v26.1/known-limitations/alter-view-limitations.md +++ b/src/current/_includes/v26.1/known-limitations/alter-view-limitations.md @@ -1,4 +1,4 @@ `ALTER VIEW` 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. [#10083](https://github.com/cockroachdb/cockroach/issues/10083) \ No newline at end of file +- Renaming a view that other views depend on. This feature may be added in the future. #10083 \ No newline at end of file diff --git a/src/current/_includes/v26.1/known-limitations/aost-limitations.md b/src/current/_includes/v26.1/known-limitations/aost-limitations.md index 811c884d08d..c42e62800d3 100644 --- a/src/current/_includes/v26.1/known-limitations/aost-limitations.md +++ b/src/current/_includes/v26.1/known-limitations/aost-limitations.md @@ -1 +1 @@ -CockroachDB does not support placeholders in {% if page.name == "as-of-system-time.md" %}`AS OF SYSTEM TIME`{% else %}[`AS OF SYSTEM TIME`]({% link {{ page.version.version }}/as-of-system-time.md %}){% endif %}. The time value must be a constant value embedded in the SQL string. [#30955](https://github.com/cockroachdb/cockroach/issues/30955) \ No newline at end of file +CockroachDB does not support placeholders in {% if page.name == "as-of-system-time.md" %}`AS OF SYSTEM TIME`{% else %}[`AS OF SYSTEM TIME`]({% link {{ page.version.version }}/as-of-system-time.md %}){% endif %}. The time value must be a constant value embedded in the SQL string. #30955 \ No newline at end of file diff --git a/src/current/_includes/v26.1/known-limitations/cannot-refresh-materialized-views-inside-transactions.md b/src/current/_includes/v26.1/known-limitations/cannot-refresh-materialized-views-inside-transactions.md index b0aaf728177..2f6fe466a95 100644 --- a/src/current/_includes/v26.1/known-limitations/cannot-refresh-materialized-views-inside-transactions.md +++ b/src/current/_includes/v26.1/known-limitations/cannot-refresh-materialized-views-inside-transactions.md @@ -24,4 +24,4 @@ SQLSTATE: 25000 ~~~ - [#66008](https://github.com/cockroachdb/cockroach/issues/66008) + #66008 diff --git a/src/current/_includes/v26.1/known-limitations/cdc-queries-column-families.md b/src/current/_includes/v26.1/known-limitations/cdc-queries-column-families.md index 505a8c9700e..52bdabec236 100644 --- a/src/current/_includes/v26.1/known-limitations/cdc-queries-column-families.md +++ b/src/current/_includes/v26.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. [#127761](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. #127761 \ No newline at end of file diff --git a/src/current/_includes/v26.1/known-limitations/cdc-queries.md b/src/current/_includes/v26.1/known-limitations/cdc-queries.md index 2839eba5eda..552900531b0 100644 --- a/src/current/_includes/v26.1/known-limitations/cdc-queries.md +++ b/src/current/_includes/v26.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). [#98237](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. [#83835](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). #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. #83835 diff --git a/src/current/_includes/v26.1/known-limitations/cdc.md b/src/current/_includes/v26.1/known-limitations/cdc.md index a473e94367c..0a3914da8bd 100644 --- a/src/current/_includes/v26.1/known-limitations/cdc.md +++ b/src/current/_includes/v26.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 %}). [#73435](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 %}). #73435 - {% 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 %}#insecure-tls-skip-verify) parameter when testing to disable certificate verification; however, this still requires HTTPS and certificates. [#73431](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. [#73432](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) 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. [#79452](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 %}#insecure-tls-skip-verify) parameter when testing to disable certificate verification; however, this still requires HTTPS and certificates. #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. #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) 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. #79452 - {% 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/v26.1/known-limitations/changefeed-column-family-message.md b/src/current/_includes/v26.1/known-limitations/changefeed-column-family-message.md index 41744b9b4b4..e77b6cc51e0 100644 --- a/src/current/_includes/v26.1/known-limitations/changefeed-column-family-message.md +++ b/src/current/_includes/v26.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. [#127736](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. #127736 \ No newline at end of file diff --git a/src/current/_includes/v26.1/known-limitations/citext-limitations.md b/src/current/_includes/v26.1/known-limitations/citext-limitations.md index df0fbc0ff91..c7e43cd2949 100644 --- a/src/current/_includes/v26.1/known-limitations/citext-limitations.md +++ b/src/current/_includes/v26.1/known-limitations/citext-limitations.md @@ -1 +1 @@ -- `CITEXT` types are not currently compatible with the `LIKE` and `ILIKE` operators. [#149791](https://github.com/cockroachdb/cockroach/issues/149791) \ No newline at end of file +- `CITEXT` types are not currently compatible with the `LIKE` and `ILIKE` operators. #149791 \ No newline at end of file diff --git a/src/current/_includes/v26.1/known-limitations/collate-limitations.md b/src/current/_includes/v26.1/known-limitations/collate-limitations.md index d3e3e712bb5..7ba94b89053 100644 --- a/src/current/_includes/v26.1/known-limitations/collate-limitations.md +++ b/src/current/_includes/v26.1/known-limitations/collate-limitations.md @@ -1 +1 @@ -- Many string operations are not properly overloaded for [collated strings]({% link {{ page.version.version }}/collate.md %}). For example, the `||` concatenation operator works with regular strings but returns an error with collated strings. [#10679](https://github.com/cockroachdb/cockroach/issues/10679) +- Many string operations are not properly overloaded for [collated strings]({% link {{ page.version.version }}/collate.md %}). For example, the `||` concatenation operator works with regular strings but returns an error with collated strings. #10679 diff --git a/src/current/_includes/v26.1/known-limitations/comment-on-limitations.md b/src/current/_includes/v26.1/known-limitations/comment-on-limitations.md index 568b31ec737..757f74e10f0 100644 --- a/src/current/_includes/v26.1/known-limitations/comment-on-limitations.md +++ b/src/current/_includes/v26.1/known-limitations/comment-on-limitations.md @@ -1 +1 @@ -- 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 an individual table or database. As a workaround, take a cluster backup instead, as the `system.comments` table is included in cluster backups. [#44396](https://github.com/cockroachdb/cockroach/issues/44396) +- 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 an individual table or database. As a workaround, take a cluster backup instead, as the `system.comments` table is included in cluster backups. #44396 diff --git a/src/current/_includes/v26.1/known-limitations/composite-type-limitations.md b/src/current/_includes/v26.1/known-limitations/composite-type-limitations.md index 1ceecb5d889..48ce4591246 100644 --- a/src/current/_includes/v26.1/known-limitations/composite-type-limitations.md +++ b/src/current/_includes/v26.1/known-limitations/composite-type-limitations.md @@ -1,2 +1,2 @@ -- Updating subfields of composite types using dot syntax results in a syntax error. [#102984](https://github.com/cockroachdb/cockroach/issues/102984) -- Tuple elements cannot be accessed without enclosing the [composite variable]({% link {{ page.version.version }}/create-type.md %}) name in parentheses. For example, `(OLD).column` and `(NEW).column` when used in [triggers]({% link {{ page.version.version }}/triggers.md %}). [#114687](https://github.com/cockroachdb/cockroach/issues/114687) +- Updating subfields of composite types using dot syntax results in a syntax error. #102984 +- Tuple elements cannot be accessed without enclosing the [composite variable]({% link {{ page.version.version }}/create-type.md %}) name in parentheses. For example, `(OLD).column` and `(NEW).column` when used in [triggers]({% link {{ page.version.version }}/triggers.md %}). #114687 diff --git a/src/current/_includes/v26.1/known-limitations/copy-syntax.md b/src/current/_includes/v26.1/known-limitations/copy-syntax.md index e64a075dcac..bd2e56e1c25 100644 --- a/src/current/_includes/v26.1/known-limitations/copy-syntax.md +++ b/src/current/_includes/v26.1/known-limitations/copy-syntax.md @@ -1,5 +1,5 @@ CockroachDB does not yet support the following `COPY` syntax: - - `COPY ... WITH FREEZE`. [#85573](https://github.com/cockroachdb/cockroach/issues/85573) - - `COPY ... WITH QUOTE`. [#85574](https://github.com/cockroachdb/cockroach/issues/85574) - - `COPY ... FROM ... WHERE `. [#54580](https://github.com/cockroachdb/cockroach/issues/54580) + - `COPY ... WITH FREEZE`. #85573 + - `COPY ... WITH QUOTE`. #85574 + - `COPY ... FROM ... WHERE `. #54580 diff --git a/src/current/_includes/v26.1/known-limitations/create-statistics-aost-limitation.md b/src/current/_includes/v26.1/known-limitations/create-statistics-aost-limitation.md index 09f86f51c48..d318ce338be 100644 --- a/src/current/_includes/v26.1/known-limitations/create-statistics-aost-limitation.md +++ b/src/current/_includes/v26.1/known-limitations/create-statistics-aost-limitation.md @@ -1 +1 @@ -The `ANALYZE` alias {% if page.name != "create-statistics.md" %}of [`CREATE STATISTICS`]({% link {{ page.version.version }}/create-statistics.md %}){% endif %} does not support specifying an {% if page.name == "as-of-system-time.md" %}`AS OF SYSTEM TIME`{% else %}[`AS OF SYSTEM TIME`]({% link {{ page.version.version }}/as-of-system-time.md %}){% endif %} timestamp. `ANALYZE` statements use `AS OF SYSTEM TIME '-0.001ms'` automatically. For more control over the statistics interval, use the `CREATE STATISTICS` syntax instead. [#96430](https://github.com/cockroachdb/cockroach/issues/96430) \ No newline at end of file +The `ANALYZE` alias {% if page.name != "create-statistics.md" %}of [`CREATE STATISTICS`]({% link {{ page.version.version }}/create-statistics.md %}){% endif %} does not support specifying an {% if page.name == "as-of-system-time.md" %}`AS OF SYSTEM TIME`{% else %}[`AS OF SYSTEM TIME`]({% link {{ page.version.version }}/as-of-system-time.md %}){% endif %} timestamp. `ANALYZE` statements use `AS OF SYSTEM TIME '-0.001ms'` automatically. For more control over the statistics interval, use the `CREATE STATISTICS` syntax instead. #96430 \ No newline at end of file diff --git a/src/current/_includes/v26.1/known-limitations/data-domiciling-limitations.md b/src/current/_includes/v26.1/known-limitations/data-domiciling-limitations.md index b4e1092fdac..7d8faa3ce97 100644 --- a/src/current/_includes/v26.1/known-limitations/data-domiciling-limitations.md +++ b/src/current/_includes/v26.1/known-limitations/data-domiciling-limitations.md @@ -1,4 +1,4 @@ -- When using the `infer_rbr_region_col_using_constraint` option, inserting rows with `DEFAULT` for the region column uses the database's primary region instead of inferring the region from the parent table via foreign-key constraint. [#150783](https://github.com/cockroachdb/cockroach/issues/150783) +- When using the `infer_rbr_region_col_using_constraint` option, inserting rows with `DEFAULT` for the region column uses the database's primary region instead of inferring the region from the parent table via foreign-key constraint. #150783 - When columns are [indexed]({% link {{ page.version.version }}/indexes.md %}), a subset of data from the indexed columns may appear in [meta ranges]({% link {{ page.version.version }}/architecture/distribution-layer.md %}#meta-ranges) or other system tables. CockroachDB synchronizes these system ranges and system tables across nodes. This synchronization does not respect any multi-region settings applied via either the [multi-region SQL statements]({% link {{ page.version.version }}/multiregion-overview.md %}), or the low-level [zone configs]({% link {{ page.version.version }}/configure-replication-zones.md %}) mechanism. - [Zone configs]({% link {{ page.version.version }}/configure-replication-zones.md %}) can be used for data placement but these features were historically built for performance, not for domiciling. The replication system's top priority is to prevent the loss of data and it may override the zone configurations if necessary to ensure data durability. For more information, see [Replication Controls]({% link {{ page.version.version }}/configure-replication-zones.md %}#types-of-constraints). - If your [log files]({% link {{ page.version.version }}/logging-overview.md %}) are kept in the region where they were generated, there is some cross-region leakage (like the system tables described previously), but the majority of user data that makes it into the logs is going to be homed in that region. If that's not strong enough, you can use the [log redaction functionality]({% link {{ page.version.version }}/configure-logs.md %}#redact-logs) to strip all raw data from the logs. You can also limit your log retention entirely. diff --git a/src/current/_includes/v26.1/known-limitations/distsql-heterogeneous-endianness.md b/src/current/_includes/v26.1/known-limitations/distsql-heterogeneous-endianness.md index 9194395dc04..7aa2963023e 100644 --- a/src/current/_includes/v26.1/known-limitations/distsql-heterogeneous-endianness.md +++ b/src/current/_includes/v26.1/known-limitations/distsql-heterogeneous-endianness.md @@ -1 +1 @@ -In clusters that mix big-endian and little-endian architectures, DistSQL may produce incorrect results because hash computations differ between the platforms. As a workaround on heterogeneous clusters, disable DistSQL with `SET CLUSTER SETTING sql.defaults.distsql = off`. [#148773](https://github.com/cockroachdb/cockroach/issues/148773) \ No newline at end of file +In clusters that mix big-endian and little-endian architectures, DistSQL may produce incorrect results because hash computations differ between the platforms. As a workaround on heterogeneous clusters, disable DistSQL with `SET CLUSTER SETTING sql.defaults.distsql = off`. #148773 \ No newline at end of file diff --git a/src/current/_includes/v26.1/known-limitations/drop-column-partial-index.md b/src/current/_includes/v26.1/known-limitations/drop-column-partial-index.md index 9fd1811cc43..fd28f0a96a2 100644 --- a/src/current/_includes/v26.1/known-limitations/drop-column-partial-index.md +++ b/src/current/_includes/v26.1/known-limitations/drop-column-partial-index.md @@ -1 +1 @@ -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 %}). [#97813](https://github.com/cockroachdb/cockroach/issues/97813). \ No newline at end of file +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 %}). #97813. \ No newline at end of file diff --git a/src/current/_includes/v26.1/known-limitations/drop-owned-by-limitations.md b/src/current/_includes/v26.1/known-limitations/drop-owned-by-limitations.md index 95685f6adf1..af99d4b7cfe 100644 --- a/src/current/_includes/v26.1/known-limitations/drop-owned-by-limitations.md +++ b/src/current/_includes/v26.1/known-limitations/drop-owned-by-limitations.md @@ -10,4 +10,4 @@ The phrase "synthetic privileges" in the error message refers to [system-level privileges]({% link {{ page.version.version }}/security-reference/authorization.md %}#supported-privileges). - The workaround is to use [`SHOW SYSTEM GRANTS FOR {role}`](show-system-grants.html) and then use [`REVOKE SYSTEM ...`](revoke.html#revoke-system-level-privileges-on-the-entire-cluster) for each privilege in the result. [#88149](https://github.com/cockroachdb/cockroach/issues/88149) \ No newline at end of file + The workaround is to use [`SHOW SYSTEM GRANTS FOR {role}`](show-system-grants.html) and then use [`REVOKE SYSTEM ...`](revoke.html#revoke-system-level-privileges-on-the-entire-cluster) for each privilege in the result. #88149 \ No newline at end of file diff --git a/src/current/_includes/v26.1/known-limitations/drop-trigger-limitations.md b/src/current/_includes/v26.1/known-limitations/drop-trigger-limitations.md index 90745f7e17a..2a633ccb369 100644 --- a/src/current/_includes/v26.1/known-limitations/drop-trigger-limitations.md +++ b/src/current/_includes/v26.1/known-limitations/drop-trigger-limitations.md @@ -1 +1 @@ -[`DROP TRIGGER`]({% link {{ page.version.version }}/drop-trigger.md %}) with `CASCADE` is not supported. [#128151](https://github.com/cockroachdb/cockroach/issues/128151) \ No newline at end of file +[`DROP TRIGGER`]({% link {{ page.version.version }}/drop-trigger.md %}) with `CASCADE` is not supported. #128151 \ No newline at end of file diff --git a/src/current/_includes/v26.1/known-limitations/enforce-home-region-limitations.md b/src/current/_includes/v26.1/known-limitations/enforce-home-region-limitations.md index 693829358f7..53ce961b902 100644 --- a/src/current/_includes/v26.1/known-limitations/enforce-home-region-limitations.md +++ b/src/current/_includes/v26.1/known-limitations/enforce-home-region-limitations.md @@ -1 +1 @@ -With `enforce_home_region` enabled, CockroachDB currently validates home-region access during plan build. This can falsely reject queries (e.g., lookup joins) that would only read local data at execution time, returning a `Query has no home region` error. [#148375](https://github.com/cockroachdb/cockroach/issues/148375) \ No newline at end of file +With `enforce_home_region` enabled, CockroachDB currently validates home-region access during plan build. This can falsely reject queries (e.g., lookup joins) that would only read local data at execution time, returning a `Query has no home region` error. #148375 \ No newline at end of file diff --git a/src/current/_includes/v26.1/known-limitations/expression-index-limitations.md b/src/current/_includes/v26.1/known-limitations/expression-index-limitations.md index c0e94185948..9487028791c 100644 --- a/src/current/_includes/v26.1/known-limitations/expression-index-limitations.md +++ b/src/current/_includes/v26.1/known-limitations/expression-index-limitations.md @@ -1,6 +1,6 @@ - The expression cannot reference columns outside the index's table. - Functional expression output must be determined by the input arguments. For example, you can't use the [volatile function]({% link {{ page.version.version }}/functions-and-operators.md %}#function-volatility) `now()` to create an index because its output depends on more than just the function arguments. -- 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 %}). [#67900](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 %}). #67900 - CockroachDB does not support expressions as `ON CONFLICT` targets. This means that unique {% if page.name == "expression-indexes.md" %} expression indexes {% else %} [expression indexes]({% link {{ page.version.version }}/expression-indexes.md %}) {% endif %} cannot be selected as arbiters for [`INSERT .. ON CONFLICT`]({% link {{ page.version.version }}/insert.md %}#on-conflict-clause) statements. For example: {% include_cached copy-clipboard.html %} @@ -40,4 +40,4 @@ HINT: try \h INSERT ~~~ - [#67893](https://github.com/cockroachdb/cockroach/issues/67893) + #67893 diff --git a/src/current/_includes/v26.1/known-limitations/forecasted-stats-limitations.md b/src/current/_includes/v26.1/known-limitations/forecasted-stats-limitations.md index c8753124a96..b5d03e8ffc5 100644 --- a/src/current/_includes/v26.1/known-limitations/forecasted-stats-limitations.md +++ b/src/current/_includes/v26.1/known-limitations/forecasted-stats-limitations.md @@ -6,4 +6,4 @@ Although [`SHOW STATISTICS WITH FORECAST`]({% link {{ page.version.version }}/show-statistics.md %}#display-forecasted-statistics) shows the settings taking effect immediately, they do not actually take effect until new statistics are collected (as can be verified with [`EXPLAIN`]({% link {{ page.version.version }}/explain.md %})). - As a workaround, disable and enable forecasting at the [cluster]({% link {{ page.version.version }}/cost-based-optimizer.md %}#enable-and-disable-automatic-statistics-collection-for-clusters) or [table]({% link {{ page.version.version }}/cost-based-optimizer.md %}#enable-and-disable-automatic-statistics-collection-for-tables) level. This will invalidate the statistics cache and cause these settings to take effect immediately. [#123852](https://github.com/cockroachdb/cockroach/issues/123852) \ No newline at end of file + As a workaround, disable and enable forecasting at the [cluster]({% link {{ page.version.version }}/cost-based-optimizer.md %}#enable-and-disable-automatic-statistics-collection-for-clusters) or [table]({% link {{ page.version.version }}/cost-based-optimizer.md %}#enable-and-disable-automatic-statistics-collection-for-tables) level. This will invalidate the statistics cache and cause these settings to take effect immediately. #123852 \ No newline at end of file diff --git a/src/current/_includes/v26.1/known-limitations/full-text-search-unsupported.md b/src/current/_includes/v26.1/known-limitations/full-text-search-unsupported.md index 7b5a83f2cae..2be666994f1 100644 --- a/src/current/_includes/v26.1/known-limitations/full-text-search-unsupported.md +++ b/src/current/_includes/v26.1/known-limitations/full-text-search-unsupported.md @@ -11,4 +11,4 @@ - `!! tsquery` comparisons. - `tsquery @> tsquery` and `tsquery <@ tsquery` comparisons. -[#41288](https://github.com/cockroachdb/cockroach/issues/41288) \ No newline at end of file +#41288 \ No newline at end of file diff --git a/src/current/_includes/v26.1/known-limitations/generic-query-plan-limitations.md b/src/current/_includes/v26.1/known-limitations/generic-query-plan-limitations.md index e28e66d5f32..03d72195334 100644 --- a/src/current/_includes/v26.1/known-limitations/generic-query-plan-limitations.md +++ b/src/current/_includes/v26.1/known-limitations/generic-query-plan-limitations.md @@ -1,2 +1,2 @@ -- Because [generic query plans]({% link {{ page.version.version }}/cost-based-optimizer.md %}#query-plan-cache) use lookup joins instead of the scans and revscans used by custom query plans, generic query plans do not perform as well as custom query plans in some cases. [#128916](https://github.com/cockroachdb/cockroach/issues/128916) -- [Generic query plans]({% link {{ page.version.version }}/cost-based-optimizer.md %}#query-plan-type) are not included in the [plan cache]({% link {{ page.version.version }}/cost-based-optimizer.md %}#query-plan-cache). This means a generic query plan built and optimized for a prepared statement in one session cannot be used by another session. To reuse generic query plans for maximum performance, a prepared statement should be executed multiple times instead of prepared and executed once. [#128911](https://github.com/cockroachdb/cockroach/issues/128911) \ No newline at end of file +- Because [generic query plans]({% link {{ page.version.version }}/cost-based-optimizer.md %}#query-plan-cache) use lookup joins instead of the scans and revscans used by custom query plans, generic query plans do not perform as well as custom query plans in some cases. #128916 +- [Generic query plans]({% link {{ page.version.version }}/cost-based-optimizer.md %}#query-plan-type) are not included in the [plan cache]({% link {{ page.version.version }}/cost-based-optimizer.md %}#query-plan-cache). This means a generic query plan built and optimized for a prepared statement in one session cannot be used by another session. To reuse generic query plans for maximum performance, a prepared statement should be executed multiple times instead of prepared and executed once. #128911 \ No newline at end of file diff --git a/src/current/_includes/v26.1/known-limitations/geospatial-heterogeneous-architectures.md b/src/current/_includes/v26.1/known-limitations/geospatial-heterogeneous-architectures.md index 4bb9633f138..55b706c3d6d 100644 --- a/src/current/_includes/v26.1/known-limitations/geospatial-heterogeneous-architectures.md +++ b/src/current/_includes/v26.1/known-limitations/geospatial-heterogeneous-architectures.md @@ -1 +1 @@ -Clusters that mix `s390x` with other CPU architectures are unsupported for geospatial workloads. Due to differences in how trigonometric functions are computed on `s390x` systems, geospatial queries in heterogeneous clusters with `s390x` are likely to get incorrect results. This can include taking a backup on one architecture and restoring it on another. [#148783](https://github.com/cockroachdb/cockroach/issues/148783) \ No newline at end of file +Clusters that mix `s390x` with other CPU architectures are unsupported for geospatial workloads. Due to differences in how trigonometric functions are computed on `s390x` systems, geospatial queries in heterogeneous clusters with `s390x` are likely to get incorrect results. This can include taking a backup on one architecture and restoring it on another. #148783 \ No newline at end of file diff --git a/src/current/_includes/v26.1/known-limitations/int-limitations.md b/src/current/_includes/v26.1/known-limitations/int-limitations.md index 6333dbf6ed5..defda16db88 100644 --- a/src/current/_includes/v26.1/known-limitations/int-limitations.md +++ b/src/current/_includes/v26.1/known-limitations/int-limitations.md @@ -1 +1 @@ -- 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::INT`, the `default_int_size` variable will not take effect until the next statement. Statement parsing is asynchronous with 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. [#32846](https://github.com/cockroachdb/cockroach/issues/32846) +- 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::INT`, the `default_int_size` variable will not take effect until the next statement. Statement parsing is asynchronous with 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. #32846 diff --git a/src/current/_includes/v26.1/known-limitations/inverted-index-limitations.md b/src/current/_includes/v26.1/known-limitations/inverted-index-limitations.md index a19a10295eb..108d5eaaba3 100644 --- a/src/current/_includes/v26.1/known-limitations/inverted-index-limitations.md +++ b/src/current/_includes/v26.1/known-limitations/inverted-index-limitations.md @@ -1,3 +1,3 @@ -- CockroachDB does not allow inverted indexes with a [`STORING` column]({% link {{ page.version.version }}/create-index.md %}#store-columns). [#88278](https://github.com/cockroachdb/cockroach/issues/88278) -- CockroachDB cannot index-accelerate queries with `@@` predicates when both sides of the operator are variables for `tsvector` and `tsquery` types. [#102731](https://github.com/cockroachdb/cockroach/issues/102731) -- [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 }}/query-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. To work around this limitation, make sure that the prefix columns of the index are either constrained to single constant values, or are part of an equality condition with an input column. [#59649](https://github.com/cockroachdb/cockroach/issues/59649) +- CockroachDB does not allow inverted indexes with a [`STORING` column]({% link {{ page.version.version }}/create-index.md %}#store-columns). #88278 +- CockroachDB cannot index-accelerate queries with `@@` predicates when both sides of the operator are variables for `tsvector` and `tsquery` types. #102731 +- [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 }}/query-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. To work around this limitation, make sure that the prefix columns of the index are either constrained to single constant values, or are part of an equality condition with an input column. #59649 diff --git a/src/current/_includes/v26.1/known-limitations/jsonpath-limitations.md b/src/current/_includes/v26.1/known-limitations/jsonpath-limitations.md index 9b51bfb6e87..a74232bd40b 100644 --- a/src/current/_includes/v26.1/known-limitations/jsonpath-limitations.md +++ b/src/current/_includes/v26.1/known-limitations/jsonpath-limitations.md @@ -1,2 +1,2 @@ -- The following keywords are only accepted in lowercase: `strict`, `lax`, `exists`, `like_regex`, `flag`, `is unknown`, `to`, `last`. [#144255](https://github.com/cockroachdb/cockroach/issues/144255) -- Comparisons involving empty arrays (e.g., `SELECT jsonb_path_query('{"a": [1], "b": []}', '$.a == $.b');`) return `null`, rather than `false` as in PostgreSQL. [#145099](https://github.com/cockroachdb/cockroach/issues/145099) \ No newline at end of file +- The following keywords are only accepted in lowercase: `strict`, `lax`, `exists`, `like_regex`, `flag`, `is unknown`, `to`, `last`. #144255 +- Comparisons involving empty arrays (e.g., `SELECT jsonb_path_query('{"a": [1], "b": []}', '$.a == $.b');`) return `null`, rather than `false` as in PostgreSQL. #145099 \ No newline at end of file diff --git a/src/current/_includes/v26.1/known-limitations/ldr-column-families.md b/src/current/_includes/v26.1/known-limitations/ldr-column-families.md index 2a7c3bbba52..0c9dcd74ae4 100644 --- a/src/current/_includes/v26.1/known-limitations/ldr-column-families.md +++ b/src/current/_includes/v26.1/known-limitations/ldr-column-families.md @@ -1 +1 @@ -Replicating tables cannot contain [column families]({% link {{ page.version.version }}/column-families.md %}). [#133562](https://github.com/cockroachdb/cockroach/issues/133562) \ No newline at end of file +Replicating tables cannot contain [column families]({% link {{ page.version.version }}/column-families.md %}). #133562 \ No newline at end of file diff --git a/src/current/_includes/v26.1/known-limitations/ldr-composite-primary.md b/src/current/_includes/v26.1/known-limitations/ldr-composite-primary.md index ac897af35a7..2a790952946 100644 --- a/src/current/_includes/v26.1/known-limitations/ldr-composite-primary.md +++ b/src/current/_includes/v26.1/known-limitations/ldr-composite-primary.md @@ -1 +1 @@ -The [primary key]({% link {{ page.version.version }}/primary-key.md %}) in replicating tables cannot contain composite types. [#133572](https://github.com/cockroachdb/cockroach/issues/133572) \ No newline at end of file +The [primary key]({% link {{ page.version.version }}/primary-key.md %}) in replicating tables cannot contain composite types. #133572 \ No newline at end of file diff --git a/src/current/_includes/v26.1/known-limitations/ldr-indexes.md b/src/current/_includes/v26.1/known-limitations/ldr-indexes.md index 0bf7f60c2d4..4936f9868bd 100644 --- a/src/current/_includes/v26.1/known-limitations/ldr-indexes.md +++ b/src/current/_includes/v26.1/known-limitations/ldr-indexes.md @@ -1 +1 @@ -Replicating tables cannot contain an [index]({% link {{ page.version.version }}/indexes.md %}) that requires expression evaluation before insertion. [#133560](https://github.com/cockroachdb/cockroach/issues/133560) \ No newline at end of file +Replicating tables cannot contain an [index]({% link {{ page.version.version }}/indexes.md %}) that requires expression evaluation before insertion. #133560 \ No newline at end of file diff --git a/src/current/_includes/v26.1/known-limitations/ldr-sequences.md b/src/current/_includes/v26.1/known-limitations/ldr-sequences.md index 4e39f3630e3..693c0cc685b 100644 --- a/src/current/_includes/v26.1/known-limitations/ldr-sequences.md +++ b/src/current/_includes/v26.1/known-limitations/ldr-sequences.md @@ -1 +1 @@ -Replicating table cannot reference [sequences]({% link {{ page.version.version }}/create-sequence.md %}). [#132303](https://github.com/cockroachdb/cockroach/issues/132303) \ No newline at end of file +Replicating table cannot reference [sequences]({% link {{ page.version.version }}/create-sequence.md %}). #132303 \ No newline at end of file diff --git a/src/current/_includes/v26.1/known-limitations/ldr-triggers.md b/src/current/_includes/v26.1/known-limitations/ldr-triggers.md index 55f8e885b97..a587568b69a 100644 --- a/src/current/_includes/v26.1/known-limitations/ldr-triggers.md +++ b/src/current/_includes/v26.1/known-limitations/ldr-triggers.md @@ -1 +1 @@ -Replicating tables cannot reference triggers. [#132301](https://github.com/cockroachdb/cockroach/issues/132301) \ No newline at end of file +Replicating tables cannot reference triggers. #132301 \ No newline at end of file diff --git a/src/current/_includes/v26.1/known-limitations/ldr-udfs.md b/src/current/_includes/v26.1/known-limitations/ldr-udfs.md index fb642f14751..62eea605b52 100644 --- a/src/current/_includes/v26.1/known-limitations/ldr-udfs.md +++ b/src/current/_includes/v26.1/known-limitations/ldr-udfs.md @@ -1 +1 @@ -Replicating tables cannot reference [user-defined functions]({% link {{ page.version.version }}/user-defined-functions.md %}). [#132302](https://github.com/cockroachdb/cockroach/issues/132302) \ No newline at end of file +Replicating tables cannot reference [user-defined functions]({% link {{ page.version.version }}/user-defined-functions.md %}). #132302 \ No newline at end of file diff --git a/src/current/_includes/v26.1/known-limitations/like-escape-performance.md b/src/current/_includes/v26.1/known-limitations/like-escape-performance.md index 845fdddeeb9..45d8f380e3d 100644 --- a/src/current/_includes/v26.1/known-limitations/like-escape-performance.md +++ b/src/current/_includes/v26.1/known-limitations/like-escape-performance.md @@ -1 +1 @@ -`LIKE` queries with an `ESCAPE` clause cannot use index acceleration, which can result in significantly slower performance compared to standard `LIKE` queries. [#30192](https://github.com/cockroachdb/cockroach/issues/30192) +`LIKE` queries with an `ESCAPE` clause cannot use index acceleration, which can result in significantly slower performance compared to standard `LIKE` queries. #30192 diff --git a/src/current/_includes/v26.1/known-limitations/locality-optimized-search-virtual-computed-columns.md b/src/current/_includes/v26.1/known-limitations/locality-optimized-search-virtual-computed-columns.md index d6acf418aa8..39b3f2cb00e 100644 --- a/src/current/_includes/v26.1/known-limitations/locality-optimized-search-virtual-computed-columns.md +++ b/src/current/_includes/v26.1/known-limitations/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). [#68129](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). #68129 diff --git a/src/current/_includes/v26.1/known-limitations/materialized-views-no-stats.md b/src/current/_includes/v26.1/known-limitations/materialized-views-no-stats.md index 02f2bd787c4..2bfe00d5307 100644 --- a/src/current/_includes/v26.1/known-limitations/materialized-views-no-stats.md +++ b/src/current/_includes/v26.1/known-limitations/materialized-views-no-stats.md @@ -1 +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. [#78181](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. #78181. diff --git a/src/current/_includes/v26.1/known-limitations/max-row-size-limitations.md b/src/current/_includes/v26.1/known-limitations/max-row-size-limitations.md index 9d4d3e12918..705e6fcc9f7 100644 --- a/src/current/_includes/v26.1/known-limitations/max-row-size-limitations.md +++ b/src/current/_includes/v26.1/known-limitations/max-row-size-limitations.md @@ -1 +1 @@ -- 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. [#69540](https://github.com/cockroachdb/cockroach/issues/69540) +- 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. #69540 diff --git a/src/current/_includes/v26.1/known-limitations/multiple-arbiter-indexes.md b/src/current/_includes/v26.1/known-limitations/multiple-arbiter-indexes.md index c9861623314..28b41eca491 100644 --- a/src/current/_includes/v26.1/known-limitations/multiple-arbiter-indexes.md +++ b/src/current/_includes/v26.1/known-limitations/multiple-arbiter-indexes.md @@ -1 +1 @@ -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. [#53170](https://github.com/cockroachdb/cockroach/issues/53170) \ No newline at end of file +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. #53170 \ No newline at end of file diff --git a/src/current/_includes/v26.1/known-limitations/node-shutdown-limitations.md b/src/current/_includes/v26.1/known-limitations/node-shutdown-limitations.md index f35f858bdc1..d7eb712ee06 100644 --- a/src/current/_includes/v26.1/known-limitations/node-shutdown-limitations.md +++ b/src/current/_includes/v26.1/known-limitations/node-shutdown-limitations.md @@ -2,4 +2,4 @@ - The `cockroach node decommission --wait-all` command was run and then interrupted - The `cockroach node decommission --wait=none` command was run - 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. [#94430](https://github.com/cockroachdb/cockroach/issues/94430) + 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. #94430 diff --git a/src/current/_includes/v26.1/known-limitations/null-limitations.md b/src/current/_includes/v26.1/known-limitations/null-limitations.md index ad2efce233a..ba230019779 100644 --- a/src/current/_includes/v26.1/known-limitations/null-limitations.md +++ b/src/current/_includes/v26.1/known-limitations/null-limitations.md @@ -1 +1 @@ -- 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` values 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 does not work when the ordering column is a tuple. [#93558](https://github.com/cockroachdb/cockroach/issues/93558) +- 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` values 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 does not work when the ordering column is a tuple. #93558 diff --git a/src/current/_includes/v26.1/known-limitations/online-schema-changes-limitations.md b/src/current/_includes/v26.1/known-limitations/online-schema-changes-limitations.md index be6d00c26ce..8f58936ac08 100644 --- a/src/current/_includes/v26.1/known-limitations/online-schema-changes-limitations.md +++ b/src/current/_includes/v26.1/known-limitations/online-schema-changes-limitations.md @@ -28,9 +28,9 @@ You cannot start an online schema change on a table if a [primary key change]({% 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. [#46541](https://github.com/cockroachdb/cockroach/issues/46541) +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. #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. [#47712](https://github.com/cockroachdb/cockroach/issues/47712) +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. #47712 To reduce the chance that a column drop will roll back incorrectly: diff --git a/src/current/_includes/v26.1/known-limitations/partition-limitations.md b/src/current/_includes/v26.1/known-limitations/partition-limitations.md index f8ba5e979fa..b0bcd4b1d51 100644 --- a/src/current/_includes/v26.1/known-limitations/partition-limitations.md +++ b/src/current/_includes/v26.1/known-limitations/partition-limitations.md @@ -1,3 +1,3 @@ - When defining a [table partition]({% link {{ page.version.version }}/partitioning.md %}), either during table creation or table alteration, it is not possible to use placeholders in the `PARTITION BY` clause. - CockroachDB does not currently support dropping a single partition from a table. In order to remove partitions, you can [repartition]({% unless page.name == "partitioning.md" %}{% link {{ page.version.version }}/partitioning.md %}{% endunless %}#repartition-a-table) the table. -- 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. [#82774](https://github.com/cockroachdb/cockroach/issues/82774) +- 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. #82774 diff --git a/src/current/_includes/v26.1/known-limitations/plpgsql-limitations.md b/src/current/_includes/v26.1/known-limitations/plpgsql-limitations.md index 60b3104942e..09fd0183a40 100644 --- a/src/current/_includes/v26.1/known-limitations/plpgsql-limitations.md +++ b/src/current/_includes/v26.1/known-limitations/plpgsql-limitations.md @@ -1,23 +1,23 @@ -- It is not possible to use a variable as a target more than once in the same `INTO` clause. For example, `SELECT 1, 2 INTO x, x;`. [#121605](https://github.com/cockroachdb/cockroach/issues/121605) -- PLpgSQL variable declarations cannot inherit the type of a table row or column using `%TYPE` or `%ROWTYPE` syntax. [#114676](https://github.com/cockroachdb/cockroach/issues/114676) -- PL/pgSQL arguments cannot be referenced with ordinals (e.g., `$1`, `$2`). [#114701](https://github.com/cockroachdb/cockroach/issues/114701) +- It is not possible to use a variable as a target more than once in the same `INTO` clause. For example, `SELECT 1, 2 INTO x, x;`. #121605 +- PLpgSQL variable declarations cannot inherit the type of a table row or column using `%TYPE` or `%ROWTYPE` syntax. #114676 +- PL/pgSQL arguments cannot be referenced with ordinals (e.g., `$1`, `$2`). #114701 - The following statements are not supported: - - `FOR` cursor loops, `FOR` query loops, and `FOREACH` loops. [#105246](https://github.com/cockroachdb/cockroach/issues/105246) - - `PERFORM`, `EXECUTE`, `GET DIAGNOSTICS`, and `CASE`. [#117744](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 %}). [#111446](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`). [#106237](https://github.com/cockroachdb/cockroach/issues/106237) -- `RAISE` statements message the client directly, and do not produce log output. [#117750](https://github.com/cockroachdb/cockroach/issues/117750) -- `ASSERT` debugging checks are not supported. [#117744](https://github.com/cockroachdb/cockroach/issues/117744) -- `RECORD` parameters and variables are not supported in [user-defined functions]({% link {{ page.version.version }}/user-defined-functions.md %}). [#105713](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. [#117508](https://github.com/cockroachdb/cockroach/issues/117508) -- Syntax for accessing members of composite types without parentheses is not supported. [#114687](https://github.com/cockroachdb/cockroach/issues/114687) -- `NOT NULL` variable declarations are not supported. [#105243](https://github.com/cockroachdb/cockroach/issues/105243) -- Cursors opened in PL/pgSQL execute their queries on opening, affecting performance and resource usage. [#111479](https://github.com/cockroachdb/cockroach/issues/111479) -- Cursors in PL/pgSQL cannot be declared with arguments. [#117746](https://github.com/cockroachdb/cockroach/issues/117746) -- `OPEN FOR EXECUTE` is not supported for opening cursors. [#117744](https://github.com/cockroachdb/cockroach/issues/117744) -- The `print_strict_params` option is not supported in PL/pgSQL. [#123671](https://github.com/cockroachdb/cockroach/issues/123671) -- The `FOUND` local variable, which checks whether a statement affected any rows, is not supported in PL/pgSQL. [#122306](https://github.com/cockroachdb/cockroach/issues/122306) -- By default, when a PL/pgSQL variable conflicts with a column name, CockroachDB resolves the ambiguity by treating it as a column reference rather than a variable reference. This behavior differs from PostgreSQL, where an ambiguous column error is reported, and it is possible to change the `plpgsql.variable_conflict` setting in order to prefer either columns or variables. [#115680](https://github.com/cockroachdb/cockroach/issues/115680) -- It is not possible to define a `RECORD`-returning PL/pgSQL function that returns different-typed expressions from different `RETURN` statements. CockroachDB requires a consistent return type for `RECORD`-returning functions. [#115384](https://github.com/cockroachdb/cockroach/issues/115384) -- Variables cannot be declared with an associated collation using the `COLLATE` keyword. [#105245](https://github.com/cockroachdb/cockroach/issues/105245) -- Variables cannot be accessed using the `label.var_name` pattern. [#122322](https://github.com/cockroachdb/cockroach/issues/122322) \ No newline at end of file + - `FOR` cursor loops, `FOR` query loops, and `FOREACH` loops. #105246 + - `PERFORM`, `EXECUTE`, `GET DIAGNOSTICS`, and `CASE`. #117744 +- PL/pgSQL exception blocks cannot catch [transaction retry errors]({% link {{ page.version.version }}/transaction-retry-error-reference.md %}). #111446 +- `RAISE` statements cannot be annotated with names of schema objects related to the error (i.e., using `COLUMN`, `CONSTRAINT`, `DATATYPE`, `TABLE`, or `SCHEMA`). #106237 +- `RAISE` statements message the client directly, and do not produce log output. #117750 +- `ASSERT` debugging checks are not supported. #117744 +- `RECORD` parameters and variables are not supported in [user-defined functions]({% link {{ page.version.version }}/user-defined-functions.md %}). #105713 +- Variable shadowing (e.g., declaring a variable with the same name in an inner block) is not supported in PL/pgSQL. #117508 +- Syntax for accessing members of composite types without parentheses is not supported. #114687 +- `NOT NULL` variable declarations are not supported. #105243 +- Cursors opened in PL/pgSQL execute their queries on opening, affecting performance and resource usage. #111479 +- Cursors in PL/pgSQL cannot be declared with arguments. #117746 +- `OPEN FOR EXECUTE` is not supported for opening cursors. #117744 +- The `print_strict_params` option is not supported in PL/pgSQL. #123671 +- The `FOUND` local variable, which checks whether a statement affected any rows, is not supported in PL/pgSQL. #122306 +- By default, when a PL/pgSQL variable conflicts with a column name, CockroachDB resolves the ambiguity by treating it as a column reference rather than a variable reference. This behavior differs from PostgreSQL, where an ambiguous column error is reported, and it is possible to change the `plpgsql.variable_conflict` setting in order to prefer either columns or variables. #115680 +- It is not possible to define a `RECORD`-returning PL/pgSQL function that returns different-typed expressions from different `RETURN` statements. CockroachDB requires a consistent return type for `RECORD`-returning functions. #115384 +- Variables cannot be declared with an associated collation using the `COLLATE` keyword. #105245 +- Variables cannot be accessed using the `label.var_name` pattern. #122322 \ No newline at end of file diff --git a/src/current/_includes/v26.1/known-limitations/read-committed-limitations.md b/src/current/_includes/v26.1/known-limitations/read-committed-limitations.md index b4722a0c369..1beeca3c6ce 100644 --- a/src/current/_includes/v26.1/known-limitations/read-committed-limitations.md +++ b/src/current/_includes/v26.1/known-limitations/read-committed-limitations.md @@ -1,7 +1,7 @@ -- Mixed-isolation-level workloads must enable foreign-key check locking for `SERIALIZABLE` transactions to avoid race conditions. [#151663](https://github.com/cockroachdb/cockroach/issues/151663#issuecomment-3222083180) -- 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 when the [`autocommit_before_ddl` session setting]({% link {{page.version.version}}/set-vars.md %}#autocommit-before-ddl) is set to `off`, 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`. [#114778](https://github.com/cockroachdb/cockroach/issues/114778) -- Multi-column-family checks during updates are not supported under `READ COMMITTED` isolation. [#112488](https://github.com/cockroachdb/cockroach/issues/112488) +- Mixed-isolation-level workloads must enable foreign-key check locking for `SERIALIZABLE` transactions to avoid race conditions. #151663 +- 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 when the [`autocommit_before_ddl` session setting]({% link {{page.version.version}}/set-vars.md %}#autocommit-before-ddl) is set to `off`, 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`. #114778 +- Multi-column-family checks during updates are not supported under `READ COMMITTED` isolation. #112488 - Because locks acquired by [foreign key]({% link {{ page.version.version }}/foreign-key.md %}) checks, [`SELECT FOR UPDATE`]({% link {{ page.version.version }}/select-for-update.md %}), and [`SELECT FOR SHARE`]({% link {{ page.version.version }}/select-for-update.md %}) are fully replicated under `READ COMMITTED` isolation, some queries experience a delay for Raft replication. - [Foreign key]({% link {{ page.version.version }}/foreign-key.md %}) checks are not performed in parallel under `READ COMMITTED` isolation. - [`SELECT FOR UPDATE` and `SELECT FOR SHARE`]({% link {{ page.version.version }}/select-for-update.md %}) statements are less optimized under `READ COMMITTED` isolation than under `SERIALIZABLE` isolation. Under `READ COMMITTED` isolation, `SELECT FOR UPDATE` and `SELECT FOR SHARE` usually perform an extra lookup join for every locked table when compared to the same queries under `SERIALIZABLE`. In addition, some optimization steps (such as de-correlation of correlated [subqueries]({% link {{ page.version.version }}/subqueries.md %})) are not currently performed on these queries. -- Regardless of isolation level, [`SELECT FOR UPDATE` and `SELECT FOR SHARE`]({% link {{ page.version.version }}/select-for-update.md %}) statements in CockroachDB do not prevent insertion of new rows matching the search condition (i.e., [phantom reads]({% link {{ page.version.version }}/read-committed.md %}#non-repeatable-reads-and-phantom-reads)). This matches PostgreSQL behavior at all isolation levels. [#120673](https://github.com/cockroachdb/cockroach/issues/120673) \ No newline at end of file +- Regardless of isolation level, [`SELECT FOR UPDATE` and `SELECT FOR SHARE`]({% link {{ page.version.version }}/select-for-update.md %}) statements in CockroachDB do not prevent insertion of new rows matching the search condition (i.e., [phantom reads]({% link {{ page.version.version }}/read-committed.md %}#non-repeatable-reads-and-phantom-reads)). This matches PostgreSQL behavior at all isolation levels. #120673 \ No newline at end of file diff --git a/src/current/_includes/v26.1/known-limitations/restore-multiregion-match.md b/src/current/_includes/v26.1/known-limitations/restore-multiregion-match.md index ab2f1029ecd..634d695246e 100644 --- a/src/current/_includes/v26.1/known-limitations/restore-multiregion-match.md +++ b/src/current/_includes/v26.1/known-limitations/restore-multiregion-match.md @@ -47,4 +47,4 @@ ALTER DATABASE destination_database SET PRIMARY REGION "us-east1"; ~~~ - [#71071](https://github.com/cockroachdb/cockroach/issues/71071) \ No newline at end of file + #71071 \ No newline at end of file diff --git a/src/current/_includes/v26.1/known-limitations/restore-tables-non-multi-reg.md b/src/current/_includes/v26.1/known-limitations/restore-tables-non-multi-reg.md index 5390f2d09ee..e05bc340141 100644 --- a/src/current/_includes/v26.1/known-limitations/restore-tables-non-multi-reg.md +++ b/src/current/_includes/v26.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. [#71502](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. #71502 diff --git a/src/current/_includes/v26.1/known-limitations/restore-udf.md b/src/current/_includes/v26.1/known-limitations/restore-udf.md index a4a4bc080fe..e4180219a25 100644 --- a/src/current/_includes/v26.1/known-limitations/restore-udf.md +++ b/src/current/_includes/v26.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. [#118195](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. #118195 \ No newline at end of file diff --git a/src/current/_includes/v26.1/known-limitations/rls-update-set-where-returning.md b/src/current/_includes/v26.1/known-limitations/rls-update-set-where-returning.md index 450de11683e..e6f2b296ba4 100644 --- a/src/current/_includes/v26.1/known-limitations/rls-update-set-where-returning.md +++ b/src/current/_includes/v26.1/known-limitations/rls-update-set-where-returning.md @@ -1 +1 @@ -`UPDATE` statements whose `SET`, `WHERE`, or `RETURNING` clauses do not read existing column values can be mistakenly filtered by row-level security `SELECT` policies, causing the statement to affect no rows. [#145894](https://github.com/cockroachdb/cockroach/issues/145894) \ No newline at end of file +`UPDATE` statements whose `SET`, `WHERE`, or `RETURNING` clauses do not read existing column values can be mistakenly filtered by row-level security `SELECT` policies, causing the statement to affect no rows. #145894 \ No newline at end of file diff --git a/src/current/_includes/v26.1/known-limitations/rls-values-on-conflict-do-nothing.md b/src/current/_includes/v26.1/known-limitations/rls-values-on-conflict-do-nothing.md index c85dea7987a..d274e573dc9 100644 --- a/src/current/_includes/v26.1/known-limitations/rls-values-on-conflict-do-nothing.md +++ b/src/current/_includes/v26.1/known-limitations/rls-values-on-conflict-do-nothing.md @@ -1 +1 @@ -`ON CONFLICT ... DO NOTHING`: CockroachDB does not run the constraint and row-level policy checks on the `VALUES` clause if the candidate row has a conflict. [#35370](https://github.com/cockroachdb/cockroach/issues/35370). +`ON CONFLICT ... DO NOTHING`: CockroachDB does not run the constraint and row-level policy checks on the `VALUES` clause if the candidate row has a conflict. #35370. diff --git a/src/current/_includes/v26.1/known-limitations/routine-limitations.md b/src/current/_includes/v26.1/known-limitations/routine-limitations.md index 773322e2848..cc19d69e3d6 100644 --- a/src/current/_includes/v26.1/known-limitations/routine-limitations.md +++ b/src/current/_includes/v26.1/known-limitations/routine-limitations.md @@ -1,10 +1,10 @@ -- Routines cannot be invoked with named arguments, e.g., `SELECT foo(a => 1, b => 2);` or `SELECT foo(b := 1, a := 2);`. [#122264](https://github.com/cockroachdb/cockroach/issues/122264) -- Routines cannot be created if they reference temporary tables. [#121375](https://github.com/cockroachdb/cockroach/issues/121375) -- Routines cannot be created with unnamed `INOUT` parameters. For example, `CREATE PROCEDURE p(INOUT INT) AS $$ BEGIN NULL; END; $$ LANGUAGE PLpgSQL;`. [#121251](https://github.com/cockroachdb/cockroach/issues/121251) -- Routines cannot be created if they return fewer columns than declared. For example, `CREATE FUNCTION f(OUT sum INT, INOUT a INT, INOUT b INT) LANGUAGE SQL AS $$ SELECT (a + b, b); $$;`. [#121247](https://github.com/cockroachdb/cockroach/issues/121247) -- Routines cannot be created with an `OUT` parameter of type `RECORD`. [#123448](https://github.com/cockroachdb/cockroach/issues/123448) -- DDL statements (e.g., `CREATE TABLE`, `CREATE INDEX`) are not allowed within UDFs or stored procedures. [#110080](https://github.com/cockroachdb/cockroach/issues/110080) -- Polymorphic types cannot be cast to other types (e.g., `TEXT`) within routine parameters. [#123536](https://github.com/cockroachdb/cockroach/issues/123536) -- Routine parameters and return types cannot be declared using the `ANYENUM` polymorphic type, which is able to match any [`ENUM`]({% link {{ page.version.version }}/enum.md %}) type. [#123048](https://github.com/cockroachdb/cockroach/issues/123048) -- [Statement diagnostics]({% link {{ page.version.version }}/explain-analyze.md %}#debug-option) cannot be collected for statements executed inside UDFs or stored procedures. You can request statement diagnostics for the top-level invocation of the function or procedure, and the resulting trace includes spans for each statement executed. However, there is no way to target statements executed inside the function or procedure with a statement diagnostics request. [#159526](https://github.com/cockroachdb/cockroach/issues/159526) -- Statements within routines do not currently respect hint injections. The workaround is to modify the inline hints directly in the body by replacing the routine. [#162627](https://github.com/cockroachdb/cockroach/issues/162627) \ No newline at end of file +- Routines cannot be invoked with named arguments, e.g., `SELECT foo(a => 1, b => 2);` or `SELECT foo(b := 1, a := 2);`. #122264 +- Routines cannot be created if they reference temporary tables. #121375 +- Routines cannot be created with unnamed `INOUT` parameters. For example, `CREATE PROCEDURE p(INOUT INT) AS $$ BEGIN NULL; END; $$ LANGUAGE PLpgSQL;`. #121251 +- Routines cannot be created if they return fewer columns than declared. For example, `CREATE FUNCTION f(OUT sum INT, INOUT a INT, INOUT b INT) LANGUAGE SQL AS $$ SELECT (a + b, b); $$;`. #121247 +- Routines cannot be created with an `OUT` parameter of type `RECORD`. #123448 +- DDL statements (e.g., `CREATE TABLE`, `CREATE INDEX`) are not allowed within UDFs or stored procedures. #110080 +- Polymorphic types cannot be cast to other types (e.g., `TEXT`) within routine parameters. #123536 +- Routine parameters and return types cannot be declared using the `ANYENUM` polymorphic type, which is able to match any [`ENUM`]({% link {{ page.version.version }}/enum.md %}) type. #123048 +- [Statement diagnostics]({% link {{ page.version.version }}/explain-analyze.md %}#debug-option) cannot be collected for statements executed inside UDFs or stored procedures. You can request statement diagnostics for the top-level invocation of the function or procedure, and the resulting trace includes spans for each statement executed. However, there is no way to target statements executed inside the function or procedure with a statement diagnostics request. #159526 +- Statements within routines do not currently respect hint injections. The workaround is to modify the inline hints directly in the body by replacing the routine. #162627 \ No newline at end of file diff --git a/src/current/_includes/v26.1/known-limitations/row-level-ttl-limitations.md b/src/current/_includes/v26.1/known-limitations/row-level-ttl-limitations.md index c386ba576d7..4460901566d 100644 --- a/src/current/_includes/v26.1/known-limitations/row-level-ttl-limitations.md +++ b/src/current/_includes/v26.1/known-limitations/row-level-ttl-limitations.md @@ -1,5 +1,5 @@ - Any queries you run against tables with Row-Level TTL enabled (or against tables that have [foreign keys]({% link {{page.version.version}}/foreign-key.md %}) that reference TTL-enabled tables) do not filter out expired rows from the result set (this includes [`UPDATE`s]({% link {{ page.version.version }}/update.md %}) and [`DELETE`s]({% link {{ page.version.version }}/delete.md %})). This feature may be added in a future release. For now, follow the instructions in [Filter out expired rows from a selection query]({% link {{ page.version.version }}/row-level-ttl.md %}#filter-out-expired-rows-from-a-selection-query). -- Tables with Row-Level TTL can be referenced by [foreign keys]({% link {{page.version.version}}/foreign-key.md %}). TTL deletes are issued as regular [`DELETE`]({% link {{ page.version.version }}/delete.md %}) statements, so inbound foreign keys apply. If an inbound foreign key uses `ON DELETE RESTRICT` and referencing rows exist, the TTL job fails with a foreign key violation. [#101372](https://github.com/cockroachdb/cockroach/issues/101372) +- Tables with Row-Level TTL can be referenced by [foreign keys]({% link {{page.version.version}}/foreign-key.md %}). TTL deletes are issued as regular [`DELETE`]({% link {{ page.version.version }}/delete.md %}) statements, so inbound foreign keys apply. If an inbound foreign key uses `ON DELETE RESTRICT` and referencing rows exist, the TTL job fails with a foreign key violation. #101372 - Enabling Row-Level TTL on a table with multiple [secondary indexes]({% link {{ page.version.version }}/indexes.md %}) can have negative performance impacts on a cluster, including increased [latency]({% link {{ page.version.version }}/common-issues-to-monitor.md %}#service-latency) and [contention]({% link {{ page.version.version }}/performance-best-practices-overview.md %}#transaction-contention). This is particularly true for large tables with terabytes of data and billions of rows that are split up into multiple ranges across separate nodes. - Increased latency may occur because secondary indexes aren't necessarily stored on the same underlying [ranges]({% link {{ page.version.version }}/architecture/overview.md %}#architecture-range) as a table's [primary indexes]({% link {{ page.version.version }}/indexes.md %}). Further, the secondary indexes' ranges may have [leaseholders]({% link {{ page.version.version }}/architecture/overview.md %}#architecture-leaseholder) located on different nodes than the primary index. - Increased contention may occur because [intents]({% link {{ page.version.version }}/architecture/transaction-layer.md %}#write-intents) must be written as part of performing the deletions. diff --git a/src/current/_includes/v26.1/known-limitations/savepoint-limitations.md b/src/current/_includes/v26.1/known-limitations/savepoint-limitations.md index 58451f4ae28..1bc0bdd8d44 100644 --- a/src/current/_includes/v26.1/known-limitations/savepoint-limitations.md +++ b/src/current/_includes/v26.1/known-limitations/savepoint-limitations.md @@ -1 +1 @@ -- Transactions with [priority `HIGH`]({% link {{ page.version.version }}/transactions.md %}#transaction-priorities) that contain DDL and `ROLLBACK TO SAVEPOINT` are not supported, as they could result in a deadlock. [#46414](https://github.com/cockroachdb/cockroach/issues/46414) +- Transactions with [priority `HIGH`]({% link {{ page.version.version }}/transactions.md %}#transaction-priorities) that contain DDL and `ROLLBACK TO SAVEPOINT` are not supported, as they could result in a deadlock. #46414 diff --git a/src/current/_includes/v26.1/known-limitations/select-for-update-limitations.md b/src/current/_includes/v26.1/known-limitations/select-for-update-limitations.md index 9c4ab3fd4a1..89152e6fad0 100644 --- a/src/current/_includes/v26.1/known-limitations/select-for-update-limitations.md +++ b/src/current/_includes/v26.1/known-limitations/select-for-update-limitations.md @@ -1,8 +1,8 @@ -- `SKIP LOCKED` cannot be used for tables with multiple [column families]({% link {{ page.version.version }}/column-families.md %}). [#160961](https://github.com/cockroachdb/cockroach/issues/160961) +- `SKIP LOCKED` cannot be used for tables with multiple [column families]({% link {{ page.version.version }}/column-families.md %}). #160961 - By default under `SERIALIZABLE` isolation, locks acquired using `SELECT ... FOR UPDATE` and `SELECT ... FOR SHARE` are implemented as fast, in-memory [unreplicated locks](architecture/transaction-layer.html#unreplicated-locks). If a [lease transfer]({% link {{ page.version.version }}/architecture/replication-layer.md %}#leases) or [range split/merge]({% link {{ page.version.version }}/architecture/distribution-layer.md %}#range-merges) occurs on a range held by an unreplicated lock, the lock is dropped. The following behaviors can occur: - 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`]({% link {{ page.version.version }}/transaction-retry-error-reference.md %}) and the [`restart transaction` error message]({% link {{ page.version.version }}/common-errors.md %}#restart-transaction). When running under `SERIALIZABLE` isolation, `SELECT ... FOR UPDATE` and `SELECT ... FOR SHARE` locks should be thought of as best-effort, and should not be relied upon for correctness. Note that [serialization]({% link {{ page.version.version }}/demo-serializable.md %}) is preserved despite this limitation. This limitation is fixed when the `enable_durable_locking_for_serializable` [session setting]({% link {{ page.version.version }}/session-variables.md %}#enable-durable-locking-for-serializable) is set to `true`. This limitation does **not** apply to [`READ COMMITTED`]({% link {{ page.version.version }}/read-committed.md %}) transactions. - 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`. [#114737](https://github.com/cockroachdb/cockroachdb/issues/114737) -- `SELECT FOR UPDATE` does not lock completely-`NULL` column families in multi-column-family tables. [#116836](https://github.com/cockroachdb/cockroach/issues/116836) \ No newline at end of file +- `SELECT FOR UPDATE` does not lock completely-`NULL` column families in multi-column-family tables. #116836 \ No newline at end of file diff --git a/src/current/_includes/v26.1/known-limitations/set-transaction-no-rollback.md b/src/current/_includes/v26.1/known-limitations/set-transaction-no-rollback.md index 4f4e5af2aab..966dcd82d48 100644 --- a/src/current/_includes/v26.1/known-limitations/set-transaction-no-rollback.md +++ b/src/current/_includes/v26.1/known-limitations/set-transaction-no-rollback.md @@ -30,4 +30,4 @@ UTC ~~~ - [#69396](https://github.com/cockroachdb/cockroach/issues/69396), [#148766](https://github.com/cockroachdb/cockroach/issues/148766) \ No newline at end of file + #69396, #148766 \ No newline at end of file diff --git a/src/current/_includes/v26.1/known-limitations/show-backup-symlink.md b/src/current/_includes/v26.1/known-limitations/show-backup-symlink.md index 38ba86fb28f..1c7a5612242 100644 --- a/src/current/_includes/v26.1/known-limitations/show-backup-symlink.md +++ b/src/current/_includes/v26.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. [#70260](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. #70260 \ No newline at end of file diff --git a/src/current/_includes/v26.1/known-limitations/spatial-limitations.md b/src/current/_includes/v26.1/known-limitations/spatial-limitations.md index 5bc25717912..2fe9152f2cd 100644 --- a/src/current/_includes/v26.1/known-limitations/spatial-limitations.md +++ b/src/current/_includes/v26.1/known-limitations/spatial-limitations.md @@ -1,10 +1,10 @@ -- Not all [PostGIS spatial functions](https://postgis.net/docs/reference.html) are supported. [#49203](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. [#49402](https://github.com/cockroachdb/cockroach/issues/49402) -- The `AddGeometryColumn` spatial function only allows the `true` value for its `use_typmod` parameter. [#49448](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`. [#56124](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). [#55903](https://github.com/cockroachdb/cockroach/issues/55903) -- CockroachDB does not yet support [k-nearest neighbors](https://wikipedia.org/wiki/K-nearest_neighbors_algorithm). [#55227](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)`). [#56492](https://github.com/cockroachdb/cockroach/issues/56492) +- Not all [PostGIS spatial functions](https://postgis.net/docs/reference.html) are supported. #49203 +- The `AddGeometryColumn` [spatial function]({% link {{ page.version.version }}/functions-and-operators.md %}#spatial-functions) only allows constant arguments. #49402 +- The `AddGeometryColumn` spatial function only allows the `true` value for its `use_typmod` parameter. #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`. #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). #55903 +- CockroachDB does not yet support [k-nearest neighbors](https://wikipedia.org/wiki/K-nearest_neighbors_algorithm). #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)`). #56492 - {% include {{ page.version.version }}/known-limitations/srid-4326-limitations.md %} - {% include {{ page.version.version }}/known-limitations/geospatial-heterogeneous-architectures.md %} -- [Spatial features]({% link {{ page.version.version }}/spatial-data-overview.md %}) are disabled on ARM Macs 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. [#93161](https://github.com/cockroachdb/cockroach/issues/93161) \ No newline at end of file +- [Spatial features]({% link {{ page.version.version }}/spatial-data-overview.md %}) are disabled on ARM Macs 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. #93161 \ No newline at end of file diff --git a/src/current/_includes/v26.1/known-limitations/sql-cursors.md b/src/current/_includes/v26.1/known-limitations/sql-cursors.md index a3e42b9a3ec..d0ce2b3c3af 100644 --- a/src/current/_includes/v26.1/known-limitations/sql-cursors.md +++ b/src/current/_includes/v26.1/known-limitations/sql-cursors.md @@ -1,8 +1,8 @@ CockroachDB implements SQL [cursor]({% link {{ page.version.version }}/cursors.md %}) support with the following limitations: -- `DECLARE` only supports forward cursors. Reverse cursors created with `DECLARE SCROLL` are not supported. [#77102](https://github.com/cockroachdb/cockroach/issues/77102) -- `FETCH` supports forward, relative, and absolute variants, but only for forward cursors. [#77102](https://github.com/cockroachdb/cockroach/issues/77102) -- `BINARY CURSOR`, which returns data in the Postgres binary format, is not supported. [#77099](https://github.com/cockroachdb/cockroach/issues/77099) -- Scrollable cursor (also known as reverse `FETCH`) is not supported. [#77102](https://github.com/cockroachdb/cockroach/issues/77102) -- [`SELECT ... FOR UPDATE`]({% link {{ page.version.version }}/select-for-update.md %}) with a cursor is not supported. [#77103](https://github.com/cockroachdb/cockroach/issues/77103) -- Respect for [`SAVEPOINT`s]({% link {{ page.version.version }}/savepoint.md %}) is not supported. Cursor definitions do not disappear properly if rolled back to a `SAVEPOINT` from before they were created. [#77104](https://github.com/cockroachdb/cockroach/issues/77104) +- `DECLARE` only supports forward cursors. Reverse cursors created with `DECLARE SCROLL` are not supported. #77102 +- `FETCH` supports forward, relative, and absolute variants, but only for forward cursors. #77102 +- `BINARY CURSOR`, which returns data in the Postgres binary format, is not supported. #77099 +- Scrollable cursor (also known as reverse `FETCH`) is not supported. #77102 +- [`SELECT ... FOR UPDATE`]({% link {{ page.version.version }}/select-for-update.md %}) with a cursor is not supported. #77103 +- Respect for [`SAVEPOINT`s]({% link {{ page.version.version }}/savepoint.md %}) is not supported. Cursor definitions do not disappear properly if rolled back to a `SAVEPOINT` from before they were created. #77104 diff --git a/src/current/_includes/v26.1/known-limitations/sql-guardrails-limitations.md b/src/current/_includes/v26.1/known-limitations/sql-guardrails-limitations.md index 6d8d60ac614..02ebf98bcd7 100644 --- a/src/current/_includes/v26.1/known-limitations/sql-guardrails-limitations.md +++ b/src/current/_includes/v26.1/known-limitations/sql-guardrails-limitations.md @@ -1,2 +1,2 @@ -- 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. [#70473](https://github.com/cockroachdb/cockroach/issues/70473) -- 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. [#69540](https://github.com/cockroachdb/cockroach/issues/69540) +- 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. #70473 +- 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. #69540 diff --git a/src/current/_includes/v26.1/known-limitations/srid-4326-limitations.md b/src/current/_includes/v26.1/known-limitations/srid-4326-limitations.md index b556a9fbecd..294a1a53bd4 100644 --- a/src/current/_includes/v26.1/known-limitations/srid-4326-limitations.md +++ b/src/current/_includes/v26.1/known-limitations/srid-4326-limitations.md @@ -1 +1 @@ -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. [#55903](https://github.com/cockroachdb/cockroach/issues/55903) \ No newline at end of file +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. #55903 \ No newline at end of file diff --git a/src/current/_includes/v26.1/known-limitations/stats-refresh-upgrade.md b/src/current/_includes/v26.1/known-limitations/stats-refresh-upgrade.md index 3d5a8d26325..3325dfaa53b 100644 --- a/src/current/_includes/v26.1/known-limitations/stats-refresh-upgrade.md +++ b/src/current/_includes/v26.1/known-limitations/stats-refresh-upgrade.md @@ -1 +1 @@ -- The [automatic statistics refresher]({% link {{ page.version.version }}/cost-based-optimizer.md %}#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]({% link {{ page.version.version }}/upgrade-cockroach-version.md %}). This could cause a problem, for example, if the upgrade moves from a version without [histograms]({% link {{ page.version.version }}/cost-based-optimizer.md %}#control-histogram-collection) to a version with histograms. To refresh statistics manually, use [`CREATE STATISTICS`](create-statistics.html). [#54816](https://github.com/cockroachdb/cockroach/issues/54816) +- The [automatic statistics refresher]({% link {{ page.version.version }}/cost-based-optimizer.md %}#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]({% link {{ page.version.version }}/upgrade-cockroach-version.md %}). This could cause a problem, for example, if the upgrade moves from a version without [histograms]({% link {{ page.version.version }}/cost-based-optimizer.md %}#control-histogram-collection) to a version with histograms. To refresh statistics manually, use [`CREATE STATISTICS`](create-statistics.html). #54816 diff --git a/src/current/_includes/v26.1/known-limitations/stored-proc-limitations.md b/src/current/_includes/v26.1/known-limitations/stored-proc-limitations.md index b2aae6069c2..74f4d86dfb3 100644 --- a/src/current/_includes/v26.1/known-limitations/stored-proc-limitations.md +++ b/src/current/_includes/v26.1/known-limitations/stored-proc-limitations.md @@ -1,2 +1,2 @@ -- Pausable portals are not supported with `CALL` statements for stored procedures. [#151529](https://github.com/cockroachdb/cockroach/issues/151529) -- `COMMIT` and `ROLLBACK` statements are not supported within nested procedures. [#122266](https://github.com/cockroachdb/cockroach/issues/122266) \ No newline at end of file +- Pausable portals are not supported with `CALL` statements for stored procedures. #151529 +- `COMMIT` and `ROLLBACK` statements are not supported within nested procedures. #122266 \ No newline at end of file diff --git a/src/current/_includes/v26.1/known-limitations/subquery-mutations-limitations.md b/src/current/_includes/v26.1/known-limitations/subquery-mutations-limitations.md index 771eba80bc6..d4deeaee17c 100644 --- a/src/current/_includes/v26.1/known-limitations/subquery-mutations-limitations.md +++ b/src/current/_includes/v26.1/known-limitations/subquery-mutations-limitations.md @@ -2,4 +2,4 @@ - Set the `sql.multiple_modifications_of_table.enabled` [cluster setting]({% link {{ page.version.version }}/cluster-settings.md %}) to `true`. - Use the `enable_multiple_modifications_of_table` [session variable]({% link {{ page.version.version }}/set-vars.md %}). - 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. [#70731](https://github.com/cockroachdb/cockroach/issues/70731) + 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. #70731 diff --git a/src/current/_includes/v26.1/known-limitations/transaction-row-count-limitations.md b/src/current/_includes/v26.1/known-limitations/transaction-row-count-limitations.md index ded62d6d9be..a54f15d61a7 100644 --- a/src/current/_includes/v26.1/known-limitations/transaction-row-count-limitations.md +++ b/src/current/_includes/v26.1/known-limitations/transaction-row-count-limitations.md @@ -1 +1 @@ -- 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. [#70473](https://github.com/cockroachdb/cockroach/issues/70473) +- 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. #70473 diff --git a/src/current/_includes/v26.1/known-limitations/trigger-limitations.md b/src/current/_includes/v26.1/known-limitations/trigger-limitations.md index 66fcd0018ed..aaf49607557 100644 --- a/src/current/_includes/v26.1/known-limitations/trigger-limitations.md +++ b/src/current/_includes/v26.1/known-limitations/trigger-limitations.md @@ -1,10 +1,10 @@ -- `CREATE OR REPLACE TRIGGER` is not supported. [#128422](https://github.com/cockroachdb/cockroach/issues/128422) -- Statement-level triggers are not supported. [#126362](https://github.com/cockroachdb/cockroach/issues/126362) -- `INSTEAD OF` triggers are not supported. [#126363](https://github.com/cockroachdb/cockroach/issues/126363) -- A [trigger function]({% link {{ page.version.version }}/triggers.md %}#trigger-function) that is used in an existing trigger cannot be replaced with `CREATE OR REPLACE` syntax. To use `CREATE OR REPLACE`, first [drop any triggers]({% link {{ page.version.version }}/drop-trigger.md %}) that are using the function. [#134555](https://github.com/cockroachdb/cockroach/issues/134555) -- Hidden columns are not visible to triggers. [#133331](https://github.com/cockroachdb/cockroach/issues/133331) -- The `REFERENCING` clause for `CREATE TRIGGER` is not supported. [#135655](https://github.com/cockroachdb/cockroach/issues/135655) -- CockroachDB uses one-based indexing for the `TG_ARGV` array to maintain consistency with its array indexing system. This differs from PostgreSQL, where `TG_ARGV` uses zero-based indexing, unlike other PostgreSQL arrays. Trigger functions that reference `TG_ARGV` need to be adjusted when migrating from PostgreSQL. [#135311](https://github.com/cockroachdb/cockroach/issues/135311) -- `UPDATE` triggers with a column list (using `UPDATE OF column_name` syntax) are not supported. [#135656](https://github.com/cockroachdb/cockroach/issues/135656) -- Statement-level triggers for `TRUNCATE` events are not supported. [#135657](https://github.com/cockroachdb/cockroach/issues/135657) +- `CREATE OR REPLACE TRIGGER` is not supported. #128422 +- Statement-level triggers are not supported. #126362 +- `INSTEAD OF` triggers are not supported. #126363 +- A [trigger function]({% link {{ page.version.version }}/triggers.md %}#trigger-function) that is used in an existing trigger cannot be replaced with `CREATE OR REPLACE` syntax. To use `CREATE OR REPLACE`, first [drop any triggers]({% link {{ page.version.version }}/drop-trigger.md %}) that are using the function. #134555 +- Hidden columns are not visible to triggers. #133331 +- The `REFERENCING` clause for `CREATE TRIGGER` is not supported. #135655 +- CockroachDB uses one-based indexing for the `TG_ARGV` array to maintain consistency with its array indexing system. This differs from PostgreSQL, where `TG_ARGV` uses zero-based indexing, unlike other PostgreSQL arrays. Trigger functions that reference `TG_ARGV` need to be adjusted when migrating from PostgreSQL. #135311 +- `UPDATE` triggers with a column list (using `UPDATE OF column_name` syntax) are not supported. #135656 +- Statement-level triggers for `TRUNCATE` events are not supported. #135657 - {% include {{ page.version.version }}/known-limitations/drop-trigger-limitations.md %} \ No newline at end of file diff --git a/src/current/_includes/v26.1/known-limitations/trigram-unsupported-syntax.md b/src/current/_includes/v26.1/known-limitations/trigram-unsupported-syntax.md index 494730c7ae8..a981c4915b0 100644 --- a/src/current/_includes/v26.1/known-limitations/trigram-unsupported-syntax.md +++ b/src/current/_includes/v26.1/known-limitations/trigram-unsupported-syntax.md @@ -6,4 +6,4 @@ - Acceleration on [regex string matching]({% link {{ page.version.version }}/scalar-expressions.md %}#string-matching-using-posix-regular-expressions). - `%` comparisons, `show_trgm`, and trigram index creation on [collated strings]({% link {{ page.version.version }}/collate.md %}). -[#41285](https://github.com/cockroachdb/cockroach/issues/41285) \ No newline at end of file +#41285 \ No newline at end of file diff --git a/src/current/_includes/v26.1/known-limitations/udf-limitations.md b/src/current/_includes/v26.1/known-limitations/udf-limitations.md index 0f44ac320f5..c212736717b 100644 --- a/src/current/_includes/v26.1/known-limitations/udf-limitations.md +++ b/src/current/_includes/v26.1/known-limitations/udf-limitations.md @@ -1,9 +1,9 @@ -- User-defined functions are not supported in partial index predicates. [#155488](https://github.com/cockroachdb/cockroach/issues/155488) -- Views cannot reference a UDF that contains mutation statements (`INSERT`, `UPDATE`, `UPSERT`, `DELETE`). [#151686](https://github.com/cockroachdb/cockroach/issues/151686) -- A `RECORD`-returning UDF cannot be created without a `RETURN` statement in the root block, which would restrict the wildcard type to a concrete one. [#122945](https://github.com/cockroachdb/cockroach/issues/122945) +- User-defined functions are not supported in partial index predicates. #155488 +- Views cannot reference a UDF that contains mutation statements (`INSERT`, `UPDATE`, `UPSERT`, `DELETE`). #151686 +- A `RECORD`-returning UDF cannot be created without a `RETURN` statement in the root block, which would restrict the wildcard type to a concrete one. #122945 - User-defined functions are not currently supported in: - - Expressions (column, index, constraint) in tables. [#87699](https://github.com/cockroachdb/cockroach/issues/87699) - - Partial index predicates. [#155488](https://github.com/cockroachdb/cockroach/issues/155488) -- User-defined functions cannot call themselves recursively. [#93049](https://github.com/cockroachdb/cockroach/issues/93049) -- The `setval` function cannot be resolved when used inside UDF bodies. [#110860](https://github.com/cockroachdb/cockroach/issues/110860) -- Casting subqueries to [user-defined types]({% link {{ page.version.version }}/create-type.md %}) in UDFs is not supported. [#108184](https://github.com/cockroachdb/cockroach/issues/108184) \ No newline at end of file + - Expressions (column, index, constraint) in tables. #87699 + - Partial index predicates. #155488 +- User-defined functions cannot call themselves recursively. #93049 +- The `setval` function cannot be resolved when used inside UDF bodies. #110860 +- Casting subqueries to [user-defined types]({% link {{ page.version.version }}/create-type.md %}) in UDFs is not supported. #108184 \ No newline at end of file diff --git a/src/current/_includes/v26.1/known-limitations/vector-limitations.md b/src/current/_includes/v26.1/known-limitations/vector-limitations.md index 97ed7c47599..053087efe7e 100644 --- a/src/current/_includes/v26.1/known-limitations/vector-limitations.md +++ b/src/current/_includes/v26.1/known-limitations/vector-limitations.md @@ -1,5 +1,5 @@ - {% include {{ page.version.version }}/sql/vector-batch-inserts.md %} -- `IMPORT INTO` is not supported on tables with vector indexes. You can import the vectors first and create the index after import is complete. [#145227](https://github.com/cockroachdb/cockroach/issues/145227) -- The distance functions `vector_l1_ops`, `bit_hamming_ops`, and `bit_jaccard_ops` are not implemented. [#147839](https://github.com/cockroachdb/cockroach/issues/147839) -- Index acceleration with filters is only supported if the filters match prefix columns. [#146145](https://github.com/cockroachdb/cockroach/issues/146145) -- Index recommendations are not provided for vector indexes. [#146146](https://github.com/cockroachdb/cockroach/issues/146146) \ No newline at end of file +- `IMPORT INTO` is not supported on tables with vector indexes. You can import the vectors first and create the index after import is complete. #145227 +- The distance functions `vector_l1_ops`, `bit_hamming_ops`, and `bit_jaccard_ops` are not implemented. #147839 +- Index acceleration with filters is only supported if the filters match prefix columns. #146145 +- Index recommendations are not provided for vector indexes. #146146 \ No newline at end of file diff --git a/src/current/_includes/v26.1/known-limitations/vectorized-engine-limitations.md b/src/current/_includes/v26.1/known-limitations/vectorized-engine-limitations.md index 111226546cf..250e4b5ee28 100644 --- a/src/current/_includes/v26.1/known-limitations/vectorized-engine-limitations.md +++ b/src/current/_includes/v26.1/known-limitations/vectorized-engine-limitations.md @@ -1,2 +1,2 @@ -- The vectorized engine does not support queries containing a join filtered with an [`ON` expression]({% link {{ page.version.version }}/joins.md %}#supported-join-conditions). [#38018](https://github.com/cockroachdb/cockroach/issues/38018) +- The vectorized engine does not support queries containing a join filtered with an [`ON` expression]({% link {{ page.version.version }}/joins.md %}#supported-join-conditions). #38018 - The vectorized engine does not support [working with spatial data]({% link {{ page.version.version }}/query-spatial-data.md %}). Queries with [geospatial functions]({% link {{ page.version.version }}/functions-and-operators.md %}#spatial-functions) or [spatial data]({% link {{ page.version.version }}/query-spatial-data.md %}) will revert to the row-oriented execution engine. diff --git a/src/current/_includes/v26.1/known-limitations/view-limitations.md b/src/current/_includes/v26.1/known-limitations/view-limitations.md index 02d10afc40b..165b2e475c5 100644 --- a/src/current/_includes/v26.1/known-limitations/view-limitations.md +++ b/src/current/_includes/v26.1/known-limitations/view-limitations.md @@ -1,3 +1,3 @@ -- The `security_invoker` attribute for views is not supported. Views always use the view definer's privileges when checking permissions. [#138918](https://github.com/cockroachdb/cockroach/issues/138918) -- Casting subqueries to [user-defined types]({% link {{ page.version.version }}/create-type.md %}) (including ENUMs) in views is not supported. [#108184](https://github.com/cockroachdb/cockroach/issues/108184) -- Statements within views do not currently respect hint injections. The workaround is to modify the inline hints directly in the body by replacing the view. [#166782](https://github.com/cockroachdb/cockroach/issues/166782) \ No newline at end of file +- The `security_invoker` attribute for views is not supported. Views always use the view definer's privileges when checking permissions. #138918 +- Casting subqueries to [user-defined types]({% link {{ page.version.version }}/create-type.md %}) (including ENUMs) in views is not supported. #108184 +- Statements within views do not currently respect hint injections. The workaround is to modify the inline hints directly in the body by replacing the view. #166782 \ No newline at end of file diff --git a/src/current/_includes/v26.2/known-limitations/active-session-history.md b/src/current/_includes/v26.2/known-limitations/active-session-history.md index 1d195fb07cf..bfb76e871a1 100644 --- a/src/current/_includes/v26.2/known-limitations/active-session-history.md +++ b/src/current/_includes/v26.2/known-limitations/active-session-history.md @@ -1,3 +1,3 @@ -- ASH is not recommended for nodes with 64 or more vCPUs, due to degraded performance on those nodes. [#168289](https://github.com/cockroachdb/cockroach/issues/168289) +- ASH is not recommended for nodes with 64 or more vCPUs, due to degraded performance on those nodes. #168289 - On Basic and Standard CockroachDB {{ site.data.products.cloud }} clusters, ASH samples only cover work running on the [SQL]({% link {{ page.version.version }}/architecture/sql-layer.md %}) pod. KV-level work ([storage]({% link {{ page.version.version }}/architecture/storage-layer.md %}) I/O, [lock waits]({% link {{ page.version.version }}/troubleshoot-lock-contention.md %}), [replication]({% link {{ page.version.version }}/architecture/replication-layer.md %}), etc.) is not visible in ASH samples. -- KV work triggered during [COMMIT]({% link {{ page.version.version }}/commit-transaction.md %}) (for example, [intent resolution]({% link {{ page.version.version }}/architecture/transaction-layer.md %}), [Raft]({% link {{ page.version.version }}/architecture/replication-layer.md %}#raft) proposals deferred from earlier statements in an [explicit transaction]({% link {{ page.version.version }}/begin-transaction.md %})) is attributed to the last [statement's fingerprint]({% link {{ page.version.version }}/ui-statements-page.md %}), not the statement that originally caused the work. [#165864](https://github.com/cockroachdb/cockroach/issues/165864) \ No newline at end of file +- KV work triggered during [COMMIT]({% link {{ page.version.version }}/commit-transaction.md %}) (for example, [intent resolution]({% link {{ page.version.version }}/architecture/transaction-layer.md %}), [Raft]({% link {{ page.version.version }}/architecture/replication-layer.md %}#raft) proposals deferred from earlier statements in an [explicit transaction]({% link {{ page.version.version }}/begin-transaction.md %})) is attributed to the last [statement's fingerprint]({% link {{ page.version.version }}/ui-statements-page.md %}), not the statement that originally caused the work. #165864 \ No newline at end of file diff --git a/src/current/_includes/v26.2/known-limitations/alter-changefeed-cdc-queries.md b/src/current/_includes/v26.2/known-limitations/alter-changefeed-cdc-queries.md index 56dd7eeaacd..4134b3c9f86 100644 --- a/src/current/_includes/v26.2/known-limitations/alter-changefeed-cdc-queries.md +++ b/src/current/_includes/v26.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. [#83033](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. #83033 \ No newline at end of file diff --git a/src/current/_includes/v26.2/known-limitations/alter-changefeed-limitations.md b/src/current/_includes/v26.2/known-limitations/alter-changefeed-limitations.md index a183f2964f4..cb75ad71c55 100644 --- a/src/current/_includes/v26.2/known-limitations/alter-changefeed-limitations.md +++ b/src/current/_includes/v26.2/known-limitations/alter-changefeed-limitations.md @@ -1,4 +1,4 @@ -- It is necessary to [`PAUSE`]({% link {{ page.version.version }}/pause-job.md %}) the changefeed before performing any [`ALTER CHANGEFEED`]({% link {{ page.version.version }}/alter-changefeed.md %}) statement. [#77171](https://github.com/cockroachdb/cockroach/issues/77171) +- It is necessary to [`PAUSE`]({% link {{ page.version.version }}/pause-job.md %}) the changefeed before performing any [`ALTER CHANGEFEED`]({% link {{ page.version.version }}/alter-changefeed.md %}) statement. #77171 - 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: ~~~ sql diff --git a/src/current/_includes/v26.2/known-limitations/alter-sequence-limitations.md b/src/current/_includes/v26.2/known-limitations/alter-sequence-limitations.md index 7343a1d1f1e..ba6bc88aa32 100644 --- a/src/current/_includes/v26.2/known-limitations/alter-sequence-limitations.md +++ b/src/current/_includes/v26.2/known-limitations/alter-sequence-limitations.md @@ -1 +1 @@ -- 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. [#23719](https://github.com/cockroachdb/cockroach/issues/23719) +- 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. #23719 diff --git a/src/current/_includes/v26.2/known-limitations/alter-table-add-column-limitations.md b/src/current/_includes/v26.2/known-limitations/alter-table-add-column-limitations.md index a8e71e5e59c..a8249cfb0f8 100644 --- a/src/current/_includes/v26.2/known-limitations/alter-table-add-column-limitations.md +++ b/src/current/_includes/v26.2/known-limitations/alter-table-add-column-limitations.md @@ -2,7 +2,7 @@ - The column uses a [sequence]({% link {{ page.version.version }}/create-sequence.md %}) as the [`DEFAULT`]({% link {{ page.version.version }}/default-value.md %}) value, for example using `nextval()`. - The column uses `GENERATED ALWAYS AS IDENTITY` or `GENERATED BY DEFAULT AS IDENTITY`, unless the table being altered is empty. - This is because CockroachDB does not support back-filling sequential column data. [#42508](https://github.com/cockroachdb/cockroach/issues/42508) + This is because CockroachDB does not support back-filling sequential column data. #42508 - When executing an [`ALTER TABLE ADD COLUMN`]({% link {{ page.version.version }}/alter-table.md %}#add-column) statement with a [`DEFAULT`]({% link {{ page.version.version }}/default-value.md %}) expression, new values generated: - Use the default [search path]({% link {{ page.version.version }}/sql-name-resolution.md %}#search-path) regardless of the search path configured in the current session via `SET SEARCH_PATH`. - Use the UTC time zone regardless of the time zone configured in the current session via [`SET TIME ZONE`]({% link {{ page.version.version }}/set-vars.md %}). diff --git a/src/current/_includes/v26.2/known-limitations/alter-view-limitations.md b/src/current/_includes/v26.2/known-limitations/alter-view-limitations.md index 642bed6ce08..e44921629ff 100644 --- a/src/current/_includes/v26.2/known-limitations/alter-view-limitations.md +++ b/src/current/_includes/v26.2/known-limitations/alter-view-limitations.md @@ -1,4 +1,4 @@ `ALTER VIEW` 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. [#10083](https://github.com/cockroachdb/cockroach/issues/10083) \ No newline at end of file +- Renaming a view that other views depend on. This feature may be added in the future. #10083 \ No newline at end of file diff --git a/src/current/_includes/v26.2/known-limitations/aost-limitations.md b/src/current/_includes/v26.2/known-limitations/aost-limitations.md index 811c884d08d..c42e62800d3 100644 --- a/src/current/_includes/v26.2/known-limitations/aost-limitations.md +++ b/src/current/_includes/v26.2/known-limitations/aost-limitations.md @@ -1 +1 @@ -CockroachDB does not support placeholders in {% if page.name == "as-of-system-time.md" %}`AS OF SYSTEM TIME`{% else %}[`AS OF SYSTEM TIME`]({% link {{ page.version.version }}/as-of-system-time.md %}){% endif %}. The time value must be a constant value embedded in the SQL string. [#30955](https://github.com/cockroachdb/cockroach/issues/30955) \ No newline at end of file +CockroachDB does not support placeholders in {% if page.name == "as-of-system-time.md" %}`AS OF SYSTEM TIME`{% else %}[`AS OF SYSTEM TIME`]({% link {{ page.version.version }}/as-of-system-time.md %}){% endif %}. The time value must be a constant value embedded in the SQL string. #30955 \ No newline at end of file diff --git a/src/current/_includes/v26.2/known-limitations/cannot-refresh-materialized-views-inside-transactions.md b/src/current/_includes/v26.2/known-limitations/cannot-refresh-materialized-views-inside-transactions.md index b0aaf728177..2f6fe466a95 100644 --- a/src/current/_includes/v26.2/known-limitations/cannot-refresh-materialized-views-inside-transactions.md +++ b/src/current/_includes/v26.2/known-limitations/cannot-refresh-materialized-views-inside-transactions.md @@ -24,4 +24,4 @@ SQLSTATE: 25000 ~~~ - [#66008](https://github.com/cockroachdb/cockroach/issues/66008) + #66008 diff --git a/src/current/_includes/v26.2/known-limitations/cdc-queries-column-families.md b/src/current/_includes/v26.2/known-limitations/cdc-queries-column-families.md index 505a8c9700e..52bdabec236 100644 --- a/src/current/_includes/v26.2/known-limitations/cdc-queries-column-families.md +++ b/src/current/_includes/v26.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. [#127761](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. #127761 \ No newline at end of file diff --git a/src/current/_includes/v26.2/known-limitations/cdc-queries.md b/src/current/_includes/v26.2/known-limitations/cdc-queries.md index 2839eba5eda..552900531b0 100644 --- a/src/current/_includes/v26.2/known-limitations/cdc-queries.md +++ b/src/current/_includes/v26.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). [#98237](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. [#83835](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). #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. #83835 diff --git a/src/current/_includes/v26.2/known-limitations/cdc.md b/src/current/_includes/v26.2/known-limitations/cdc.md index a473e94367c..0a3914da8bd 100644 --- a/src/current/_includes/v26.2/known-limitations/cdc.md +++ b/src/current/_includes/v26.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 %}). [#73435](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 %}). #73435 - {% 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 %}#insecure-tls-skip-verify) parameter when testing to disable certificate verification; however, this still requires HTTPS and certificates. [#73431](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. [#73432](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) 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. [#79452](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 %}#insecure-tls-skip-verify) parameter when testing to disable certificate verification; however, this still requires HTTPS and certificates. #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. #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) 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. #79452 - {% 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/v26.2/known-limitations/changefeed-column-family-message.md b/src/current/_includes/v26.2/known-limitations/changefeed-column-family-message.md index 41744b9b4b4..e77b6cc51e0 100644 --- a/src/current/_includes/v26.2/known-limitations/changefeed-column-family-message.md +++ b/src/current/_includes/v26.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. [#127736](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. #127736 \ No newline at end of file diff --git a/src/current/_includes/v26.2/known-limitations/citext-limitations.md b/src/current/_includes/v26.2/known-limitations/citext-limitations.md index df0fbc0ff91..c7e43cd2949 100644 --- a/src/current/_includes/v26.2/known-limitations/citext-limitations.md +++ b/src/current/_includes/v26.2/known-limitations/citext-limitations.md @@ -1 +1 @@ -- `CITEXT` types are not currently compatible with the `LIKE` and `ILIKE` operators. [#149791](https://github.com/cockroachdb/cockroach/issues/149791) \ No newline at end of file +- `CITEXT` types are not currently compatible with the `LIKE` and `ILIKE` operators. #149791 \ No newline at end of file diff --git a/src/current/_includes/v26.2/known-limitations/collate-limitations.md b/src/current/_includes/v26.2/known-limitations/collate-limitations.md index d3e3e712bb5..7ba94b89053 100644 --- a/src/current/_includes/v26.2/known-limitations/collate-limitations.md +++ b/src/current/_includes/v26.2/known-limitations/collate-limitations.md @@ -1 +1 @@ -- Many string operations are not properly overloaded for [collated strings]({% link {{ page.version.version }}/collate.md %}). For example, the `||` concatenation operator works with regular strings but returns an error with collated strings. [#10679](https://github.com/cockroachdb/cockroach/issues/10679) +- Many string operations are not properly overloaded for [collated strings]({% link {{ page.version.version }}/collate.md %}). For example, the `||` concatenation operator works with regular strings but returns an error with collated strings. #10679 diff --git a/src/current/_includes/v26.2/known-limitations/comment-on-limitations.md b/src/current/_includes/v26.2/known-limitations/comment-on-limitations.md index 568b31ec737..757f74e10f0 100644 --- a/src/current/_includes/v26.2/known-limitations/comment-on-limitations.md +++ b/src/current/_includes/v26.2/known-limitations/comment-on-limitations.md @@ -1 +1 @@ -- 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 an individual table or database. As a workaround, take a cluster backup instead, as the `system.comments` table is included in cluster backups. [#44396](https://github.com/cockroachdb/cockroach/issues/44396) +- 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 an individual table or database. As a workaround, take a cluster backup instead, as the `system.comments` table is included in cluster backups. #44396 diff --git a/src/current/_includes/v26.2/known-limitations/composite-type-limitations.md b/src/current/_includes/v26.2/known-limitations/composite-type-limitations.md index 1ceecb5d889..48ce4591246 100644 --- a/src/current/_includes/v26.2/known-limitations/composite-type-limitations.md +++ b/src/current/_includes/v26.2/known-limitations/composite-type-limitations.md @@ -1,2 +1,2 @@ -- Updating subfields of composite types using dot syntax results in a syntax error. [#102984](https://github.com/cockroachdb/cockroach/issues/102984) -- Tuple elements cannot be accessed without enclosing the [composite variable]({% link {{ page.version.version }}/create-type.md %}) name in parentheses. For example, `(OLD).column` and `(NEW).column` when used in [triggers]({% link {{ page.version.version }}/triggers.md %}). [#114687](https://github.com/cockroachdb/cockroach/issues/114687) +- Updating subfields of composite types using dot syntax results in a syntax error. #102984 +- Tuple elements cannot be accessed without enclosing the [composite variable]({% link {{ page.version.version }}/create-type.md %}) name in parentheses. For example, `(OLD).column` and `(NEW).column` when used in [triggers]({% link {{ page.version.version }}/triggers.md %}). #114687 diff --git a/src/current/_includes/v26.2/known-limitations/copy-syntax.md b/src/current/_includes/v26.2/known-limitations/copy-syntax.md index e64a075dcac..bd2e56e1c25 100644 --- a/src/current/_includes/v26.2/known-limitations/copy-syntax.md +++ b/src/current/_includes/v26.2/known-limitations/copy-syntax.md @@ -1,5 +1,5 @@ CockroachDB does not yet support the following `COPY` syntax: - - `COPY ... WITH FREEZE`. [#85573](https://github.com/cockroachdb/cockroach/issues/85573) - - `COPY ... WITH QUOTE`. [#85574](https://github.com/cockroachdb/cockroach/issues/85574) - - `COPY ... FROM ... WHERE `. [#54580](https://github.com/cockroachdb/cockroach/issues/54580) + - `COPY ... WITH FREEZE`. #85573 + - `COPY ... WITH QUOTE`. #85574 + - `COPY ... FROM ... WHERE `. #54580 diff --git a/src/current/_includes/v26.2/known-limitations/create-statistics-aost-limitation.md b/src/current/_includes/v26.2/known-limitations/create-statistics-aost-limitation.md index 09f86f51c48..d318ce338be 100644 --- a/src/current/_includes/v26.2/known-limitations/create-statistics-aost-limitation.md +++ b/src/current/_includes/v26.2/known-limitations/create-statistics-aost-limitation.md @@ -1 +1 @@ -The `ANALYZE` alias {% if page.name != "create-statistics.md" %}of [`CREATE STATISTICS`]({% link {{ page.version.version }}/create-statistics.md %}){% endif %} does not support specifying an {% if page.name == "as-of-system-time.md" %}`AS OF SYSTEM TIME`{% else %}[`AS OF SYSTEM TIME`]({% link {{ page.version.version }}/as-of-system-time.md %}){% endif %} timestamp. `ANALYZE` statements use `AS OF SYSTEM TIME '-0.001ms'` automatically. For more control over the statistics interval, use the `CREATE STATISTICS` syntax instead. [#96430](https://github.com/cockroachdb/cockroach/issues/96430) \ No newline at end of file +The `ANALYZE` alias {% if page.name != "create-statistics.md" %}of [`CREATE STATISTICS`]({% link {{ page.version.version }}/create-statistics.md %}){% endif %} does not support specifying an {% if page.name == "as-of-system-time.md" %}`AS OF SYSTEM TIME`{% else %}[`AS OF SYSTEM TIME`]({% link {{ page.version.version }}/as-of-system-time.md %}){% endif %} timestamp. `ANALYZE` statements use `AS OF SYSTEM TIME '-0.001ms'` automatically. For more control over the statistics interval, use the `CREATE STATISTICS` syntax instead. #96430 \ No newline at end of file diff --git a/src/current/_includes/v26.2/known-limitations/data-domiciling-limitations.md b/src/current/_includes/v26.2/known-limitations/data-domiciling-limitations.md index b4e1092fdac..7d8faa3ce97 100644 --- a/src/current/_includes/v26.2/known-limitations/data-domiciling-limitations.md +++ b/src/current/_includes/v26.2/known-limitations/data-domiciling-limitations.md @@ -1,4 +1,4 @@ -- When using the `infer_rbr_region_col_using_constraint` option, inserting rows with `DEFAULT` for the region column uses the database's primary region instead of inferring the region from the parent table via foreign-key constraint. [#150783](https://github.com/cockroachdb/cockroach/issues/150783) +- When using the `infer_rbr_region_col_using_constraint` option, inserting rows with `DEFAULT` for the region column uses the database's primary region instead of inferring the region from the parent table via foreign-key constraint. #150783 - When columns are [indexed]({% link {{ page.version.version }}/indexes.md %}), a subset of data from the indexed columns may appear in [meta ranges]({% link {{ page.version.version }}/architecture/distribution-layer.md %}#meta-ranges) or other system tables. CockroachDB synchronizes these system ranges and system tables across nodes. This synchronization does not respect any multi-region settings applied via either the [multi-region SQL statements]({% link {{ page.version.version }}/multiregion-overview.md %}), or the low-level [zone configs]({% link {{ page.version.version }}/configure-replication-zones.md %}) mechanism. - [Zone configs]({% link {{ page.version.version }}/configure-replication-zones.md %}) can be used for data placement but these features were historically built for performance, not for domiciling. The replication system's top priority is to prevent the loss of data and it may override the zone configurations if necessary to ensure data durability. For more information, see [Replication Controls]({% link {{ page.version.version }}/configure-replication-zones.md %}#types-of-constraints). - If your [log files]({% link {{ page.version.version }}/logging-overview.md %}) are kept in the region where they were generated, there is some cross-region leakage (like the system tables described previously), but the majority of user data that makes it into the logs is going to be homed in that region. If that's not strong enough, you can use the [log redaction functionality]({% link {{ page.version.version }}/configure-logs.md %}#redact-logs) to strip all raw data from the logs. You can also limit your log retention entirely. diff --git a/src/current/_includes/v26.2/known-limitations/distsql-heterogeneous-endianness.md b/src/current/_includes/v26.2/known-limitations/distsql-heterogeneous-endianness.md index 9194395dc04..7aa2963023e 100644 --- a/src/current/_includes/v26.2/known-limitations/distsql-heterogeneous-endianness.md +++ b/src/current/_includes/v26.2/known-limitations/distsql-heterogeneous-endianness.md @@ -1 +1 @@ -In clusters that mix big-endian and little-endian architectures, DistSQL may produce incorrect results because hash computations differ between the platforms. As a workaround on heterogeneous clusters, disable DistSQL with `SET CLUSTER SETTING sql.defaults.distsql = off`. [#148773](https://github.com/cockroachdb/cockroach/issues/148773) \ No newline at end of file +In clusters that mix big-endian and little-endian architectures, DistSQL may produce incorrect results because hash computations differ between the platforms. As a workaround on heterogeneous clusters, disable DistSQL with `SET CLUSTER SETTING sql.defaults.distsql = off`. #148773 \ No newline at end of file diff --git a/src/current/_includes/v26.2/known-limitations/drop-column-partial-index.md b/src/current/_includes/v26.2/known-limitations/drop-column-partial-index.md index 9fd1811cc43..fd28f0a96a2 100644 --- a/src/current/_includes/v26.2/known-limitations/drop-column-partial-index.md +++ b/src/current/_includes/v26.2/known-limitations/drop-column-partial-index.md @@ -1 +1 @@ -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 %}). [#97813](https://github.com/cockroachdb/cockroach/issues/97813). \ No newline at end of file +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 %}). #97813. \ No newline at end of file diff --git a/src/current/_includes/v26.2/known-limitations/drop-owned-by-limitations.md b/src/current/_includes/v26.2/known-limitations/drop-owned-by-limitations.md index 95685f6adf1..af99d4b7cfe 100644 --- a/src/current/_includes/v26.2/known-limitations/drop-owned-by-limitations.md +++ b/src/current/_includes/v26.2/known-limitations/drop-owned-by-limitations.md @@ -10,4 +10,4 @@ The phrase "synthetic privileges" in the error message refers to [system-level privileges]({% link {{ page.version.version }}/security-reference/authorization.md %}#supported-privileges). - The workaround is to use [`SHOW SYSTEM GRANTS FOR {role}`](show-system-grants.html) and then use [`REVOKE SYSTEM ...`](revoke.html#revoke-system-level-privileges-on-the-entire-cluster) for each privilege in the result. [#88149](https://github.com/cockroachdb/cockroach/issues/88149) \ No newline at end of file + The workaround is to use [`SHOW SYSTEM GRANTS FOR {role}`](show-system-grants.html) and then use [`REVOKE SYSTEM ...`](revoke.html#revoke-system-level-privileges-on-the-entire-cluster) for each privilege in the result. #88149 \ No newline at end of file diff --git a/src/current/_includes/v26.2/known-limitations/enforce-home-region-limitations.md b/src/current/_includes/v26.2/known-limitations/enforce-home-region-limitations.md index 693829358f7..53ce961b902 100644 --- a/src/current/_includes/v26.2/known-limitations/enforce-home-region-limitations.md +++ b/src/current/_includes/v26.2/known-limitations/enforce-home-region-limitations.md @@ -1 +1 @@ -With `enforce_home_region` enabled, CockroachDB currently validates home-region access during plan build. This can falsely reject queries (e.g., lookup joins) that would only read local data at execution time, returning a `Query has no home region` error. [#148375](https://github.com/cockroachdb/cockroach/issues/148375) \ No newline at end of file +With `enforce_home_region` enabled, CockroachDB currently validates home-region access during plan build. This can falsely reject queries (e.g., lookup joins) that would only read local data at execution time, returning a `Query has no home region` error. #148375 \ No newline at end of file diff --git a/src/current/_includes/v26.2/known-limitations/expression-index-limitations.md b/src/current/_includes/v26.2/known-limitations/expression-index-limitations.md index c0e94185948..9487028791c 100644 --- a/src/current/_includes/v26.2/known-limitations/expression-index-limitations.md +++ b/src/current/_includes/v26.2/known-limitations/expression-index-limitations.md @@ -1,6 +1,6 @@ - The expression cannot reference columns outside the index's table. - Functional expression output must be determined by the input arguments. For example, you can't use the [volatile function]({% link {{ page.version.version }}/functions-and-operators.md %}#function-volatility) `now()` to create an index because its output depends on more than just the function arguments. -- 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 %}). [#67900](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 %}). #67900 - CockroachDB does not support expressions as `ON CONFLICT` targets. This means that unique {% if page.name == "expression-indexes.md" %} expression indexes {% else %} [expression indexes]({% link {{ page.version.version }}/expression-indexes.md %}) {% endif %} cannot be selected as arbiters for [`INSERT .. ON CONFLICT`]({% link {{ page.version.version }}/insert.md %}#on-conflict-clause) statements. For example: {% include_cached copy-clipboard.html %} @@ -40,4 +40,4 @@ HINT: try \h INSERT ~~~ - [#67893](https://github.com/cockroachdb/cockroach/issues/67893) + #67893 diff --git a/src/current/_includes/v26.2/known-limitations/forecasted-stats-limitations.md b/src/current/_includes/v26.2/known-limitations/forecasted-stats-limitations.md index c8753124a96..b5d03e8ffc5 100644 --- a/src/current/_includes/v26.2/known-limitations/forecasted-stats-limitations.md +++ b/src/current/_includes/v26.2/known-limitations/forecasted-stats-limitations.md @@ -6,4 +6,4 @@ Although [`SHOW STATISTICS WITH FORECAST`]({% link {{ page.version.version }}/show-statistics.md %}#display-forecasted-statistics) shows the settings taking effect immediately, they do not actually take effect until new statistics are collected (as can be verified with [`EXPLAIN`]({% link {{ page.version.version }}/explain.md %})). - As a workaround, disable and enable forecasting at the [cluster]({% link {{ page.version.version }}/cost-based-optimizer.md %}#enable-and-disable-automatic-statistics-collection-for-clusters) or [table]({% link {{ page.version.version }}/cost-based-optimizer.md %}#enable-and-disable-automatic-statistics-collection-for-tables) level. This will invalidate the statistics cache and cause these settings to take effect immediately. [#123852](https://github.com/cockroachdb/cockroach/issues/123852) \ No newline at end of file + As a workaround, disable and enable forecasting at the [cluster]({% link {{ page.version.version }}/cost-based-optimizer.md %}#enable-and-disable-automatic-statistics-collection-for-clusters) or [table]({% link {{ page.version.version }}/cost-based-optimizer.md %}#enable-and-disable-automatic-statistics-collection-for-tables) level. This will invalidate the statistics cache and cause these settings to take effect immediately. #123852 \ No newline at end of file diff --git a/src/current/_includes/v26.2/known-limitations/full-text-search-unsupported.md b/src/current/_includes/v26.2/known-limitations/full-text-search-unsupported.md index 7b5a83f2cae..2be666994f1 100644 --- a/src/current/_includes/v26.2/known-limitations/full-text-search-unsupported.md +++ b/src/current/_includes/v26.2/known-limitations/full-text-search-unsupported.md @@ -11,4 +11,4 @@ - `!! tsquery` comparisons. - `tsquery @> tsquery` and `tsquery <@ tsquery` comparisons. -[#41288](https://github.com/cockroachdb/cockroach/issues/41288) \ No newline at end of file +#41288 \ No newline at end of file diff --git a/src/current/_includes/v26.2/known-limitations/generic-query-plan-limitations.md b/src/current/_includes/v26.2/known-limitations/generic-query-plan-limitations.md index e28e66d5f32..03d72195334 100644 --- a/src/current/_includes/v26.2/known-limitations/generic-query-plan-limitations.md +++ b/src/current/_includes/v26.2/known-limitations/generic-query-plan-limitations.md @@ -1,2 +1,2 @@ -- Because [generic query plans]({% link {{ page.version.version }}/cost-based-optimizer.md %}#query-plan-cache) use lookup joins instead of the scans and revscans used by custom query plans, generic query plans do not perform as well as custom query plans in some cases. [#128916](https://github.com/cockroachdb/cockroach/issues/128916) -- [Generic query plans]({% link {{ page.version.version }}/cost-based-optimizer.md %}#query-plan-type) are not included in the [plan cache]({% link {{ page.version.version }}/cost-based-optimizer.md %}#query-plan-cache). This means a generic query plan built and optimized for a prepared statement in one session cannot be used by another session. To reuse generic query plans for maximum performance, a prepared statement should be executed multiple times instead of prepared and executed once. [#128911](https://github.com/cockroachdb/cockroach/issues/128911) \ No newline at end of file +- Because [generic query plans]({% link {{ page.version.version }}/cost-based-optimizer.md %}#query-plan-cache) use lookup joins instead of the scans and revscans used by custom query plans, generic query plans do not perform as well as custom query plans in some cases. #128916 +- [Generic query plans]({% link {{ page.version.version }}/cost-based-optimizer.md %}#query-plan-type) are not included in the [plan cache]({% link {{ page.version.version }}/cost-based-optimizer.md %}#query-plan-cache). This means a generic query plan built and optimized for a prepared statement in one session cannot be used by another session. To reuse generic query plans for maximum performance, a prepared statement should be executed multiple times instead of prepared and executed once. #128911 \ No newline at end of file diff --git a/src/current/_includes/v26.2/known-limitations/geospatial-heterogeneous-architectures.md b/src/current/_includes/v26.2/known-limitations/geospatial-heterogeneous-architectures.md index 4bb9633f138..55b706c3d6d 100644 --- a/src/current/_includes/v26.2/known-limitations/geospatial-heterogeneous-architectures.md +++ b/src/current/_includes/v26.2/known-limitations/geospatial-heterogeneous-architectures.md @@ -1 +1 @@ -Clusters that mix `s390x` with other CPU architectures are unsupported for geospatial workloads. Due to differences in how trigonometric functions are computed on `s390x` systems, geospatial queries in heterogeneous clusters with `s390x` are likely to get incorrect results. This can include taking a backup on one architecture and restoring it on another. [#148783](https://github.com/cockroachdb/cockroach/issues/148783) \ No newline at end of file +Clusters that mix `s390x` with other CPU architectures are unsupported for geospatial workloads. Due to differences in how trigonometric functions are computed on `s390x` systems, geospatial queries in heterogeneous clusters with `s390x` are likely to get incorrect results. This can include taking a backup on one architecture and restoring it on another. #148783 \ No newline at end of file diff --git a/src/current/_includes/v26.2/known-limitations/import-into-limitations.md b/src/current/_includes/v26.2/known-limitations/import-into-limitations.md index 6f2c04b65f1..84f99e379af 100644 --- a/src/current/_includes/v26.2/known-limitations/import-into-limitations.md +++ b/src/current/_includes/v26.2/known-limitations/import-into-limitations.md @@ -4,7 +4,7 @@ - After importing into an existing table, [constraints]({% link {{ page.version.version }}/constraints.md %}) will be un-validated and need to be [re-validated]({% link {{ page.version.version }}/alter-table.md %}#validate-constraint). - Imported rows must not conflict with existing rows in the table or any unique secondary indexes. - `IMPORT INTO` works for only a single existing table. -- When `IMPORT INTO` uses distributed merge, it stores intermediate SST files on participating SQL instances' local storage. If one of those SQL instances becomes unavailable during the merge phase, the job waits for that SQL instance to become available again. If the SQL instance does not become available again, the job fails with a permanent error. [#167491](https://github.com/cockroachdb/cockroach/issues/167491) +- When `IMPORT INTO` uses distributed merge, it stores intermediate SST files on participating SQL instances' local storage. If one of those SQL instances becomes unavailable during the merge phase, the job waits for that SQL instance to become available again. If the SQL instance does not become available again, the job fails with a permanent error. #167491 - `IMPORT INTO` can sometimes fail with a "context canceled" error, or can restart itself many times without ever finishing. If this is happening, it is likely due to a high amount of disk contention. This can be mitigated by setting the `kv.bulk_io_write.max_rate` [cluster setting]({% link {{ page.version.version }}/cluster-settings.md %}) to a value below your max disk write speed. For example, to set it to 10MB/s, execute: {% include_cached copy-clipboard.html %} ~~~ sql diff --git a/src/current/_includes/v26.2/known-limitations/int-limitations.md b/src/current/_includes/v26.2/known-limitations/int-limitations.md index 6333dbf6ed5..defda16db88 100644 --- a/src/current/_includes/v26.2/known-limitations/int-limitations.md +++ b/src/current/_includes/v26.2/known-limitations/int-limitations.md @@ -1 +1 @@ -- 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::INT`, the `default_int_size` variable will not take effect until the next statement. Statement parsing is asynchronous with 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. [#32846](https://github.com/cockroachdb/cockroach/issues/32846) +- 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::INT`, the `default_int_size` variable will not take effect until the next statement. Statement parsing is asynchronous with 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. #32846 diff --git a/src/current/_includes/v26.2/known-limitations/inverted-index-limitations.md b/src/current/_includes/v26.2/known-limitations/inverted-index-limitations.md index a19a10295eb..108d5eaaba3 100644 --- a/src/current/_includes/v26.2/known-limitations/inverted-index-limitations.md +++ b/src/current/_includes/v26.2/known-limitations/inverted-index-limitations.md @@ -1,3 +1,3 @@ -- CockroachDB does not allow inverted indexes with a [`STORING` column]({% link {{ page.version.version }}/create-index.md %}#store-columns). [#88278](https://github.com/cockroachdb/cockroach/issues/88278) -- CockroachDB cannot index-accelerate queries with `@@` predicates when both sides of the operator are variables for `tsvector` and `tsquery` types. [#102731](https://github.com/cockroachdb/cockroach/issues/102731) -- [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 }}/query-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. To work around this limitation, make sure that the prefix columns of the index are either constrained to single constant values, or are part of an equality condition with an input column. [#59649](https://github.com/cockroachdb/cockroach/issues/59649) +- CockroachDB does not allow inverted indexes with a [`STORING` column]({% link {{ page.version.version }}/create-index.md %}#store-columns). #88278 +- CockroachDB cannot index-accelerate queries with `@@` predicates when both sides of the operator are variables for `tsvector` and `tsquery` types. #102731 +- [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 }}/query-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. To work around this limitation, make sure that the prefix columns of the index are either constrained to single constant values, or are part of an equality condition with an input column. #59649 diff --git a/src/current/_includes/v26.2/known-limitations/jsonpath-limitations.md b/src/current/_includes/v26.2/known-limitations/jsonpath-limitations.md index 9b51bfb6e87..a74232bd40b 100644 --- a/src/current/_includes/v26.2/known-limitations/jsonpath-limitations.md +++ b/src/current/_includes/v26.2/known-limitations/jsonpath-limitations.md @@ -1,2 +1,2 @@ -- The following keywords are only accepted in lowercase: `strict`, `lax`, `exists`, `like_regex`, `flag`, `is unknown`, `to`, `last`. [#144255](https://github.com/cockroachdb/cockroach/issues/144255) -- Comparisons involving empty arrays (e.g., `SELECT jsonb_path_query('{"a": [1], "b": []}', '$.a == $.b');`) return `null`, rather than `false` as in PostgreSQL. [#145099](https://github.com/cockroachdb/cockroach/issues/145099) \ No newline at end of file +- The following keywords are only accepted in lowercase: `strict`, `lax`, `exists`, `like_regex`, `flag`, `is unknown`, `to`, `last`. #144255 +- Comparisons involving empty arrays (e.g., `SELECT jsonb_path_query('{"a": [1], "b": []}', '$.a == $.b');`) return `null`, rather than `false` as in PostgreSQL. #145099 \ No newline at end of file diff --git a/src/current/_includes/v26.2/known-limitations/ldr-column-families.md b/src/current/_includes/v26.2/known-limitations/ldr-column-families.md index 2a7c3bbba52..0c9dcd74ae4 100644 --- a/src/current/_includes/v26.2/known-limitations/ldr-column-families.md +++ b/src/current/_includes/v26.2/known-limitations/ldr-column-families.md @@ -1 +1 @@ -Replicating tables cannot contain [column families]({% link {{ page.version.version }}/column-families.md %}). [#133562](https://github.com/cockroachdb/cockroach/issues/133562) \ No newline at end of file +Replicating tables cannot contain [column families]({% link {{ page.version.version }}/column-families.md %}). #133562 \ No newline at end of file diff --git a/src/current/_includes/v26.2/known-limitations/ldr-composite-primary.md b/src/current/_includes/v26.2/known-limitations/ldr-composite-primary.md index ac897af35a7..2a790952946 100644 --- a/src/current/_includes/v26.2/known-limitations/ldr-composite-primary.md +++ b/src/current/_includes/v26.2/known-limitations/ldr-composite-primary.md @@ -1 +1 @@ -The [primary key]({% link {{ page.version.version }}/primary-key.md %}) in replicating tables cannot contain composite types. [#133572](https://github.com/cockroachdb/cockroach/issues/133572) \ No newline at end of file +The [primary key]({% link {{ page.version.version }}/primary-key.md %}) in replicating tables cannot contain composite types. #133572 \ No newline at end of file diff --git a/src/current/_includes/v26.2/known-limitations/ldr-indexes.md b/src/current/_includes/v26.2/known-limitations/ldr-indexes.md index 0bf7f60c2d4..4936f9868bd 100644 --- a/src/current/_includes/v26.2/known-limitations/ldr-indexes.md +++ b/src/current/_includes/v26.2/known-limitations/ldr-indexes.md @@ -1 +1 @@ -Replicating tables cannot contain an [index]({% link {{ page.version.version }}/indexes.md %}) that requires expression evaluation before insertion. [#133560](https://github.com/cockroachdb/cockroach/issues/133560) \ No newline at end of file +Replicating tables cannot contain an [index]({% link {{ page.version.version }}/indexes.md %}) that requires expression evaluation before insertion. #133560 \ No newline at end of file diff --git a/src/current/_includes/v26.2/known-limitations/ldr-sequences.md b/src/current/_includes/v26.2/known-limitations/ldr-sequences.md index 4e39f3630e3..693c0cc685b 100644 --- a/src/current/_includes/v26.2/known-limitations/ldr-sequences.md +++ b/src/current/_includes/v26.2/known-limitations/ldr-sequences.md @@ -1 +1 @@ -Replicating table cannot reference [sequences]({% link {{ page.version.version }}/create-sequence.md %}). [#132303](https://github.com/cockroachdb/cockroach/issues/132303) \ No newline at end of file +Replicating table cannot reference [sequences]({% link {{ page.version.version }}/create-sequence.md %}). #132303 \ No newline at end of file diff --git a/src/current/_includes/v26.2/known-limitations/ldr-triggers.md b/src/current/_includes/v26.2/known-limitations/ldr-triggers.md index 55f8e885b97..a587568b69a 100644 --- a/src/current/_includes/v26.2/known-limitations/ldr-triggers.md +++ b/src/current/_includes/v26.2/known-limitations/ldr-triggers.md @@ -1 +1 @@ -Replicating tables cannot reference triggers. [#132301](https://github.com/cockroachdb/cockroach/issues/132301) \ No newline at end of file +Replicating tables cannot reference triggers. #132301 \ No newline at end of file diff --git a/src/current/_includes/v26.2/known-limitations/ldr-udfs.md b/src/current/_includes/v26.2/known-limitations/ldr-udfs.md index fb642f14751..62eea605b52 100644 --- a/src/current/_includes/v26.2/known-limitations/ldr-udfs.md +++ b/src/current/_includes/v26.2/known-limitations/ldr-udfs.md @@ -1 +1 @@ -Replicating tables cannot reference [user-defined functions]({% link {{ page.version.version }}/user-defined-functions.md %}). [#132302](https://github.com/cockroachdb/cockroach/issues/132302) \ No newline at end of file +Replicating tables cannot reference [user-defined functions]({% link {{ page.version.version }}/user-defined-functions.md %}). #132302 \ No newline at end of file diff --git a/src/current/_includes/v26.2/known-limitations/like-escape-performance.md b/src/current/_includes/v26.2/known-limitations/like-escape-performance.md index 845fdddeeb9..45d8f380e3d 100644 --- a/src/current/_includes/v26.2/known-limitations/like-escape-performance.md +++ b/src/current/_includes/v26.2/known-limitations/like-escape-performance.md @@ -1 +1 @@ -`LIKE` queries with an `ESCAPE` clause cannot use index acceleration, which can result in significantly slower performance compared to standard `LIKE` queries. [#30192](https://github.com/cockroachdb/cockroach/issues/30192) +`LIKE` queries with an `ESCAPE` clause cannot use index acceleration, which can result in significantly slower performance compared to standard `LIKE` queries. #30192 diff --git a/src/current/_includes/v26.2/known-limitations/locality-optimized-search-virtual-computed-columns.md b/src/current/_includes/v26.2/known-limitations/locality-optimized-search-virtual-computed-columns.md index d6acf418aa8..39b3f2cb00e 100644 --- a/src/current/_includes/v26.2/known-limitations/locality-optimized-search-virtual-computed-columns.md +++ b/src/current/_includes/v26.2/known-limitations/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). [#68129](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). #68129 diff --git a/src/current/_includes/v26.2/known-limitations/materialized-views-no-stats.md b/src/current/_includes/v26.2/known-limitations/materialized-views-no-stats.md index 02f2bd787c4..2bfe00d5307 100644 --- a/src/current/_includes/v26.2/known-limitations/materialized-views-no-stats.md +++ b/src/current/_includes/v26.2/known-limitations/materialized-views-no-stats.md @@ -1 +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. [#78181](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. #78181. diff --git a/src/current/_includes/v26.2/known-limitations/max-row-size-limitations.md b/src/current/_includes/v26.2/known-limitations/max-row-size-limitations.md index 9d4d3e12918..705e6fcc9f7 100644 --- a/src/current/_includes/v26.2/known-limitations/max-row-size-limitations.md +++ b/src/current/_includes/v26.2/known-limitations/max-row-size-limitations.md @@ -1 +1 @@ -- 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. [#69540](https://github.com/cockroachdb/cockroach/issues/69540) +- 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. #69540 diff --git a/src/current/_includes/v26.2/known-limitations/multiple-arbiter-indexes.md b/src/current/_includes/v26.2/known-limitations/multiple-arbiter-indexes.md index c9861623314..28b41eca491 100644 --- a/src/current/_includes/v26.2/known-limitations/multiple-arbiter-indexes.md +++ b/src/current/_includes/v26.2/known-limitations/multiple-arbiter-indexes.md @@ -1 +1 @@ -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. [#53170](https://github.com/cockroachdb/cockroach/issues/53170) \ No newline at end of file +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. #53170 \ No newline at end of file diff --git a/src/current/_includes/v26.2/known-limitations/node-shutdown-limitations.md b/src/current/_includes/v26.2/known-limitations/node-shutdown-limitations.md index f35f858bdc1..d7eb712ee06 100644 --- a/src/current/_includes/v26.2/known-limitations/node-shutdown-limitations.md +++ b/src/current/_includes/v26.2/known-limitations/node-shutdown-limitations.md @@ -2,4 +2,4 @@ - The `cockroach node decommission --wait-all` command was run and then interrupted - The `cockroach node decommission --wait=none` command was run - 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. [#94430](https://github.com/cockroachdb/cockroach/issues/94430) + 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. #94430 diff --git a/src/current/_includes/v26.2/known-limitations/null-limitations.md b/src/current/_includes/v26.2/known-limitations/null-limitations.md index ad2efce233a..ba230019779 100644 --- a/src/current/_includes/v26.2/known-limitations/null-limitations.md +++ b/src/current/_includes/v26.2/known-limitations/null-limitations.md @@ -1 +1 @@ -- 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` values 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 does not work when the ordering column is a tuple. [#93558](https://github.com/cockroachdb/cockroach/issues/93558) +- 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` values 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 does not work when the ordering column is a tuple. #93558 diff --git a/src/current/_includes/v26.2/known-limitations/online-schema-changes-limitations.md b/src/current/_includes/v26.2/known-limitations/online-schema-changes-limitations.md index be6d00c26ce..8f58936ac08 100644 --- a/src/current/_includes/v26.2/known-limitations/online-schema-changes-limitations.md +++ b/src/current/_includes/v26.2/known-limitations/online-schema-changes-limitations.md @@ -28,9 +28,9 @@ You cannot start an online schema change on a table if a [primary key change]({% 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. [#46541](https://github.com/cockroachdb/cockroach/issues/46541) +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. #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. [#47712](https://github.com/cockroachdb/cockroach/issues/47712) +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. #47712 To reduce the chance that a column drop will roll back incorrectly: diff --git a/src/current/_includes/v26.2/known-limitations/partition-limitations.md b/src/current/_includes/v26.2/known-limitations/partition-limitations.md index f8ba5e979fa..b0bcd4b1d51 100644 --- a/src/current/_includes/v26.2/known-limitations/partition-limitations.md +++ b/src/current/_includes/v26.2/known-limitations/partition-limitations.md @@ -1,3 +1,3 @@ - When defining a [table partition]({% link {{ page.version.version }}/partitioning.md %}), either during table creation or table alteration, it is not possible to use placeholders in the `PARTITION BY` clause. - CockroachDB does not currently support dropping a single partition from a table. In order to remove partitions, you can [repartition]({% unless page.name == "partitioning.md" %}{% link {{ page.version.version }}/partitioning.md %}{% endunless %}#repartition-a-table) the table. -- 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. [#82774](https://github.com/cockroachdb/cockroach/issues/82774) +- 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. #82774 diff --git a/src/current/_includes/v26.2/known-limitations/plpgsql-limitations.md b/src/current/_includes/v26.2/known-limitations/plpgsql-limitations.md index 60b3104942e..09fd0183a40 100644 --- a/src/current/_includes/v26.2/known-limitations/plpgsql-limitations.md +++ b/src/current/_includes/v26.2/known-limitations/plpgsql-limitations.md @@ -1,23 +1,23 @@ -- It is not possible to use a variable as a target more than once in the same `INTO` clause. For example, `SELECT 1, 2 INTO x, x;`. [#121605](https://github.com/cockroachdb/cockroach/issues/121605) -- PLpgSQL variable declarations cannot inherit the type of a table row or column using `%TYPE` or `%ROWTYPE` syntax. [#114676](https://github.com/cockroachdb/cockroach/issues/114676) -- PL/pgSQL arguments cannot be referenced with ordinals (e.g., `$1`, `$2`). [#114701](https://github.com/cockroachdb/cockroach/issues/114701) +- It is not possible to use a variable as a target more than once in the same `INTO` clause. For example, `SELECT 1, 2 INTO x, x;`. #121605 +- PLpgSQL variable declarations cannot inherit the type of a table row or column using `%TYPE` or `%ROWTYPE` syntax. #114676 +- PL/pgSQL arguments cannot be referenced with ordinals (e.g., `$1`, `$2`). #114701 - The following statements are not supported: - - `FOR` cursor loops, `FOR` query loops, and `FOREACH` loops. [#105246](https://github.com/cockroachdb/cockroach/issues/105246) - - `PERFORM`, `EXECUTE`, `GET DIAGNOSTICS`, and `CASE`. [#117744](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 %}). [#111446](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`). [#106237](https://github.com/cockroachdb/cockroach/issues/106237) -- `RAISE` statements message the client directly, and do not produce log output. [#117750](https://github.com/cockroachdb/cockroach/issues/117750) -- `ASSERT` debugging checks are not supported. [#117744](https://github.com/cockroachdb/cockroach/issues/117744) -- `RECORD` parameters and variables are not supported in [user-defined functions]({% link {{ page.version.version }}/user-defined-functions.md %}). [#105713](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. [#117508](https://github.com/cockroachdb/cockroach/issues/117508) -- Syntax for accessing members of composite types without parentheses is not supported. [#114687](https://github.com/cockroachdb/cockroach/issues/114687) -- `NOT NULL` variable declarations are not supported. [#105243](https://github.com/cockroachdb/cockroach/issues/105243) -- Cursors opened in PL/pgSQL execute their queries on opening, affecting performance and resource usage. [#111479](https://github.com/cockroachdb/cockroach/issues/111479) -- Cursors in PL/pgSQL cannot be declared with arguments. [#117746](https://github.com/cockroachdb/cockroach/issues/117746) -- `OPEN FOR EXECUTE` is not supported for opening cursors. [#117744](https://github.com/cockroachdb/cockroach/issues/117744) -- The `print_strict_params` option is not supported in PL/pgSQL. [#123671](https://github.com/cockroachdb/cockroach/issues/123671) -- The `FOUND` local variable, which checks whether a statement affected any rows, is not supported in PL/pgSQL. [#122306](https://github.com/cockroachdb/cockroach/issues/122306) -- By default, when a PL/pgSQL variable conflicts with a column name, CockroachDB resolves the ambiguity by treating it as a column reference rather than a variable reference. This behavior differs from PostgreSQL, where an ambiguous column error is reported, and it is possible to change the `plpgsql.variable_conflict` setting in order to prefer either columns or variables. [#115680](https://github.com/cockroachdb/cockroach/issues/115680) -- It is not possible to define a `RECORD`-returning PL/pgSQL function that returns different-typed expressions from different `RETURN` statements. CockroachDB requires a consistent return type for `RECORD`-returning functions. [#115384](https://github.com/cockroachdb/cockroach/issues/115384) -- Variables cannot be declared with an associated collation using the `COLLATE` keyword. [#105245](https://github.com/cockroachdb/cockroach/issues/105245) -- Variables cannot be accessed using the `label.var_name` pattern. [#122322](https://github.com/cockroachdb/cockroach/issues/122322) \ No newline at end of file + - `FOR` cursor loops, `FOR` query loops, and `FOREACH` loops. #105246 + - `PERFORM`, `EXECUTE`, `GET DIAGNOSTICS`, and `CASE`. #117744 +- PL/pgSQL exception blocks cannot catch [transaction retry errors]({% link {{ page.version.version }}/transaction-retry-error-reference.md %}). #111446 +- `RAISE` statements cannot be annotated with names of schema objects related to the error (i.e., using `COLUMN`, `CONSTRAINT`, `DATATYPE`, `TABLE`, or `SCHEMA`). #106237 +- `RAISE` statements message the client directly, and do not produce log output. #117750 +- `ASSERT` debugging checks are not supported. #117744 +- `RECORD` parameters and variables are not supported in [user-defined functions]({% link {{ page.version.version }}/user-defined-functions.md %}). #105713 +- Variable shadowing (e.g., declaring a variable with the same name in an inner block) is not supported in PL/pgSQL. #117508 +- Syntax for accessing members of composite types without parentheses is not supported. #114687 +- `NOT NULL` variable declarations are not supported. #105243 +- Cursors opened in PL/pgSQL execute their queries on opening, affecting performance and resource usage. #111479 +- Cursors in PL/pgSQL cannot be declared with arguments. #117746 +- `OPEN FOR EXECUTE` is not supported for opening cursors. #117744 +- The `print_strict_params` option is not supported in PL/pgSQL. #123671 +- The `FOUND` local variable, which checks whether a statement affected any rows, is not supported in PL/pgSQL. #122306 +- By default, when a PL/pgSQL variable conflicts with a column name, CockroachDB resolves the ambiguity by treating it as a column reference rather than a variable reference. This behavior differs from PostgreSQL, where an ambiguous column error is reported, and it is possible to change the `plpgsql.variable_conflict` setting in order to prefer either columns or variables. #115680 +- It is not possible to define a `RECORD`-returning PL/pgSQL function that returns different-typed expressions from different `RETURN` statements. CockroachDB requires a consistent return type for `RECORD`-returning functions. #115384 +- Variables cannot be declared with an associated collation using the `COLLATE` keyword. #105245 +- Variables cannot be accessed using the `label.var_name` pattern. #122322 \ No newline at end of file diff --git a/src/current/_includes/v26.2/known-limitations/read-committed-limitations.md b/src/current/_includes/v26.2/known-limitations/read-committed-limitations.md index b4722a0c369..1beeca3c6ce 100644 --- a/src/current/_includes/v26.2/known-limitations/read-committed-limitations.md +++ b/src/current/_includes/v26.2/known-limitations/read-committed-limitations.md @@ -1,7 +1,7 @@ -- Mixed-isolation-level workloads must enable foreign-key check locking for `SERIALIZABLE` transactions to avoid race conditions. [#151663](https://github.com/cockroachdb/cockroach/issues/151663#issuecomment-3222083180) -- 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 when the [`autocommit_before_ddl` session setting]({% link {{page.version.version}}/set-vars.md %}#autocommit-before-ddl) is set to `off`, 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`. [#114778](https://github.com/cockroachdb/cockroach/issues/114778) -- Multi-column-family checks during updates are not supported under `READ COMMITTED` isolation. [#112488](https://github.com/cockroachdb/cockroach/issues/112488) +- Mixed-isolation-level workloads must enable foreign-key check locking for `SERIALIZABLE` transactions to avoid race conditions. #151663 +- 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 when the [`autocommit_before_ddl` session setting]({% link {{page.version.version}}/set-vars.md %}#autocommit-before-ddl) is set to `off`, 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`. #114778 +- Multi-column-family checks during updates are not supported under `READ COMMITTED` isolation. #112488 - Because locks acquired by [foreign key]({% link {{ page.version.version }}/foreign-key.md %}) checks, [`SELECT FOR UPDATE`]({% link {{ page.version.version }}/select-for-update.md %}), and [`SELECT FOR SHARE`]({% link {{ page.version.version }}/select-for-update.md %}) are fully replicated under `READ COMMITTED` isolation, some queries experience a delay for Raft replication. - [Foreign key]({% link {{ page.version.version }}/foreign-key.md %}) checks are not performed in parallel under `READ COMMITTED` isolation. - [`SELECT FOR UPDATE` and `SELECT FOR SHARE`]({% link {{ page.version.version }}/select-for-update.md %}) statements are less optimized under `READ COMMITTED` isolation than under `SERIALIZABLE` isolation. Under `READ COMMITTED` isolation, `SELECT FOR UPDATE` and `SELECT FOR SHARE` usually perform an extra lookup join for every locked table when compared to the same queries under `SERIALIZABLE`. In addition, some optimization steps (such as de-correlation of correlated [subqueries]({% link {{ page.version.version }}/subqueries.md %})) are not currently performed on these queries. -- Regardless of isolation level, [`SELECT FOR UPDATE` and `SELECT FOR SHARE`]({% link {{ page.version.version }}/select-for-update.md %}) statements in CockroachDB do not prevent insertion of new rows matching the search condition (i.e., [phantom reads]({% link {{ page.version.version }}/read-committed.md %}#non-repeatable-reads-and-phantom-reads)). This matches PostgreSQL behavior at all isolation levels. [#120673](https://github.com/cockroachdb/cockroach/issues/120673) \ No newline at end of file +- Regardless of isolation level, [`SELECT FOR UPDATE` and `SELECT FOR SHARE`]({% link {{ page.version.version }}/select-for-update.md %}) statements in CockroachDB do not prevent insertion of new rows matching the search condition (i.e., [phantom reads]({% link {{ page.version.version }}/read-committed.md %}#non-repeatable-reads-and-phantom-reads)). This matches PostgreSQL behavior at all isolation levels. #120673 \ No newline at end of file diff --git a/src/current/_includes/v26.2/known-limitations/restore-multiregion-match.md b/src/current/_includes/v26.2/known-limitations/restore-multiregion-match.md index ab2f1029ecd..634d695246e 100644 --- a/src/current/_includes/v26.2/known-limitations/restore-multiregion-match.md +++ b/src/current/_includes/v26.2/known-limitations/restore-multiregion-match.md @@ -47,4 +47,4 @@ ALTER DATABASE destination_database SET PRIMARY REGION "us-east1"; ~~~ - [#71071](https://github.com/cockroachdb/cockroach/issues/71071) \ No newline at end of file + #71071 \ No newline at end of file diff --git a/src/current/_includes/v26.2/known-limitations/restore-tables-non-multi-reg.md b/src/current/_includes/v26.2/known-limitations/restore-tables-non-multi-reg.md index 5390f2d09ee..e05bc340141 100644 --- a/src/current/_includes/v26.2/known-limitations/restore-tables-non-multi-reg.md +++ b/src/current/_includes/v26.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. [#71502](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. #71502 diff --git a/src/current/_includes/v26.2/known-limitations/restore-udf.md b/src/current/_includes/v26.2/known-limitations/restore-udf.md index a4a4bc080fe..e4180219a25 100644 --- a/src/current/_includes/v26.2/known-limitations/restore-udf.md +++ b/src/current/_includes/v26.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. [#118195](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. #118195 \ No newline at end of file diff --git a/src/current/_includes/v26.2/known-limitations/restore-zones.md b/src/current/_includes/v26.2/known-limitations/restore-zones.md index 4dfad262e73..d83566ac514 100644 --- a/src/current/_includes/v26.2/known-limitations/restore-zones.md +++ b/src/current/_includes/v26.2/known-limitations/restore-zones.md @@ -1 +1 @@ -When restoring from [non-cluster backups]({% link {{ page.version.version }}/backup.md %}#back-up-a-database), `RESTORE` does not restore [zone configurations]({% link {{ page.version.version }}/configure-replication-zones.md %}) for restored objects. [#167824](https://github.com/cockroachdb/cockroach/issues/167824) \ No newline at end of file +When restoring from [non-cluster backups]({% link {{ page.version.version }}/backup.md %}#back-up-a-database), `RESTORE` does not restore [zone configurations]({% link {{ page.version.version }}/configure-replication-zones.md %}) for restored objects. #167824 \ No newline at end of file diff --git a/src/current/_includes/v26.2/known-limitations/rls-update-set-where-returning.md b/src/current/_includes/v26.2/known-limitations/rls-update-set-where-returning.md index 450de11683e..e6f2b296ba4 100644 --- a/src/current/_includes/v26.2/known-limitations/rls-update-set-where-returning.md +++ b/src/current/_includes/v26.2/known-limitations/rls-update-set-where-returning.md @@ -1 +1 @@ -`UPDATE` statements whose `SET`, `WHERE`, or `RETURNING` clauses do not read existing column values can be mistakenly filtered by row-level security `SELECT` policies, causing the statement to affect no rows. [#145894](https://github.com/cockroachdb/cockroach/issues/145894) \ No newline at end of file +`UPDATE` statements whose `SET`, `WHERE`, or `RETURNING` clauses do not read existing column values can be mistakenly filtered by row-level security `SELECT` policies, causing the statement to affect no rows. #145894 \ No newline at end of file diff --git a/src/current/_includes/v26.2/known-limitations/rls-values-on-conflict-do-nothing.md b/src/current/_includes/v26.2/known-limitations/rls-values-on-conflict-do-nothing.md index c85dea7987a..d274e573dc9 100644 --- a/src/current/_includes/v26.2/known-limitations/rls-values-on-conflict-do-nothing.md +++ b/src/current/_includes/v26.2/known-limitations/rls-values-on-conflict-do-nothing.md @@ -1 +1 @@ -`ON CONFLICT ... DO NOTHING`: CockroachDB does not run the constraint and row-level policy checks on the `VALUES` clause if the candidate row has a conflict. [#35370](https://github.com/cockroachdb/cockroach/issues/35370). +`ON CONFLICT ... DO NOTHING`: CockroachDB does not run the constraint and row-level policy checks on the `VALUES` clause if the candidate row has a conflict. #35370. diff --git a/src/current/_includes/v26.2/known-limitations/routine-limitations.md b/src/current/_includes/v26.2/known-limitations/routine-limitations.md index 773322e2848..cc19d69e3d6 100644 --- a/src/current/_includes/v26.2/known-limitations/routine-limitations.md +++ b/src/current/_includes/v26.2/known-limitations/routine-limitations.md @@ -1,10 +1,10 @@ -- Routines cannot be invoked with named arguments, e.g., `SELECT foo(a => 1, b => 2);` or `SELECT foo(b := 1, a := 2);`. [#122264](https://github.com/cockroachdb/cockroach/issues/122264) -- Routines cannot be created if they reference temporary tables. [#121375](https://github.com/cockroachdb/cockroach/issues/121375) -- Routines cannot be created with unnamed `INOUT` parameters. For example, `CREATE PROCEDURE p(INOUT INT) AS $$ BEGIN NULL; END; $$ LANGUAGE PLpgSQL;`. [#121251](https://github.com/cockroachdb/cockroach/issues/121251) -- Routines cannot be created if they return fewer columns than declared. For example, `CREATE FUNCTION f(OUT sum INT, INOUT a INT, INOUT b INT) LANGUAGE SQL AS $$ SELECT (a + b, b); $$;`. [#121247](https://github.com/cockroachdb/cockroach/issues/121247) -- Routines cannot be created with an `OUT` parameter of type `RECORD`. [#123448](https://github.com/cockroachdb/cockroach/issues/123448) -- DDL statements (e.g., `CREATE TABLE`, `CREATE INDEX`) are not allowed within UDFs or stored procedures. [#110080](https://github.com/cockroachdb/cockroach/issues/110080) -- Polymorphic types cannot be cast to other types (e.g., `TEXT`) within routine parameters. [#123536](https://github.com/cockroachdb/cockroach/issues/123536) -- Routine parameters and return types cannot be declared using the `ANYENUM` polymorphic type, which is able to match any [`ENUM`]({% link {{ page.version.version }}/enum.md %}) type. [#123048](https://github.com/cockroachdb/cockroach/issues/123048) -- [Statement diagnostics]({% link {{ page.version.version }}/explain-analyze.md %}#debug-option) cannot be collected for statements executed inside UDFs or stored procedures. You can request statement diagnostics for the top-level invocation of the function or procedure, and the resulting trace includes spans for each statement executed. However, there is no way to target statements executed inside the function or procedure with a statement diagnostics request. [#159526](https://github.com/cockroachdb/cockroach/issues/159526) -- Statements within routines do not currently respect hint injections. The workaround is to modify the inline hints directly in the body by replacing the routine. [#162627](https://github.com/cockroachdb/cockroach/issues/162627) \ No newline at end of file +- Routines cannot be invoked with named arguments, e.g., `SELECT foo(a => 1, b => 2);` or `SELECT foo(b := 1, a := 2);`. #122264 +- Routines cannot be created if they reference temporary tables. #121375 +- Routines cannot be created with unnamed `INOUT` parameters. For example, `CREATE PROCEDURE p(INOUT INT) AS $$ BEGIN NULL; END; $$ LANGUAGE PLpgSQL;`. #121251 +- Routines cannot be created if they return fewer columns than declared. For example, `CREATE FUNCTION f(OUT sum INT, INOUT a INT, INOUT b INT) LANGUAGE SQL AS $$ SELECT (a + b, b); $$;`. #121247 +- Routines cannot be created with an `OUT` parameter of type `RECORD`. #123448 +- DDL statements (e.g., `CREATE TABLE`, `CREATE INDEX`) are not allowed within UDFs or stored procedures. #110080 +- Polymorphic types cannot be cast to other types (e.g., `TEXT`) within routine parameters. #123536 +- Routine parameters and return types cannot be declared using the `ANYENUM` polymorphic type, which is able to match any [`ENUM`]({% link {{ page.version.version }}/enum.md %}) type. #123048 +- [Statement diagnostics]({% link {{ page.version.version }}/explain-analyze.md %}#debug-option) cannot be collected for statements executed inside UDFs or stored procedures. You can request statement diagnostics for the top-level invocation of the function or procedure, and the resulting trace includes spans for each statement executed. However, there is no way to target statements executed inside the function or procedure with a statement diagnostics request. #159526 +- Statements within routines do not currently respect hint injections. The workaround is to modify the inline hints directly in the body by replacing the routine. #162627 \ No newline at end of file diff --git a/src/current/_includes/v26.2/known-limitations/row-level-ttl-limitations.md b/src/current/_includes/v26.2/known-limitations/row-level-ttl-limitations.md index c386ba576d7..4460901566d 100644 --- a/src/current/_includes/v26.2/known-limitations/row-level-ttl-limitations.md +++ b/src/current/_includes/v26.2/known-limitations/row-level-ttl-limitations.md @@ -1,5 +1,5 @@ - Any queries you run against tables with Row-Level TTL enabled (or against tables that have [foreign keys]({% link {{page.version.version}}/foreign-key.md %}) that reference TTL-enabled tables) do not filter out expired rows from the result set (this includes [`UPDATE`s]({% link {{ page.version.version }}/update.md %}) and [`DELETE`s]({% link {{ page.version.version }}/delete.md %})). This feature may be added in a future release. For now, follow the instructions in [Filter out expired rows from a selection query]({% link {{ page.version.version }}/row-level-ttl.md %}#filter-out-expired-rows-from-a-selection-query). -- Tables with Row-Level TTL can be referenced by [foreign keys]({% link {{page.version.version}}/foreign-key.md %}). TTL deletes are issued as regular [`DELETE`]({% link {{ page.version.version }}/delete.md %}) statements, so inbound foreign keys apply. If an inbound foreign key uses `ON DELETE RESTRICT` and referencing rows exist, the TTL job fails with a foreign key violation. [#101372](https://github.com/cockroachdb/cockroach/issues/101372) +- Tables with Row-Level TTL can be referenced by [foreign keys]({% link {{page.version.version}}/foreign-key.md %}). TTL deletes are issued as regular [`DELETE`]({% link {{ page.version.version }}/delete.md %}) statements, so inbound foreign keys apply. If an inbound foreign key uses `ON DELETE RESTRICT` and referencing rows exist, the TTL job fails with a foreign key violation. #101372 - Enabling Row-Level TTL on a table with multiple [secondary indexes]({% link {{ page.version.version }}/indexes.md %}) can have negative performance impacts on a cluster, including increased [latency]({% link {{ page.version.version }}/common-issues-to-monitor.md %}#service-latency) and [contention]({% link {{ page.version.version }}/performance-best-practices-overview.md %}#transaction-contention). This is particularly true for large tables with terabytes of data and billions of rows that are split up into multiple ranges across separate nodes. - Increased latency may occur because secondary indexes aren't necessarily stored on the same underlying [ranges]({% link {{ page.version.version }}/architecture/overview.md %}#architecture-range) as a table's [primary indexes]({% link {{ page.version.version }}/indexes.md %}). Further, the secondary indexes' ranges may have [leaseholders]({% link {{ page.version.version }}/architecture/overview.md %}#architecture-leaseholder) located on different nodes than the primary index. - Increased contention may occur because [intents]({% link {{ page.version.version }}/architecture/transaction-layer.md %}#write-intents) must be written as part of performing the deletions. diff --git a/src/current/_includes/v26.2/known-limitations/savepoint-limitations.md b/src/current/_includes/v26.2/known-limitations/savepoint-limitations.md index 58451f4ae28..1bc0bdd8d44 100644 --- a/src/current/_includes/v26.2/known-limitations/savepoint-limitations.md +++ b/src/current/_includes/v26.2/known-limitations/savepoint-limitations.md @@ -1 +1 @@ -- Transactions with [priority `HIGH`]({% link {{ page.version.version }}/transactions.md %}#transaction-priorities) that contain DDL and `ROLLBACK TO SAVEPOINT` are not supported, as they could result in a deadlock. [#46414](https://github.com/cockroachdb/cockroach/issues/46414) +- Transactions with [priority `HIGH`]({% link {{ page.version.version }}/transactions.md %}#transaction-priorities) that contain DDL and `ROLLBACK TO SAVEPOINT` are not supported, as they could result in a deadlock. #46414 diff --git a/src/current/_includes/v26.2/known-limitations/select-for-update-limitations.md b/src/current/_includes/v26.2/known-limitations/select-for-update-limitations.md index 9c4ab3fd4a1..89152e6fad0 100644 --- a/src/current/_includes/v26.2/known-limitations/select-for-update-limitations.md +++ b/src/current/_includes/v26.2/known-limitations/select-for-update-limitations.md @@ -1,8 +1,8 @@ -- `SKIP LOCKED` cannot be used for tables with multiple [column families]({% link {{ page.version.version }}/column-families.md %}). [#160961](https://github.com/cockroachdb/cockroach/issues/160961) +- `SKIP LOCKED` cannot be used for tables with multiple [column families]({% link {{ page.version.version }}/column-families.md %}). #160961 - By default under `SERIALIZABLE` isolation, locks acquired using `SELECT ... FOR UPDATE` and `SELECT ... FOR SHARE` are implemented as fast, in-memory [unreplicated locks](architecture/transaction-layer.html#unreplicated-locks). If a [lease transfer]({% link {{ page.version.version }}/architecture/replication-layer.md %}#leases) or [range split/merge]({% link {{ page.version.version }}/architecture/distribution-layer.md %}#range-merges) occurs on a range held by an unreplicated lock, the lock is dropped. The following behaviors can occur: - 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`]({% link {{ page.version.version }}/transaction-retry-error-reference.md %}) and the [`restart transaction` error message]({% link {{ page.version.version }}/common-errors.md %}#restart-transaction). When running under `SERIALIZABLE` isolation, `SELECT ... FOR UPDATE` and `SELECT ... FOR SHARE` locks should be thought of as best-effort, and should not be relied upon for correctness. Note that [serialization]({% link {{ page.version.version }}/demo-serializable.md %}) is preserved despite this limitation. This limitation is fixed when the `enable_durable_locking_for_serializable` [session setting]({% link {{ page.version.version }}/session-variables.md %}#enable-durable-locking-for-serializable) is set to `true`. This limitation does **not** apply to [`READ COMMITTED`]({% link {{ page.version.version }}/read-committed.md %}) transactions. - 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`. [#114737](https://github.com/cockroachdb/cockroachdb/issues/114737) -- `SELECT FOR UPDATE` does not lock completely-`NULL` column families in multi-column-family tables. [#116836](https://github.com/cockroachdb/cockroach/issues/116836) \ No newline at end of file +- `SELECT FOR UPDATE` does not lock completely-`NULL` column families in multi-column-family tables. #116836 \ No newline at end of file diff --git a/src/current/_includes/v26.2/known-limitations/set-transaction-no-rollback.md b/src/current/_includes/v26.2/known-limitations/set-transaction-no-rollback.md index 4f4e5af2aab..966dcd82d48 100644 --- a/src/current/_includes/v26.2/known-limitations/set-transaction-no-rollback.md +++ b/src/current/_includes/v26.2/known-limitations/set-transaction-no-rollback.md @@ -30,4 +30,4 @@ UTC ~~~ - [#69396](https://github.com/cockroachdb/cockroach/issues/69396), [#148766](https://github.com/cockroachdb/cockroach/issues/148766) \ No newline at end of file + #69396, #148766 \ No newline at end of file diff --git a/src/current/_includes/v26.2/known-limitations/show-backup-symlink.md b/src/current/_includes/v26.2/known-limitations/show-backup-symlink.md index 38ba86fb28f..1c7a5612242 100644 --- a/src/current/_includes/v26.2/known-limitations/show-backup-symlink.md +++ b/src/current/_includes/v26.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. [#70260](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. #70260 \ No newline at end of file diff --git a/src/current/_includes/v26.2/known-limitations/spatial-limitations.md b/src/current/_includes/v26.2/known-limitations/spatial-limitations.md index 5bc25717912..2fe9152f2cd 100644 --- a/src/current/_includes/v26.2/known-limitations/spatial-limitations.md +++ b/src/current/_includes/v26.2/known-limitations/spatial-limitations.md @@ -1,10 +1,10 @@ -- Not all [PostGIS spatial functions](https://postgis.net/docs/reference.html) are supported. [#49203](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. [#49402](https://github.com/cockroachdb/cockroach/issues/49402) -- The `AddGeometryColumn` spatial function only allows the `true` value for its `use_typmod` parameter. [#49448](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`. [#56124](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). [#55903](https://github.com/cockroachdb/cockroach/issues/55903) -- CockroachDB does not yet support [k-nearest neighbors](https://wikipedia.org/wiki/K-nearest_neighbors_algorithm). [#55227](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)`). [#56492](https://github.com/cockroachdb/cockroach/issues/56492) +- Not all [PostGIS spatial functions](https://postgis.net/docs/reference.html) are supported. #49203 +- The `AddGeometryColumn` [spatial function]({% link {{ page.version.version }}/functions-and-operators.md %}#spatial-functions) only allows constant arguments. #49402 +- The `AddGeometryColumn` spatial function only allows the `true` value for its `use_typmod` parameter. #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`. #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). #55903 +- CockroachDB does not yet support [k-nearest neighbors](https://wikipedia.org/wiki/K-nearest_neighbors_algorithm). #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)`). #56492 - {% include {{ page.version.version }}/known-limitations/srid-4326-limitations.md %} - {% include {{ page.version.version }}/known-limitations/geospatial-heterogeneous-architectures.md %} -- [Spatial features]({% link {{ page.version.version }}/spatial-data-overview.md %}) are disabled on ARM Macs 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. [#93161](https://github.com/cockroachdb/cockroach/issues/93161) \ No newline at end of file +- [Spatial features]({% link {{ page.version.version }}/spatial-data-overview.md %}) are disabled on ARM Macs 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. #93161 \ No newline at end of file diff --git a/src/current/_includes/v26.2/known-limitations/sql-cursors.md b/src/current/_includes/v26.2/known-limitations/sql-cursors.md index a3e42b9a3ec..d0ce2b3c3af 100644 --- a/src/current/_includes/v26.2/known-limitations/sql-cursors.md +++ b/src/current/_includes/v26.2/known-limitations/sql-cursors.md @@ -1,8 +1,8 @@ CockroachDB implements SQL [cursor]({% link {{ page.version.version }}/cursors.md %}) support with the following limitations: -- `DECLARE` only supports forward cursors. Reverse cursors created with `DECLARE SCROLL` are not supported. [#77102](https://github.com/cockroachdb/cockroach/issues/77102) -- `FETCH` supports forward, relative, and absolute variants, but only for forward cursors. [#77102](https://github.com/cockroachdb/cockroach/issues/77102) -- `BINARY CURSOR`, which returns data in the Postgres binary format, is not supported. [#77099](https://github.com/cockroachdb/cockroach/issues/77099) -- Scrollable cursor (also known as reverse `FETCH`) is not supported. [#77102](https://github.com/cockroachdb/cockroach/issues/77102) -- [`SELECT ... FOR UPDATE`]({% link {{ page.version.version }}/select-for-update.md %}) with a cursor is not supported. [#77103](https://github.com/cockroachdb/cockroach/issues/77103) -- Respect for [`SAVEPOINT`s]({% link {{ page.version.version }}/savepoint.md %}) is not supported. Cursor definitions do not disappear properly if rolled back to a `SAVEPOINT` from before they were created. [#77104](https://github.com/cockroachdb/cockroach/issues/77104) +- `DECLARE` only supports forward cursors. Reverse cursors created with `DECLARE SCROLL` are not supported. #77102 +- `FETCH` supports forward, relative, and absolute variants, but only for forward cursors. #77102 +- `BINARY CURSOR`, which returns data in the Postgres binary format, is not supported. #77099 +- Scrollable cursor (also known as reverse `FETCH`) is not supported. #77102 +- [`SELECT ... FOR UPDATE`]({% link {{ page.version.version }}/select-for-update.md %}) with a cursor is not supported. #77103 +- Respect for [`SAVEPOINT`s]({% link {{ page.version.version }}/savepoint.md %}) is not supported. Cursor definitions do not disappear properly if rolled back to a `SAVEPOINT` from before they were created. #77104 diff --git a/src/current/_includes/v26.2/known-limitations/sql-guardrails-limitations.md b/src/current/_includes/v26.2/known-limitations/sql-guardrails-limitations.md index 6d8d60ac614..02ebf98bcd7 100644 --- a/src/current/_includes/v26.2/known-limitations/sql-guardrails-limitations.md +++ b/src/current/_includes/v26.2/known-limitations/sql-guardrails-limitations.md @@ -1,2 +1,2 @@ -- 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. [#70473](https://github.com/cockroachdb/cockroach/issues/70473) -- 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. [#69540](https://github.com/cockroachdb/cockroach/issues/69540) +- 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. #70473 +- 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. #69540 diff --git a/src/current/_includes/v26.2/known-limitations/srid-4326-limitations.md b/src/current/_includes/v26.2/known-limitations/srid-4326-limitations.md index b556a9fbecd..294a1a53bd4 100644 --- a/src/current/_includes/v26.2/known-limitations/srid-4326-limitations.md +++ b/src/current/_includes/v26.2/known-limitations/srid-4326-limitations.md @@ -1 +1 @@ -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. [#55903](https://github.com/cockroachdb/cockroach/issues/55903) \ No newline at end of file +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. #55903 \ No newline at end of file diff --git a/src/current/_includes/v26.2/known-limitations/statement-hints-limitations.md b/src/current/_includes/v26.2/known-limitations/statement-hints-limitations.md index 45788512c41..1ada3101f4f 100644 --- a/src/current/_includes/v26.2/known-limitations/statement-hints-limitations.md +++ b/src/current/_includes/v26.2/known-limitations/statement-hints-limitations.md @@ -1,2 +1,2 @@ -- [Statement hints]({% link {{ page.version.version }}/cost-based-optimizer.md %}#statement-hints) do not apply to statements within views. The workaround for `REWRITE INLINE HINTS` is to modify the inline hints directly in the body by replacing the view. There is no workaround for `SET VARIABLE` hints. [#166782](https://github.com/cockroachdb/cockroach/issues/166782) -- [Statement hints]({% link {{ page.version.version }}/cost-based-optimizer.md %}#statement-hints) do not apply to statements within routines. The workaround for `REWRITE INLINE HINTS` is to modify the inline hints directly in the body by replacing the routine. There is no workaround for `SET VARIABLE` hints. [#162627](https://github.com/cockroachdb/cockroach/issues/162627) \ No newline at end of file +- [Statement hints]({% link {{ page.version.version }}/cost-based-optimizer.md %}#statement-hints) do not apply to statements within views. The workaround for `REWRITE INLINE HINTS` is to modify the inline hints directly in the body by replacing the view. There is no workaround for `SET VARIABLE` hints. #166782 +- [Statement hints]({% link {{ page.version.version }}/cost-based-optimizer.md %}#statement-hints) do not apply to statements within routines. The workaround for `REWRITE INLINE HINTS` is to modify the inline hints directly in the body by replacing the routine. There is no workaround for `SET VARIABLE` hints. #162627 \ No newline at end of file diff --git a/src/current/_includes/v26.2/known-limitations/stats-refresh-upgrade.md b/src/current/_includes/v26.2/known-limitations/stats-refresh-upgrade.md index 3d5a8d26325..3325dfaa53b 100644 --- a/src/current/_includes/v26.2/known-limitations/stats-refresh-upgrade.md +++ b/src/current/_includes/v26.2/known-limitations/stats-refresh-upgrade.md @@ -1 +1 @@ -- The [automatic statistics refresher]({% link {{ page.version.version }}/cost-based-optimizer.md %}#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]({% link {{ page.version.version }}/upgrade-cockroach-version.md %}). This could cause a problem, for example, if the upgrade moves from a version without [histograms]({% link {{ page.version.version }}/cost-based-optimizer.md %}#control-histogram-collection) to a version with histograms. To refresh statistics manually, use [`CREATE STATISTICS`](create-statistics.html). [#54816](https://github.com/cockroachdb/cockroach/issues/54816) +- The [automatic statistics refresher]({% link {{ page.version.version }}/cost-based-optimizer.md %}#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]({% link {{ page.version.version }}/upgrade-cockroach-version.md %}). This could cause a problem, for example, if the upgrade moves from a version without [histograms]({% link {{ page.version.version }}/cost-based-optimizer.md %}#control-histogram-collection) to a version with histograms. To refresh statistics manually, use [`CREATE STATISTICS`](create-statistics.html). #54816 diff --git a/src/current/_includes/v26.2/known-limitations/stored-proc-limitations.md b/src/current/_includes/v26.2/known-limitations/stored-proc-limitations.md index b2aae6069c2..74f4d86dfb3 100644 --- a/src/current/_includes/v26.2/known-limitations/stored-proc-limitations.md +++ b/src/current/_includes/v26.2/known-limitations/stored-proc-limitations.md @@ -1,2 +1,2 @@ -- Pausable portals are not supported with `CALL` statements for stored procedures. [#151529](https://github.com/cockroachdb/cockroach/issues/151529) -- `COMMIT` and `ROLLBACK` statements are not supported within nested procedures. [#122266](https://github.com/cockroachdb/cockroach/issues/122266) \ No newline at end of file +- Pausable portals are not supported with `CALL` statements for stored procedures. #151529 +- `COMMIT` and `ROLLBACK` statements are not supported within nested procedures. #122266 \ No newline at end of file diff --git a/src/current/_includes/v26.2/known-limitations/subquery-mutations-limitations.md b/src/current/_includes/v26.2/known-limitations/subquery-mutations-limitations.md index 771eba80bc6..d4deeaee17c 100644 --- a/src/current/_includes/v26.2/known-limitations/subquery-mutations-limitations.md +++ b/src/current/_includes/v26.2/known-limitations/subquery-mutations-limitations.md @@ -2,4 +2,4 @@ - Set the `sql.multiple_modifications_of_table.enabled` [cluster setting]({% link {{ page.version.version }}/cluster-settings.md %}) to `true`. - Use the `enable_multiple_modifications_of_table` [session variable]({% link {{ page.version.version }}/set-vars.md %}). - 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. [#70731](https://github.com/cockroachdb/cockroach/issues/70731) + 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. #70731 diff --git a/src/current/_includes/v26.2/known-limitations/transaction-row-count-limitations.md b/src/current/_includes/v26.2/known-limitations/transaction-row-count-limitations.md index ded62d6d9be..a54f15d61a7 100644 --- a/src/current/_includes/v26.2/known-limitations/transaction-row-count-limitations.md +++ b/src/current/_includes/v26.2/known-limitations/transaction-row-count-limitations.md @@ -1 +1 @@ -- 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. [#70473](https://github.com/cockroachdb/cockroach/issues/70473) +- 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. #70473 diff --git a/src/current/_includes/v26.2/known-limitations/trigger-limitations.md b/src/current/_includes/v26.2/known-limitations/trigger-limitations.md index 9e323abfe9c..dd8b9c74f76 100644 --- a/src/current/_includes/v26.2/known-limitations/trigger-limitations.md +++ b/src/current/_includes/v26.2/known-limitations/trigger-limitations.md @@ -1,6 +1,6 @@ -- Statement-level triggers are not supported. [#126362](https://github.com/cockroachdb/cockroach/issues/126362) -- `INSTEAD OF` triggers are not supported. [#126363](https://github.com/cockroachdb/cockroach/issues/126363) -- Hidden columns are not visible to triggers. [#133331](https://github.com/cockroachdb/cockroach/issues/133331) -- The `REFERENCING` clause for `CREATE TRIGGER` is not supported. [#135655](https://github.com/cockroachdb/cockroach/issues/135655) -- `UPDATE` triggers with a column list (using `UPDATE OF column_name` syntax) are not supported. [#135656](https://github.com/cockroachdb/cockroach/issues/135656) -- Statement-level triggers for `TRUNCATE` events are not supported. [#135657](https://github.com/cockroachdb/cockroach/issues/135657) +- Statement-level triggers are not supported. #126362 +- `INSTEAD OF` triggers are not supported. #126363 +- Hidden columns are not visible to triggers. #133331 +- The `REFERENCING` clause for `CREATE TRIGGER` is not supported. #135655 +- `UPDATE` triggers with a column list (using `UPDATE OF column_name` syntax) are not supported. #135656 +- Statement-level triggers for `TRUNCATE` events are not supported. #135657 diff --git a/src/current/_includes/v26.2/known-limitations/trigram-unsupported-syntax.md b/src/current/_includes/v26.2/known-limitations/trigram-unsupported-syntax.md index 494730c7ae8..a981c4915b0 100644 --- a/src/current/_includes/v26.2/known-limitations/trigram-unsupported-syntax.md +++ b/src/current/_includes/v26.2/known-limitations/trigram-unsupported-syntax.md @@ -6,4 +6,4 @@ - Acceleration on [regex string matching]({% link {{ page.version.version }}/scalar-expressions.md %}#string-matching-using-posix-regular-expressions). - `%` comparisons, `show_trgm`, and trigram index creation on [collated strings]({% link {{ page.version.version }}/collate.md %}). -[#41285](https://github.com/cockroachdb/cockroach/issues/41285) \ No newline at end of file +#41285 \ No newline at end of file diff --git a/src/current/_includes/v26.2/known-limitations/udf-limitations.md b/src/current/_includes/v26.2/known-limitations/udf-limitations.md index 0f44ac320f5..c212736717b 100644 --- a/src/current/_includes/v26.2/known-limitations/udf-limitations.md +++ b/src/current/_includes/v26.2/known-limitations/udf-limitations.md @@ -1,9 +1,9 @@ -- User-defined functions are not supported in partial index predicates. [#155488](https://github.com/cockroachdb/cockroach/issues/155488) -- Views cannot reference a UDF that contains mutation statements (`INSERT`, `UPDATE`, `UPSERT`, `DELETE`). [#151686](https://github.com/cockroachdb/cockroach/issues/151686) -- A `RECORD`-returning UDF cannot be created without a `RETURN` statement in the root block, which would restrict the wildcard type to a concrete one. [#122945](https://github.com/cockroachdb/cockroach/issues/122945) +- User-defined functions are not supported in partial index predicates. #155488 +- Views cannot reference a UDF that contains mutation statements (`INSERT`, `UPDATE`, `UPSERT`, `DELETE`). #151686 +- A `RECORD`-returning UDF cannot be created without a `RETURN` statement in the root block, which would restrict the wildcard type to a concrete one. #122945 - User-defined functions are not currently supported in: - - Expressions (column, index, constraint) in tables. [#87699](https://github.com/cockroachdb/cockroach/issues/87699) - - Partial index predicates. [#155488](https://github.com/cockroachdb/cockroach/issues/155488) -- User-defined functions cannot call themselves recursively. [#93049](https://github.com/cockroachdb/cockroach/issues/93049) -- The `setval` function cannot be resolved when used inside UDF bodies. [#110860](https://github.com/cockroachdb/cockroach/issues/110860) -- Casting subqueries to [user-defined types]({% link {{ page.version.version }}/create-type.md %}) in UDFs is not supported. [#108184](https://github.com/cockroachdb/cockroach/issues/108184) \ No newline at end of file + - Expressions (column, index, constraint) in tables. #87699 + - Partial index predicates. #155488 +- User-defined functions cannot call themselves recursively. #93049 +- The `setval` function cannot be resolved when used inside UDF bodies. #110860 +- Casting subqueries to [user-defined types]({% link {{ page.version.version }}/create-type.md %}) in UDFs is not supported. #108184 \ No newline at end of file diff --git a/src/current/_includes/v26.2/known-limitations/vector-limitations.md b/src/current/_includes/v26.2/known-limitations/vector-limitations.md index 97ed7c47599..053087efe7e 100644 --- a/src/current/_includes/v26.2/known-limitations/vector-limitations.md +++ b/src/current/_includes/v26.2/known-limitations/vector-limitations.md @@ -1,5 +1,5 @@ - {% include {{ page.version.version }}/sql/vector-batch-inserts.md %} -- `IMPORT INTO` is not supported on tables with vector indexes. You can import the vectors first and create the index after import is complete. [#145227](https://github.com/cockroachdb/cockroach/issues/145227) -- The distance functions `vector_l1_ops`, `bit_hamming_ops`, and `bit_jaccard_ops` are not implemented. [#147839](https://github.com/cockroachdb/cockroach/issues/147839) -- Index acceleration with filters is only supported if the filters match prefix columns. [#146145](https://github.com/cockroachdb/cockroach/issues/146145) -- Index recommendations are not provided for vector indexes. [#146146](https://github.com/cockroachdb/cockroach/issues/146146) \ No newline at end of file +- `IMPORT INTO` is not supported on tables with vector indexes. You can import the vectors first and create the index after import is complete. #145227 +- The distance functions `vector_l1_ops`, `bit_hamming_ops`, and `bit_jaccard_ops` are not implemented. #147839 +- Index acceleration with filters is only supported if the filters match prefix columns. #146145 +- Index recommendations are not provided for vector indexes. #146146 \ No newline at end of file diff --git a/src/current/_includes/v26.2/known-limitations/vectorized-engine-limitations.md b/src/current/_includes/v26.2/known-limitations/vectorized-engine-limitations.md index 111226546cf..250e4b5ee28 100644 --- a/src/current/_includes/v26.2/known-limitations/vectorized-engine-limitations.md +++ b/src/current/_includes/v26.2/known-limitations/vectorized-engine-limitations.md @@ -1,2 +1,2 @@ -- The vectorized engine does not support queries containing a join filtered with an [`ON` expression]({% link {{ page.version.version }}/joins.md %}#supported-join-conditions). [#38018](https://github.com/cockroachdb/cockroach/issues/38018) +- The vectorized engine does not support queries containing a join filtered with an [`ON` expression]({% link {{ page.version.version }}/joins.md %}#supported-join-conditions). #38018 - The vectorized engine does not support [working with spatial data]({% link {{ page.version.version }}/query-spatial-data.md %}). Queries with [geospatial functions]({% link {{ page.version.version }}/functions-and-operators.md %}#spatial-functions) or [spatial data]({% link {{ page.version.version }}/query-spatial-data.md %}) will revert to the row-oriented execution engine. diff --git a/src/current/_includes/v26.2/known-limitations/view-limitations.md b/src/current/_includes/v26.2/known-limitations/view-limitations.md index 946f885d25a..e7c77feb0a5 100644 --- a/src/current/_includes/v26.2/known-limitations/view-limitations.md +++ b/src/current/_includes/v26.2/known-limitations/view-limitations.md @@ -1,2 +1,2 @@ -- Casting subqueries to [user-defined types]({% link {{ page.version.version }}/create-type.md %}) (including ENUMs) in views is not supported. [#108184](https://github.com/cockroachdb/cockroach/issues/108184) -- Statements within views do not currently respect hint injections. The workaround is to modify the inline hints directly in the body by replacing the view. [#166782](https://github.com/cockroachdb/cockroach/issues/166782) \ No newline at end of file +- Casting subqueries to [user-defined types]({% link {{ page.version.version }}/create-type.md %}) (including ENUMs) in views is not supported. #108184 +- Statements within views do not currently respect hint injections. The workaround is to modify the inline hints directly in the body by replacing the view. #166782 \ No newline at end of file diff --git a/src/current/v23.1/known-limitations.md b/src/current/v23.1/known-limitations.md index 61251abbb9a..1754b8fc34a 100644 --- a/src/current/v23.1/known-limitations.md +++ b/src/current/v23.1/known-limitations.md @@ -14,31 +14,31 @@ 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) + Tracking GitHub issue - [`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) + Tracking GitHub issue ### 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) + Tracking GitHub issue - 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) + Tracking GitHub issue ### 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) + Tracking GitHub issue - [`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) + Tracking GitHub issue ### Limitations for composite types @@ -50,31 +50,31 @@ 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) +Tracking GitHub issue ### 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) +Tracking GitHub issue ### `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) +Tracking GitHub issue ### `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) +Tracking GitHub issue ### 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) +Tracking GitHub issue ### No guaranteed state switch from `DECOMMISSIONING` to `DECOMMISSIONED` if `node decommission` is interrupted @@ -85,7 +85,7 @@ 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) +Tracking GitHub issue ### Execution locality in changefeeds @@ -101,15 +101,15 @@ 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) + Tracking GitHub issue - Views. - [Tracking GitHub issue](https://github.com/cockroachdb/cockroach/issues/87699) + Tracking GitHub issue - Other user-defined functions. - [Tracking GitHub issue](https://github.com/cockroachdb/cockroach/issues/93049) + Tracking GitHub issue #### Limitations on expressions allowed within UDFs @@ -117,15 +117,15 @@ The following are not currently allowed within the body of a [UDF]({% link {{ pa - Mutation statements such as `INSERT`, `UPDATE`, `DELETE`, and `UPSERT`. - [Tracking GitHub issue](https://github.com/cockroachdb/cockroach/issues/87289) + Tracking GitHub issue - Common table expressions (CTEs). - [Tracking GitHub issue](https://github.com/cockroachdb/cockroach/issues/92961) + Tracking GitHub issue - References to other user-defined functions. - [Tracking GitHub issue](https://github.com/cockroachdb/cockroach/issues/93049) + Tracking GitHub issue ### Table-level restore will not restore user-defined functions @@ -135,7 +135,7 @@ 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) +Tracking GitHub issue ### Limitations for `DROP OWNED BY` @@ -149,7 +149,7 @@ 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) +GitHub tracking issue ### Limited SQL cursor support @@ -165,13 +165,13 @@ 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) +Tracking GitHub Issue ### 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) +Tracking GitHub Issue ### Statements containing multiple modification subqueries of the same table are disallowed @@ -182,25 +182,25 @@ 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) +Tracking GitHub Issue ### `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) +Tracking GitHub Issue ### `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) +Tracking GitHub Issue ### 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) +Tracking GitHub Issue ### CockroachDB does not properly optimize some left and anti joins with GIN indexes @@ -351,7 +351,7 @@ 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) +Tracking GitHub Issue ### Using `RESTORE` with multi-region table localities @@ -359,7 +359,7 @@ UNION ALL SELECT * FROM t1 LEFT JOIN t2 ON st_contains(t1.geom, t2.geom) AND t2. - {% include {{ page.version.version }}/known-limitations/restore-multiregion-match.md %} -[Tracking GitHub Issue](https://github.com/cockroachdb/cockroach/issues/71071) +Tracking GitHub Issue ### `SET` does not `ROLLBACK` in a transaction @@ -395,8 +395,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. Tracking GitHub issue +- 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 ### Differences in syntax and behavior between CockroachDB and PostgreSQL @@ -408,7 +408,7 @@ 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) +Tracking GitHub Issue ### Spatial support limitations @@ -416,41 +416,41 @@ CockroachDB supports efficiently storing and querying [spatial data]({% link {{ - Not all [PostGIS spatial functions](https://postgis.net/docs/reference.html) are supported. - [Tracking GitHub Issue](https://github.com/cockroachdb/cockroach/issues/49203) + Tracking GitHub Issue - 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) + Tracking GitHub Issue - The `AddGeometryColumn` spatial function only allows the `true` value for its `use_typmod` parameter. - [Tracking GitHub Issue](https://github.com/cockroachdb/cockroach/issues/49448) + Tracking GitHub Issue - 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) + Tracking GitHub Issue - 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) + Tracking GitHub Issue - 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) + Tracking GitHub Issue - CockroachDB does not yet support Curve, MultiCurve, or CircularString spatial shapes. - [Tracking GitHub Issue](https://github.com/cockroachdb/cockroach/issues/56199) + Tracking GitHub Issue - 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) + Tracking GitHub Issue - 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) + Tracking GitHub Issue ### Enterprise `BACKUP` does not capture database/table/column comments @@ -458,7 +458,7 @@ 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) +Tracking GitHub Issue ### `SHOW BACKUP` does not support symlinks for nodelocal @@ -474,21 +474,21 @@ 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) +Tracking GitHub Issue ### 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 -[Tracking GitHub Issue](https://github.com/cockroachdb/cockroach/issues/35706) +Tracking GitHub Issue ### 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) +Tracking GitHub Issue ### Using `default_int_size` session variable in batch of statements @@ -496,7 +496,7 @@ When setting the `default_int_size` [session variable]({% link {{ page.version.v 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) +Tracking GitHub Issue ### `COPY` syntax not supported by CockroachDB @@ -510,7 +510,7 @@ 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) +Tracking GitHub Issue ### Dropping a single partition @@ -545,7 +545,7 @@ ERROR: nextval(): unimplemented: cannot evaluate scalar expressions containing s SQLSTATE: 0A000 ~~~ -[Tracking GitHub Issue](https://github.com/cockroachdb/cockroach/issues/42508) +Tracking GitHub Issue ### Available capacity metric in the DB Console @@ -621,7 +621,7 @@ 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) +Tracking GitHub Issue ### Max size of a single column family @@ -653,10 +653,10 @@ Transactions with [priority `HIGH`]({% link {{ page.version.version }}/transacti ERROR: unimplemented: cannot use ROLLBACK TO SAVEPOINT in a HIGH PRIORITY transaction containing DDL SQLSTATE: 0A000 HINT: You have attempted to use a feature that is not yet implemented. -See: https://github.com/cockroachdb/cockroach/issues/46414 +See: cockroach#46414 ~~~ -[Tracking GitHub Issue](https://github.com/cockroachdb/cockroach/issues/46414) +Tracking GitHub Issue ### CockroachDB does not test for all connection failure scenarios @@ -668,7 +668,7 @@ 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) +Tracking GitHub Issue ### Some column-dropping schema changes do not roll back properly @@ -676,11 +676,11 @@ Some [schema changes]({% link {{ page.version.version }}/online-schema-changes.m 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) +Tracking GitHub Issue 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) +Tracking GitHub Issue To reduce the chance that a column drop will roll back incorrectly: diff --git a/src/current/v23.2/known-limitations.md b/src/current/v23.2/known-limitations.md index 24c971f0da0..2289670ca35 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. Tracking GitHub issue +- PL/pgSQL arguments cannot be referenced with ordinals (e.g., `$1`, `$2`). Tracking GitHub issue +- `FOR` loops, including `FOR` cursor loops, `FOR` query loops, and `FOREACH` loops, are not supported. Tracking GitHub issue +- `RETURN NEXT` and `RETURN QUERY` statements are not supported. Tracking GitHub issue +- `EXIT` and `CONTINUE` labels and conditions are not supported. Tracking GitHub issue +- `CASE` statements are not supported. Tracking GitHub issue +- `PERFORM`, `EXECUTE`, `GET DIAGNOSTICS`, and `NULL` statements are not supported for PL/pgSQL. Tracking GitHub issue #### 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. Tracking GitHub issue +- Variable shadowing (e.g., declaring a variable with the same name in an inner block) is not supported in PL/pgSQL. Tracking GitHub issue +- Syntax for accessing members of composite types without parentheses is not supported. Tracking GitHub issue +- The `STRICT` option for the PL/pgSQL `INTO` statement is not supported. Tracking GitHub issue +- `NOT NULL` variable declarations are not supported. Tracking GitHub issue #### 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. Tracking GitHub issue +- `OPEN FOR EXECUTE` is not supported for opening cursors. Tracking GitHub issue #### 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 %}). Tracking GitHub issue +- `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 +- `RAISE` statements message the client directly, and do not produce log output. Tracking GitHub issue +- `ASSERT` debugging checks are not supported. Tracking GitHub issue ### 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. Tracking GitHub issue +- UDFs and stored procedures cannot call other UDFs or stored procedures from within their bodies. Tracking GitHub issue +- DDL statements (e.g., `CREATE TABLE`, `CREATE INDEX`) are not allowed within UDFs or procedures. Tracking GitHub issue +- UDF and stored procedure definitions do not support `OUT` and `INOUT` argument modes. Tracking GitHub issue +- The `setval` function cannot be resolved when used inside UDF bodies. Tracking GitHub issue ### 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`. Tracking GitHub issue + - `SELECT FOR UPDATE` does not lock completely-`NULL` column families in multi-column-family tables. Tracking GitHub issue #### 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`. Tracking GitHub issue - `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. Tracking GitHub issue + - [`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 + - Multi-column-family checks during updates are not supported under `READ COMMITTED` isolation. Tracking GitHub issue ### `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. Tracking GitHub issue ### Physical cluster replication @@ -90,15 +90,15 @@ 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) + Tracking GitHub issue - Views. - [Tracking GitHub issue](https://github.com/cockroachdb/cockroach/issues/87699) + Tracking GitHub issue - Other user-defined functions. - [Tracking GitHub issue](https://github.com/cockroachdb/cockroach/issues/93049) + Tracking GitHub issue #### Limitations on expressions allowed within UDFs @@ -106,11 +106,11 @@ The following are not currently allowed within the body of a [UDF]({% link {{ pa - [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) + Tracking GitHub issue - References to other user-defined functions. - [Tracking GitHub issue](https://github.com/cockroachdb/cockroach/issues/93049) + Tracking GitHub issue ### Table-level restore will not restore user-defined functions @@ -120,13 +120,13 @@ 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) +Tracking GitHub issue ### `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) +Tracking GitHub issue ### Limitations for `DROP OWNED BY` @@ -140,7 +140,7 @@ 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) +GitHub tracking issue ### Limited SQL cursor support @@ -156,7 +156,7 @@ 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) +Tracking GitHub Issue ### Statements containing multiple modification subqueries of the same table are disallowed @@ -167,31 +167,31 @@ 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) +Tracking GitHub Issue ### `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) +Tracking GitHub Issue ### `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) +Tracking GitHub Issue ### 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) +Tracking GitHub Issue ### `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) +Tracking GitHub issue ### CockroachDB does not properly optimize some left and anti joins with GIN indexes @@ -342,13 +342,13 @@ 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) +Tracking GitHub Issue ### 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) +Tracking GitHub issue ### Using `RESTORE` with multi-region table localities @@ -356,7 +356,7 @@ CockroachDB cannot index-accelerate queries with `@@` predicates when both sides - {% include {{ page.version.version }}/known-limitations/restore-multiregion-match.md %} -[Tracking GitHub Issue](https://github.com/cockroachdb/cockroach/issues/71071) +Tracking GitHub Issue ### `SET` does not `ROLLBACK` in a transaction @@ -392,7 +392,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 %}). Tracking GitHub issue ### Differences in syntax and behavior between CockroachDB and PostgreSQL @@ -404,7 +404,7 @@ 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) +Tracking GitHub Issue ### Spatial support limitations @@ -412,33 +412,33 @@ CockroachDB supports efficiently storing and querying [spatial data]({% link {{ - Not all [PostGIS spatial functions](https://postgis.net/docs/reference.html) are supported. - [Tracking GitHub Issue](https://github.com/cockroachdb/cockroach/issues/49203) + Tracking GitHub Issue - 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) + Tracking GitHub Issue - The `AddGeometryColumn` spatial function only allows the `true` value for its `use_typmod` parameter. - [Tracking GitHub Issue](https://github.com/cockroachdb/cockroach/issues/49448) + Tracking GitHub Issue - 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) + Tracking GitHub Issue - 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) + Tracking GitHub Issue - 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) + Tracking GitHub Issue - 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) + Tracking GitHub Issue ### Limitations for composite types @@ -446,7 +446,7 @@ CockroachDB supports efficiently storing and querying [spatial data]({% link {{ - {% 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. Tracking GitHub issue ### Enterprise `BACKUP` does not capture database/table/column comments @@ -454,7 +454,7 @@ 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) +Tracking GitHub Issue ### `SHOW BACKUP` does not support symlinks for nodelocal @@ -468,15 +468,15 @@ 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 -[Tracking GitHub Issue](https://github.com/cockroachdb/cockroach/issues/35706) +Tracking GitHub Issue ### 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) +Tracking GitHub Issue ### Using `default_int_size` session variable in batch of statements @@ -484,7 +484,7 @@ When setting the `default_int_size` [session variable]({% link {{ page.version.v 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) +Tracking GitHub Issue ### `COPY` syntax not supported by CockroachDB @@ -498,7 +498,7 @@ 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) +Tracking GitHub Issue ### Dropping a single partition @@ -533,7 +533,7 @@ ERROR: nextval(): unimplemented: cannot evaluate scalar expressions containing s SQLSTATE: 0A000 ~~~ -[Tracking GitHub Issue](https://github.com/cockroachdb/cockroach/issues/42508) +Tracking GitHub Issue ### Available capacity metric in the DB Console @@ -609,7 +609,7 @@ 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) +Tracking GitHub Issue ### Max size of a single column family @@ -641,10 +641,10 @@ Transactions with [priority `HIGH`]({% link {{ page.version.version }}/transacti ERROR: unimplemented: cannot use ROLLBACK TO SAVEPOINT in a HIGH PRIORITY transaction containing DDL SQLSTATE: 0A000 HINT: You have attempted to use a feature that is not yet implemented. -See: https://github.com/cockroachdb/cockroach/issues/46414 +See: cockroach#46414 ~~~ -[Tracking GitHub Issue](https://github.com/cockroachdb/cockroach/issues/46414) +Tracking GitHub Issue ### CockroachDB does not test for all connection failure scenarios @@ -656,7 +656,7 @@ 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) +Tracking GitHub Issue ### Some column-dropping schema changes do not roll back properly @@ -664,11 +664,11 @@ Some [schema changes]({% link {{ page.version.version }}/online-schema-changes.m 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) +Tracking GitHub Issue 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) +Tracking GitHub Issue To reduce the chance that a column drop will roll back incorrectly: @@ -689,7 +689,7 @@ 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) +Tracking GitHub issue ### Remove a `UNIQUE` index created as part of `CREATE TABLE` diff --git a/src/current/v24.1/known-limitations.md b/src/current/v24.1/known-limitations.md index c42ebef7e9a..af0e4a843da 100644 --- a/src/current/v24.1/known-limitations.md +++ b/src/current/v24.1/known-limitations.md @@ -20,16 +20,16 @@ Limitations will be added as they are discovered. ### PL/pgSQL -- It is not possible to use a variable as a target more than once in the same `INTO` clause. For example, `SELECT 1, 2 INTO x, x;`. [#121605](https://github.com/cockroachdb/cockroach/issues/121605) -- PLpgSQL variable declarations cannot inherit the type of a table row or column using `%TYPE` or `%ROWTYPE` syntax. [#114676](https://github.com/cockroachdb/cockroach/issues/114676) +- It is not possible to use a variable as a target more than once in the same `INTO` clause. For example, `SELECT 1, 2 INTO x, x;`. #121605 +- PLpgSQL variable declarations cannot inherit the type of a table row or column using `%TYPE` or `%ROWTYPE` syntax. #114676 ### UDFs and stored procedures -- Routines cannot be invoked with named arguments, e.g., `SELECT foo(a => 1, b => 2);` or `SELECT foo(b := 1, a := 2);`. [#122264](https://github.com/cockroachdb/cockroach/issues/122264) -- Routines cannot be created if they reference temporary tables. [#121375](https://github.com/cockroachdb/cockroach/issues/121375) -- Routines cannot be created with unnamed `INOUT` parameters. For example, `CREATE PROCEDURE p(INOUT INT) AS $$ BEGIN NULL; END; $$ LANGUAGE PLpgSQL;`. [#121251](https://github.com/cockroachdb/cockroach/issues/121251) -- Routines cannot be created if they return fewer columns than declared. For example, `CREATE FUNCTION f(OUT sum INT, INOUT a INT, INOUT b INT) LANGUAGE SQL AS $$ SELECT (a + b, b); $$;`. [#121247](https://github.com/cockroachdb/cockroach/issues/121247) -- A `RECORD`-returning UDF cannot be created without a `RETURN` statement in the root block, which would restrict the wildcard type to a concrete one. [#122945](https://github.com/cockroachdb/cockroach/issues/122945) +- Routines cannot be invoked with named arguments, e.g., `SELECT foo(a => 1, b => 2);` or `SELECT foo(b := 1, a := 2);`. #122264 +- Routines cannot be created if they reference temporary tables. #121375 +- Routines cannot be created with unnamed `INOUT` parameters. For example, `CREATE PROCEDURE p(INOUT INT) AS $$ BEGIN NULL; END; $$ LANGUAGE PLpgSQL;`. #121251 +- Routines cannot be created if they return fewer columns than declared. For example, `CREATE FUNCTION f(OUT sum INT, INOUT a INT, INOUT b INT) LANGUAGE SQL AS $$ SELECT (a + b, b); $$;`. #121247 +- A `RECORD`-returning UDF cannot be created without a `RETURN` statement in the root block, which would restrict the wildcard type to a concrete one. #122945 ### Physical cluster replication fail back to primary cluster @@ -72,7 +72,7 @@ CockroachDB supports the [PostgreSQL wire protocol](https://www.postgresql.org/d #### `CAST` expressions containing a subquery with an `ENUM` target are not supported -Casting subqueries to ENUMs in views and UDFs is not supported. [#108184](https://github.com/cockroachdb/cockroach/issues/108184) +Casting subqueries to ENUMs in views and UDFs is not supported. #108184 #### Statements containing multiple modification subqueries of the same table are disallowed @@ -81,13 +81,13 @@ Statements containing multiple modification subqueries mutating the same row cou - Set the `sql.multiple_modifications_of_table.enabled` [cluster setting]({% link {{ page.version.version }}/cluster-settings.md %}) to `true`. - Use the `enable_multiple_modifications_of_table` [session variable]({% link {{ page.version.version }}/set-vars.md %}). -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. [#70731](https://github.com/cockroachdb/cockroach/issues/70731) +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. #70731 #### 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 effect until the next statement. Statement parsing is asynchronous with 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. [#32846](https://github.com/cockroachdb/cockroach/issues/32846) +As a workaround, set `default_int_size` via your database driver, or ensure that `SET default_int_size` is in its own statement. #32846 #### Overload resolution for collated strings @@ -114,15 +114,15 @@ Many string operations are not properly overloaded for [collated strings]({% lin pq: unsupported binary operator: || ~~~ -[#10679](https://github.com/cockroachdb/cockroach/issues/10679) +#10679 #### 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. [#23719](https://github.com/cockroachdb/cockroach/issues/23719) +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. #23719 #### `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` values 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 does not work when the ordering column is a tuple. [#93558](https://github.com/cockroachdb/cockroach/issues/93558) +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` values 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 does not work when the ordering column is a tuple. #93558 ### Functions and procedures @@ -168,10 +168,10 @@ Transactions with [priority `HIGH`]({% link {{ page.version.version }}/transacti ERROR: unimplemented: cannot use ROLLBACK TO SAVEPOINT in a HIGH PRIORITY transaction containing DDL SQLSTATE: 0A000 HINT: You have attempted to use a feature that is not yet implemented. -See: https://github.com/cockroachdb/cockroach/issues/46414 +See: cockroach#46414 ~~~ -[#46414](https://github.com/cockroachdb/cockroach/issues/46414) +#46414 #### `CANCEL JOB` limitations @@ -222,7 +222,7 @@ HINT: You have attempted to use a feature that is not yet implemented. See: https://go.crdb.dev/issue-v/42508/v24.1 ~~~ -[#42508](https://github.com/cockroachdb/cockroach/issues/42508) +#42508 #### Dropping a column referenced by a partial index @@ -249,9 +249,9 @@ When executing an [`ALTER TABLE ADD COLUMN`]({% link {{ page.version.version }}/ 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. [#46541](https://github.com/cockroachdb/cockroach/issues/46541) +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. #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. [#47712](https://github.com/cockroachdb/cockroach/issues/47712) +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. #47712 To reduce the chance that a column drop will roll back incorrectly: @@ -287,7 +287,7 @@ As a workaround, you can either [manually split a table's columns into multiple #### Placeholders in `PARTITION BY` -{% include {{ page.version.version }}/known-limitations/partitioning-with-placeholders.md %} [#19464](https://github.com/cockroachdb/cockroach/issues/19464) +{% include {{ page.version.version }}/known-limitations/partitioning-with-placeholders.md %} #19464 #### Unsupported trigram syntax @@ -303,7 +303,7 @@ The following PostgreSQL syntax and features are currently unsupported for [full #### 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). [#88278](https://github.com/cockroachdb/cockroach/issues/88278) +CockroachDB does not allow inverted indexes with a [`STORING` column]({% link {{ page.version.version }}/create-index.md %}#store-columns). #88278 #### Multiple arbiter indexes for `INSERT ON CONFLICT DO UPDATE` @@ -323,19 +323,19 @@ CockroachDB does not allow inverted indexes with a [`STORING` column]({% link {{ 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. [#49203](https://github.com/cockroachdb/cockroach/issues/49203) +- Not all [PostGIS spatial functions](https://postgis.net/docs/reference.html) are supported. #49203 -- The `AddGeometryColumn` [spatial function]({% link {{ page.version.version }}/functions-and-operators.md %}#spatial-functions) only allows constant arguments. [#49402](https://github.com/cockroachdb/cockroach/issues/49402) +- The `AddGeometryColumn` [spatial function]({% link {{ page.version.version }}/functions-and-operators.md %}#spatial-functions) only allows constant arguments. #49402 -- The `AddGeometryColumn` spatial function only allows the `true` value for its `use_typmod` parameter. [#49448](https://github.com/cockroachdb/cockroach/issues/49448) +- The `AddGeometryColumn` spatial function only allows the `true` value for its `use_typmod` parameter. #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`. [#56124](https://github.com/cockroachdb/cockroach/issues/56124) +- 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`. #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). [#55903](https://github.com/cockroachdb/cockroach/issues/55903) +- 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). #55903 -- CockroachDB does not yet support [k-nearest neighbors](https://wikipedia.org/wiki/K-nearest_neighbors_algorithm). [#55227](https://github.com/cockroachdb/cockroach/issues/55227) +- CockroachDB does not yet support [k-nearest neighbors](https://wikipedia.org/wiki/K-nearest_neighbors_algorithm). #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)`). [#56492](https://github.com/cockroachdb/cockroach/issues/56492) +- 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)`). #56492 - {% include {{ page.version.version }}/known-limitations/srid-4326-limitations.md %} @@ -349,9 +349,9 @@ Refer to [`OID` best practices]({% link {{ page.version.version }}/oid.md %}#bes - {% 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. [#102984](https://github.com/cockroachdb/cockroach/issues/102984) +- Updating subfields of composite types using dot syntax results in a syntax error. #102984 -- Tuple elements cannot be accessed without enclosing the [composite variable]({% link {{ page.version.version }}/create-type.md %}#create-a-composite-data-type) name in parentheses. For example, `(v).x`. [#114687](https://github.com/cockroachdb/cockroach/issues/114687) +- Tuple elements cannot be accessed without enclosing the [composite variable]({% link {{ page.version.version }}/create-type.md %}#create-a-composite-data-type) name in parentheses. For example, `(v).x`. #114687 #### `ALTER TYPE` limitations @@ -395,7 +395,7 @@ 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. -[#53410](https://github.com/cockroachdb/cockroach/issues/53410) +#53410 #### No guaranteed state switch from `DECOMMISSIONING` to `DECOMMISSIONED` if `node decommission` is interrupted @@ -404,7 +404,7 @@ There is no guaranteed state switch from `DECOMMISSIONING` to `DECOMMISSIONED` i - The `cockroach node decommission --wait-all` command was run and then interrupted - The `cockroach node decommission --wait=none` command was run -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. [#94430](https://github.com/cockroachdb/cockroach/issues/94430) +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. #94430 #### Simultaneous client connections and running queries on a single node @@ -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. GitHub tracking issue #### Logging system limitations @@ -486,7 +486,7 @@ Accessing the DB Console for a secure cluster now requires login information (i. 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. [#44396](https://github.com/cockroachdb/cockroach/issues/44396) +As a workaround, take a cluster backup instead, as the `system.comments` table is included in cluster backups. #44396 #### `SHOW BACKUP` does not support symlinks for nodelocal @@ -513,8 +513,8 @@ Change data capture (CDC) provides efficient, distributed, row-level changefeeds 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`. [#114737](https://github.com/cockroachdb/cockroach/issues/114737) -- `SELECT FOR UPDATE` does not lock completely-`NULL` column families in multi-column-family tables. [#116836](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`. #114737 +- `SELECT FOR UPDATE` does not lock completely-`NULL` column families in multi-column-family tables. #116836 #### Statistics limitations @@ -523,7 +523,7 @@ The SQL optimizer has limitations under certain isolation levels: #### Incorrect query plans for partitions with `NULL` values -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. [#82774](https://github.com/cockroachdb/cockroach/issues/82774) +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. #82774 #### Vectorized engine limitations @@ -531,15 +531,15 @@ In cases where the partition definition includes a comparison with `NULL` and a #### `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. [#70473](https://github.com/cockroachdb/cockroach/issues/70473) +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. #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. [#69540](https://github.com/cockroachdb/cockroach/issues/69540) +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. #69540 #### 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. [#30192](https://github.com/cockroachdb/cockroach/issues/30192) +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. #30192 #### Import with a high amount of disk contention @@ -694,7 +694,7 @@ UNION ALL SELECT * FROM t1 LEFT JOIN t2 ON st_contains(t1.geom, t2.geom) AND t2. (54 rows) ``` -[#59649](https://github.com/cockroachdb/cockroach/issues/59649) +#59649 #### Locality optimized search limitations @@ -707,4 +707,4 @@ UNION ALL SELECT * FROM t1 LEFT JOIN t2 ON st_contains(t1.geom, t2.geom) AND t2. #### 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. [#102731](https://github.com/cockroachdb/cockroach/issues/102731) \ No newline at end of file +CockroachDB cannot index-accelerate queries with `@@` predicates when both sides of the operator are variables. #102731 \ No newline at end of file diff --git a/src/current/v24.2/known-limitations.md b/src/current/v24.2/known-limitations.md index 71b83b7b5c4..8cadb45260c 100644 --- a/src/current/v24.2/known-limitations.md +++ b/src/current/v24.2/known-limitations.md @@ -53,7 +53,7 @@ CockroachDB supports the [PostgreSQL wire protocol](https://www.postgresql.org/d #### `CAST` expressions containing a subquery with an `ENUM` target are not supported -Casting subqueries to ENUMs in views and UDFs is not supported. [#108184](https://github.com/cockroachdb/cockroach/issues/108184) +Casting subqueries to ENUMs in views and UDFs is not supported. #108184 #### Statements containing multiple modification subqueries of the same table are disallowed @@ -62,13 +62,13 @@ Statements containing multiple modification subqueries mutating the same row cou - Set the `sql.multiple_modifications_of_table.enabled` [cluster setting]({% link {{ page.version.version }}/cluster-settings.md %}) to `true`. - Use the `enable_multiple_modifications_of_table` [session variable]({% link {{ page.version.version }}/set-vars.md %}). -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. [#70731](https://github.com/cockroachdb/cockroach/issues/70731) +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. #70731 #### 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 effect until the next statement. Statement parsing is asynchronous with 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. [#32846](https://github.com/cockroachdb/cockroach/issues/32846) +As a workaround, set `default_int_size` via your database driver, or ensure that `SET default_int_size` is in its own statement. #32846 #### Overload resolution for collated strings @@ -95,15 +95,15 @@ Many string operations are not properly overloaded for [collated strings]({% lin pq: unsupported binary operator: || ~~~ -[#10679](https://github.com/cockroachdb/cockroach/issues/10679) +#10679 #### 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. [#23719](https://github.com/cockroachdb/cockroach/issues/23719) +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. #23719 #### `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` values 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 does not work when the ordering column is a tuple. [#93558](https://github.com/cockroachdb/cockroach/issues/93558) +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` values 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 does not work when the ordering column is a tuple. #93558 ### Functions and procedures @@ -149,10 +149,10 @@ Transactions with [priority `HIGH`]({% link {{ page.version.version }}/transacti ERROR: unimplemented: cannot use ROLLBACK TO SAVEPOINT in a HIGH PRIORITY transaction containing DDL SQLSTATE: 0A000 HINT: You have attempted to use a feature that is not yet implemented. -See: https://github.com/cockroachdb/cockroach/issues/46414 +See: cockroach#46414 ~~~ -[#46414](https://github.com/cockroachdb/cockroach/issues/46414) +#46414 #### `CANCEL JOB` limitations @@ -203,7 +203,7 @@ HINT: You have attempted to use a feature that is not yet implemented. See: https://go.crdb.dev/issue-v/42508/v24.2 ~~~ -[#42508](https://github.com/cockroachdb/cockroach/issues/42508) +#42508 #### Dropping a column referenced by a partial index @@ -230,9 +230,9 @@ When executing an [`ALTER TABLE ADD COLUMN`]({% link {{ page.version.version }}/ 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. [#46541](https://github.com/cockroachdb/cockroach/issues/46541) +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. #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. [#47712](https://github.com/cockroachdb/cockroach/issues/47712) +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. #47712 To reduce the chance that a column drop will roll back incorrectly: @@ -268,7 +268,7 @@ As a workaround, you can either [manually split a table's columns into multiple #### Placeholders in `PARTITION BY` -{% include {{ page.version.version }}/known-limitations/partitioning-with-placeholders.md %} [#19464](https://github.com/cockroachdb/cockroach/issues/19464) +{% include {{ page.version.version }}/known-limitations/partitioning-with-placeholders.md %} #19464 #### Unsupported trigram syntax @@ -284,7 +284,7 @@ The following PostgreSQL syntax and features are currently unsupported for [full #### 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). [#88278](https://github.com/cockroachdb/cockroach/issues/88278) +CockroachDB does not allow inverted indexes with a [`STORING` column]({% link {{ page.version.version }}/create-index.md %}#store-columns). #88278 #### Multiple arbiter indexes for `INSERT ON CONFLICT DO UPDATE` @@ -304,19 +304,19 @@ CockroachDB does not allow inverted indexes with a [`STORING` column]({% link {{ 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. [#49203](https://github.com/cockroachdb/cockroach/issues/49203) +- Not all [PostGIS spatial functions](https://postgis.net/docs/reference.html) are supported. #49203 -- The `AddGeometryColumn` [spatial function]({% link {{ page.version.version }}/functions-and-operators.md %}#spatial-functions) only allows constant arguments. [#49402](https://github.com/cockroachdb/cockroach/issues/49402) +- The `AddGeometryColumn` [spatial function]({% link {{ page.version.version }}/functions-and-operators.md %}#spatial-functions) only allows constant arguments. #49402 -- The `AddGeometryColumn` spatial function only allows the `true` value for its `use_typmod` parameter. [#49448](https://github.com/cockroachdb/cockroach/issues/49448) +- The `AddGeometryColumn` spatial function only allows the `true` value for its `use_typmod` parameter. #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`. [#56124](https://github.com/cockroachdb/cockroach/issues/56124) +- 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`. #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). [#55903](https://github.com/cockroachdb/cockroach/issues/55903) +- 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). #55903 -- CockroachDB does not yet support [k-nearest neighbors](https://wikipedia.org/wiki/K-nearest_neighbors_algorithm). [#55227](https://github.com/cockroachdb/cockroach/issues/55227) +- CockroachDB does not yet support [k-nearest neighbors](https://wikipedia.org/wiki/K-nearest_neighbors_algorithm). #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)`). [#56492](https://github.com/cockroachdb/cockroach/issues/56492) +- 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)`). #56492 - {% include {{ page.version.version }}/known-limitations/srid-4326-limitations.md %} @@ -330,9 +330,9 @@ Refer to [`OID` best practices]({% link {{ page.version.version }}/oid.md %}#bes - {% 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. [#102984](https://github.com/cockroachdb/cockroach/issues/102984) +- Updating subfields of composite types using dot syntax results in a syntax error. #102984 -- Tuple elements cannot be accessed without enclosing the [composite variable]({% link {{ page.version.version }}/create-type.md %}#create-a-composite-data-type) name in parentheses. For example, `(v).x`. [#114687](https://github.com/cockroachdb/cockroach/issues/114687) +- Tuple elements cannot be accessed without enclosing the [composite variable]({% link {{ page.version.version }}/create-type.md %}#create-a-composite-data-type) name in parentheses. For example, `(v).x`. #114687 #### `ALTER TYPE` limitations @@ -376,7 +376,7 @@ 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. -[#53410](https://github.com/cockroachdb/cockroach/issues/53410) +#53410 #### No guaranteed state switch from `DECOMMISSIONING` to `DECOMMISSIONED` if `node decommission` is interrupted @@ -385,7 +385,7 @@ There is no guaranteed state switch from `DECOMMISSIONING` to `DECOMMISSIONED` i - The `cockroach node decommission --wait-all` command was run and then interrupted - The `cockroach node decommission --wait=none` command was run -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. [#94430](https://github.com/cockroachdb/cockroach/issues/94430) +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. #94430 #### Simultaneous client connections and running queries on a single node @@ -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. GitHub tracking issue #### Logging system limitations @@ -466,7 +466,7 @@ Accessing the DB Console for a secure cluster now requires login information (i. 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. [#44396](https://github.com/cockroachdb/cockroach/issues/44396) +As a workaround, take a cluster backup instead, as the `system.comments` table is included in cluster backups. #44396 #### `SHOW BACKUP` does not support symlinks for nodelocal @@ -492,8 +492,8 @@ Change data capture (CDC) provides efficient, distributed, row-level changefeeds 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`. [#114737](https://github.com/cockroachdb/cockroach/issues/114737) -- `SELECT FOR UPDATE` does not lock completely-`NULL` column families in multi-column-family tables. [#116836](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`. #114737 +- `SELECT FOR UPDATE` does not lock completely-`NULL` column families in multi-column-family tables. #116836 #### Statistics limitations @@ -502,7 +502,7 @@ The SQL optimizer has limitations under certain isolation levels: #### Incorrect query plans for partitions with `NULL` values -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. [#82774](https://github.com/cockroachdb/cockroach/issues/82774) +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. #82774 #### Vectorized engine limitations @@ -510,15 +510,15 @@ In cases where the partition definition includes a comparison with `NULL` and a #### `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. [#70473](https://github.com/cockroachdb/cockroach/issues/70473) +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. #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. [#69540](https://github.com/cockroachdb/cockroach/issues/69540) +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. #69540 #### 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. [#30192](https://github.com/cockroachdb/cockroach/issues/30192) +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. #30192 #### Import with a high amount of disk contention @@ -673,7 +673,7 @@ UNION ALL SELECT * FROM t1 LEFT JOIN t2 ON st_contains(t1.geom, t2.geom) AND t2. (54 rows) ``` -[#59649](https://github.com/cockroachdb/cockroach/issues/59649) +#59649 #### Locality optimized search limitations @@ -686,4 +686,4 @@ UNION ALL SELECT * FROM t1 LEFT JOIN t2 ON st_contains(t1.geom, t2.geom) AND t2. #### 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. [#102731](https://github.com/cockroachdb/cockroach/issues/102731) +CockroachDB cannot index-accelerate queries with `@@` predicates when both sides of the operator are variables. #102731 diff --git a/src/current/v24.3/known-limitations.md b/src/current/v24.3/known-limitations.md index 608cf909f5a..893d9bfe965 100644 --- a/src/current/v24.3/known-limitations.md +++ b/src/current/v24.3/known-limitations.md @@ -64,7 +64,7 @@ CockroachDB supports the [PostgreSQL wire protocol](https://www.postgresql.org/d #### `CAST` expressions containing a subquery with an `ENUM` target are not supported -Casting subqueries to ENUMs in views and UDFs is not supported. [#108184](https://github.com/cockroachdb/cockroach/issues/108184) +Casting subqueries to ENUMs in views and UDFs is not supported. #108184 #### Statements containing multiple modification subqueries of the same table are disallowed @@ -73,13 +73,13 @@ Statements containing multiple modification subqueries mutating the same row cou - Set the `sql.multiple_modifications_of_table.enabled` [cluster setting]({% link {{ page.version.version }}/cluster-settings.md %}) to `true`. - Use the `enable_multiple_modifications_of_table` [session variable]({% link {{ page.version.version }}/set-vars.md %}). -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. [#70731](https://github.com/cockroachdb/cockroach/issues/70731) +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. #70731 #### 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 effect until the next statement. Statement parsing is asynchronous with 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. [#32846](https://github.com/cockroachdb/cockroach/issues/32846) +As a workaround, set `default_int_size` via your database driver, or ensure that `SET default_int_size` is in its own statement. #32846 #### Overload resolution for collated strings @@ -106,15 +106,15 @@ Many string operations are not properly overloaded for [collated strings]({% lin pq: unsupported binary operator: || ~~~ -[#10679](https://github.com/cockroachdb/cockroach/issues/10679) +#10679 #### 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. [#23719](https://github.com/cockroachdb/cockroach/issues/23719) +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. #23719 #### `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` values 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 does not work when the ordering column is a tuple. [#93558](https://github.com/cockroachdb/cockroach/issues/93558) +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` values 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 does not work when the ordering column is a tuple. #93558 ### Functions and procedures @@ -160,10 +160,10 @@ Transactions with [priority `HIGH`]({% link {{ page.version.version }}/transacti ERROR: unimplemented: cannot use ROLLBACK TO SAVEPOINT in a HIGH PRIORITY transaction containing DDL SQLSTATE: 0A000 HINT: You have attempted to use a feature that is not yet implemented. -See: https://github.com/cockroachdb/cockroach/issues/46414 +See: cockroach#46414 ~~~ -[#46414](https://github.com/cockroachdb/cockroach/issues/46414) +#46414 #### `CANCEL JOB` limitations @@ -214,7 +214,7 @@ HINT: You have attempted to use a feature that is not yet implemented. See: https://go.crdb.dev/issue-v/42508/v24.2 ~~~ -[#42508](https://github.com/cockroachdb/cockroach/issues/42508) +#42508 #### Dropping a column referenced by a partial index @@ -241,9 +241,9 @@ When executing an [`ALTER TABLE ADD COLUMN`]({% link {{ page.version.version }}/ 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. [#46541](https://github.com/cockroachdb/cockroach/issues/46541) +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. #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. [#47712](https://github.com/cockroachdb/cockroach/issues/47712) +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. #47712 To reduce the chance that a column drop will roll back incorrectly: @@ -279,7 +279,7 @@ As a workaround, you can either [manually split a table's columns into multiple #### Placeholders in `PARTITION BY` -{% include {{ page.version.version }}/known-limitations/partitioning-with-placeholders.md %} [#19464](https://github.com/cockroachdb/cockroach/issues/19464) +{% include {{ page.version.version }}/known-limitations/partitioning-with-placeholders.md %} #19464 #### Unsupported trigram syntax @@ -295,7 +295,7 @@ The following PostgreSQL syntax and features are currently unsupported for [full #### 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). [#88278](https://github.com/cockroachdb/cockroach/issues/88278) +CockroachDB does not allow inverted indexes with a [`STORING` column]({% link {{ page.version.version }}/create-index.md %}#store-columns). #88278 #### Multiple arbiter indexes for `INSERT ON CONFLICT DO UPDATE` @@ -315,19 +315,19 @@ CockroachDB does not allow inverted indexes with a [`STORING` column]({% link {{ 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. [#49203](https://github.com/cockroachdb/cockroach/issues/49203) +- Not all [PostGIS spatial functions](https://postgis.net/docs/reference.html) are supported. #49203 -- The `AddGeometryColumn` [spatial function]({% link {{ page.version.version }}/functions-and-operators.md %}#spatial-functions) only allows constant arguments. [#49402](https://github.com/cockroachdb/cockroach/issues/49402) +- The `AddGeometryColumn` [spatial function]({% link {{ page.version.version }}/functions-and-operators.md %}#spatial-functions) only allows constant arguments. #49402 -- The `AddGeometryColumn` spatial function only allows the `true` value for its `use_typmod` parameter. [#49448](https://github.com/cockroachdb/cockroach/issues/49448) +- The `AddGeometryColumn` spatial function only allows the `true` value for its `use_typmod` parameter. #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`. [#56124](https://github.com/cockroachdb/cockroach/issues/56124) +- 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`. #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). [#55903](https://github.com/cockroachdb/cockroach/issues/55903) +- 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). #55903 -- CockroachDB does not yet support [k-nearest neighbors](https://wikipedia.org/wiki/K-nearest_neighbors_algorithm). [#55227](https://github.com/cockroachdb/cockroach/issues/55227) +- CockroachDB does not yet support [k-nearest neighbors](https://wikipedia.org/wiki/K-nearest_neighbors_algorithm). #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)`). [#56492](https://github.com/cockroachdb/cockroach/issues/56492) +- 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)`). #56492 - {% include {{ page.version.version }}/known-limitations/srid-4326-limitations.md %} @@ -341,9 +341,9 @@ Refer to [`OID` best practices]({% link {{ page.version.version }}/oid.md %}#bes - {% 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. [#102984](https://github.com/cockroachdb/cockroach/issues/102984) +- Updating subfields of composite types using dot syntax results in a syntax error. #102984 -- Tuple elements cannot be accessed without enclosing the [composite variable]({% link {{ page.version.version }}/create-type.md %}#create-a-composite-data-type) name in parentheses. For example, `(OLD).column` and `(NEW).column` when used in [triggers]({% link {{ page.version.version }}/triggers.md %}). [#114687](https://github.com/cockroachdb/cockroach/issues/114687) +- Tuple elements cannot be accessed without enclosing the [composite variable]({% link {{ page.version.version }}/create-type.md %}#create-a-composite-data-type) name in parentheses. For example, `(OLD).column` and `(NEW).column` when used in [triggers]({% link {{ page.version.version }}/triggers.md %}). #114687 #### `ALTER TYPE` limitations @@ -387,7 +387,7 @@ 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. -[#53410](https://github.com/cockroachdb/cockroach/issues/53410) +#53410 #### No guaranteed state switch from `DECOMMISSIONING` to `DECOMMISSIONED` if `node decommission` is interrupted @@ -396,7 +396,7 @@ There is no guaranteed state switch from `DECOMMISSIONING` to `DECOMMISSIONED` i - The `cockroach node decommission --wait-all` command was run and then interrupted - The `cockroach node decommission --wait=none` command was run -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. [#94430](https://github.com/cockroachdb/cockroach/issues/94430) +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. #94430 #### Simultaneous client connections and running queries on a single node @@ -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. GitHub tracking issue #### Logging system limitations @@ -477,7 +477,7 @@ Accessing the DB Console for a secure cluster now requires login information (i. 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. [#44396](https://github.com/cockroachdb/cockroach/issues/44396) +As a workaround, take a cluster backup instead, as the `system.comments` table is included in cluster backups. #44396 #### `SHOW BACKUP` does not support symlinks for nodelocal @@ -508,8 +508,8 @@ Change data capture (CDC) provides efficient, distributed, row-level changefeeds 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`. [#114737](https://github.com/cockroachdb/cockroach/issues/114737) -- `SELECT FOR UPDATE` does not lock completely-`NULL` column families in multi-column-family tables. [#116836](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`. #114737 +- `SELECT FOR UPDATE` does not lock completely-`NULL` column families in multi-column-family tables. #116836 #### Statistics limitations @@ -518,7 +518,7 @@ The SQL optimizer has limitations under certain isolation levels: #### Incorrect query plans for partitions with `NULL` values -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. [#82774](https://github.com/cockroachdb/cockroach/issues/82774) +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. #82774 #### Vectorized engine limitations @@ -526,15 +526,15 @@ In cases where the partition definition includes a comparison with `NULL` and a #### `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. [#70473](https://github.com/cockroachdb/cockroach/issues/70473) +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. #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. [#69540](https://github.com/cockroachdb/cockroach/issues/69540) +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. #69540 #### 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. [#30192](https://github.com/cockroachdb/cockroach/issues/30192) +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. #30192 #### Import with a high amount of disk contention @@ -689,7 +689,7 @@ UNION ALL SELECT * FROM t1 LEFT JOIN t2 ON st_contains(t1.geom, t2.geom) AND t2. (54 rows) ``` -[#59649](https://github.com/cockroachdb/cockroach/issues/59649) +#59649 #### Locality optimized search limitations @@ -702,4 +702,4 @@ UNION ALL SELECT * FROM t1 LEFT JOIN t2 ON st_contains(t1.geom, t2.geom) AND t2. #### 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. [#102731](https://github.com/cockroachdb/cockroach/issues/102731) +CockroachDB cannot index-accelerate queries with `@@` predicates when both sides of the operator are variables. #102731 diff --git a/src/current/v25.1/known-limitations.md b/src/current/v25.1/known-limitations.md index 4f76260d1aa..338f87b2fee 100644 --- a/src/current/v25.1/known-limitations.md +++ b/src/current/v25.1/known-limitations.md @@ -49,7 +49,7 @@ CockroachDB supports the [PostgreSQL wire protocol](https://www.postgresql.org/d #### `CAST` expressions containing a subquery with an `ENUM` target are not supported -Casting subqueries to ENUMs in views and UDFs is not supported. [#108184](https://github.com/cockroachdb/cockroach/issues/108184) +Casting subqueries to ENUMs in views and UDFs is not supported. #108184 #### Statements containing multiple modification subqueries of the same table are disallowed @@ -58,13 +58,13 @@ Statements containing multiple modification subqueries mutating the same row cou - Set the `sql.multiple_modifications_of_table.enabled` [cluster setting]({% link {{ page.version.version }}/cluster-settings.md %}) to `true`. - Use the `enable_multiple_modifications_of_table` [session variable]({% link {{ page.version.version }}/set-vars.md %}). -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. [#70731](https://github.com/cockroachdb/cockroach/issues/70731) +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. #70731 #### 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 effect until the next statement. Statement parsing is asynchronous with 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. [#32846](https://github.com/cockroachdb/cockroach/issues/32846) +As a workaround, set `default_int_size` via your database driver, or ensure that `SET default_int_size` is in its own statement. #32846 #### Overload resolution for collated strings @@ -91,15 +91,15 @@ Many string operations are not properly overloaded for [collated strings]({% lin pq: unsupported binary operator: || ~~~ -[#10679](https://github.com/cockroachdb/cockroach/issues/10679) +#10679 #### 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. [#23719](https://github.com/cockroachdb/cockroach/issues/23719) +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. #23719 #### `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` values 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 does not work when the ordering column is a tuple. [#93558](https://github.com/cockroachdb/cockroach/issues/93558) +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` values 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 does not work when the ordering column is a tuple. #93558 ### Functions and procedures @@ -149,10 +149,10 @@ Transactions with [priority `HIGH`]({% link {{ page.version.version }}/transacti ERROR: unimplemented: cannot use ROLLBACK TO SAVEPOINT in a HIGH PRIORITY transaction containing DDL SQLSTATE: 0A000 HINT: You have attempted to use a feature that is not yet implemented. -See: https://github.com/cockroachdb/cockroach/issues/46414 +See: cockroach#46414 ~~~ -[#46414](https://github.com/cockroachdb/cockroach/issues/46414) +#46414 #### `CANCEL JOB` limitations @@ -203,7 +203,7 @@ HINT: You have attempted to use a feature that is not yet implemented. See: https://go.crdb.dev/issue-v/42508/v24.2 ~~~ -[#42508](https://github.com/cockroachdb/cockroach/issues/42508) +#42508 #### Dropping a column referenced by a partial index @@ -230,9 +230,9 @@ When executing an [`ALTER TABLE ADD COLUMN`]({% link {{ page.version.version }}/ 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. [#46541](https://github.com/cockroachdb/cockroach/issues/46541) +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. #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. [#47712](https://github.com/cockroachdb/cockroach/issues/47712) +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. #47712 To reduce the chance that a column drop will roll back incorrectly: @@ -268,7 +268,7 @@ As a workaround, you can either [manually split a table's columns into multiple #### Placeholders in `PARTITION BY` -{% include {{ page.version.version }}/known-limitations/partitioning-with-placeholders.md %} [#19464](https://github.com/cockroachdb/cockroach/issues/19464) +{% include {{ page.version.version }}/known-limitations/partitioning-with-placeholders.md %} #19464 #### Unsupported trigram syntax @@ -284,7 +284,7 @@ The following PostgreSQL syntax and features are currently unsupported for [full #### 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). [#88278](https://github.com/cockroachdb/cockroach/issues/88278) +CockroachDB does not allow inverted indexes with a [`STORING` column]({% link {{ page.version.version }}/create-index.md %}#store-columns). #88278 #### Multiple arbiter indexes for `INSERT ON CONFLICT DO UPDATE` @@ -304,19 +304,19 @@ CockroachDB does not allow inverted indexes with a [`STORING` column]({% link {{ 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. [#49203](https://github.com/cockroachdb/cockroach/issues/49203) +- Not all [PostGIS spatial functions](https://postgis.net/docs/reference.html) are supported. #49203 -- The `AddGeometryColumn` [spatial function]({% link {{ page.version.version }}/functions-and-operators.md %}#spatial-functions) only allows constant arguments. [#49402](https://github.com/cockroachdb/cockroach/issues/49402) +- The `AddGeometryColumn` [spatial function]({% link {{ page.version.version }}/functions-and-operators.md %}#spatial-functions) only allows constant arguments. #49402 -- The `AddGeometryColumn` spatial function only allows the `true` value for its `use_typmod` parameter. [#49448](https://github.com/cockroachdb/cockroach/issues/49448) +- The `AddGeometryColumn` spatial function only allows the `true` value for its `use_typmod` parameter. #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`. [#56124](https://github.com/cockroachdb/cockroach/issues/56124) +- 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`. #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). [#55903](https://github.com/cockroachdb/cockroach/issues/55903) +- 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). #55903 -- CockroachDB does not yet support [k-nearest neighbors](https://wikipedia.org/wiki/K-nearest_neighbors_algorithm). [#55227](https://github.com/cockroachdb/cockroach/issues/55227) +- CockroachDB does not yet support [k-nearest neighbors](https://wikipedia.org/wiki/K-nearest_neighbors_algorithm). #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)`). [#56492](https://github.com/cockroachdb/cockroach/issues/56492) +- 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)`). #56492 - {% include {{ page.version.version }}/known-limitations/srid-4326-limitations.md %} @@ -330,9 +330,9 @@ Refer to [`OID` best practices]({% link {{ page.version.version }}/oid.md %}#bes - {% 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. [#102984](https://github.com/cockroachdb/cockroach/issues/102984) +- Updating subfields of composite types using dot syntax results in a syntax error. #102984 -- Tuple elements cannot be accessed without enclosing the [composite variable]({% link {{ page.version.version }}/create-type.md %}#create-a-composite-data-type) name in parentheses. For example, `(OLD).column` and `(NEW).column` when used in [triggers]({% link {{ page.version.version }}/triggers.md %}). [#114687](https://github.com/cockroachdb/cockroach/issues/114687) +- Tuple elements cannot be accessed without enclosing the [composite variable]({% link {{ page.version.version }}/create-type.md %}#create-a-composite-data-type) name in parentheses. For example, `(OLD).column` and `(NEW).column` when used in [triggers]({% link {{ page.version.version }}/triggers.md %}). #114687 #### `ALTER TYPE` limitations @@ -376,7 +376,7 @@ 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. -[#53410](https://github.com/cockroachdb/cockroach/issues/53410) +#53410 #### No guaranteed state switch from `DECOMMISSIONING` to `DECOMMISSIONED` if `node decommission` is interrupted @@ -385,7 +385,7 @@ There is no guaranteed state switch from `DECOMMISSIONING` to `DECOMMISSIONED` i - The `cockroach node decommission --wait-all` command was run and then interrupted - The `cockroach node decommission --wait=none` command was run -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. [#94430](https://github.com/cockroachdb/cockroach/issues/94430) +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. #94430 #### Simultaneous client connections and running queries on a single node @@ -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. GitHub tracking issue #### Logging system limitations @@ -466,7 +466,7 @@ Accessing the DB Console for a secure cluster now requires login information (i. 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. [#44396](https://github.com/cockroachdb/cockroach/issues/44396) +As a workaround, take a cluster backup instead, as the `system.comments` table is included in cluster backups. #44396 #### `SHOW BACKUP` does not support symlinks for nodelocal @@ -507,8 +507,8 @@ Change data capture (CDC) provides efficient, distributed, row-level changefeeds 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`. [#114737](https://github.com/cockroachdb/cockroach/issues/114737) -- `SELECT FOR UPDATE` does not lock completely-`NULL` column families in multi-column-family tables. [#116836](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`. #114737 +- `SELECT FOR UPDATE` does not lock completely-`NULL` column families in multi-column-family tables. #116836 #### Statistics limitations @@ -517,7 +517,7 @@ The SQL optimizer has limitations under certain isolation levels: #### Incorrect query plans for partitions with `NULL` values -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. [#82774](https://github.com/cockroachdb/cockroach/issues/82774) +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. #82774 #### Vectorized engine limitations @@ -525,15 +525,15 @@ In cases where the partition definition includes a comparison with `NULL` and a #### `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. [#70473](https://github.com/cockroachdb/cockroach/issues/70473) +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. #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. [#69540](https://github.com/cockroachdb/cockroach/issues/69540) +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. #69540 #### 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. [#30192](https://github.com/cockroachdb/cockroach/issues/30192) +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. #30192 #### Import with a high amount of disk contention @@ -688,7 +688,7 @@ UNION ALL SELECT * FROM t1 LEFT JOIN t2 ON st_contains(t1.geom, t2.geom) AND t2. (54 rows) ``` -[#59649](https://github.com/cockroachdb/cockroach/issues/59649) +#59649 #### Locality optimized search limitations @@ -701,4 +701,4 @@ UNION ALL SELECT * FROM t1 LEFT JOIN t2 ON st_contains(t1.geom, t2.geom) AND t2. #### 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. [#102731](https://github.com/cockroachdb/cockroach/issues/102731) +CockroachDB cannot index-accelerate queries with `@@` predicates when both sides of the operator are variables. #102731 diff --git a/src/current/v25.2/known-limitations.md b/src/current/v25.2/known-limitations.md index e18fdc0a835..eb23b3fcff1 100644 --- a/src/current/v25.2/known-limitations.md +++ b/src/current/v25.2/known-limitations.md @@ -59,7 +59,7 @@ CockroachDB supports the [PostgreSQL wire protocol](https://www.postgresql.org/d #### `CAST` expressions containing a subquery with an `ENUM` target are not supported -Casting subqueries to ENUMs in views and UDFs is not supported. [#108184](https://github.com/cockroachdb/cockroach/issues/108184) +Casting subqueries to ENUMs in views and UDFs is not supported. #108184 #### Statements containing multiple modification subqueries of the same table are disallowed @@ -68,13 +68,13 @@ Statements containing multiple modification subqueries mutating the same row cou - Set the `sql.multiple_modifications_of_table.enabled` [cluster setting]({% link {{ page.version.version }}/cluster-settings.md %}) to `true`. - Use the `enable_multiple_modifications_of_table` [session variable]({% link {{ page.version.version }}/set-vars.md %}). -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. [#70731](https://github.com/cockroachdb/cockroach/issues/70731) +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. #70731 #### 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 effect until the next statement. Statement parsing is asynchronous with 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. [#32846](https://github.com/cockroachdb/cockroach/issues/32846) +As a workaround, set `default_int_size` via your database driver, or ensure that `SET default_int_size` is in its own statement. #32846 #### Overload resolution for collated strings @@ -101,15 +101,15 @@ Many string operations are not properly overloaded for [collated strings]({% lin pq: unsupported binary operator: || ~~~ -[#10679](https://github.com/cockroachdb/cockroach/issues/10679) +#10679 #### 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. [#23719](https://github.com/cockroachdb/cockroach/issues/23719) +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. #23719 #### `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` values 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 does not work when the ordering column is a tuple. [#93558](https://github.com/cockroachdb/cockroach/issues/93558) +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` values 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 does not work when the ordering column is a tuple. #93558 ### Functions and procedures @@ -159,10 +159,10 @@ Transactions with [priority `HIGH`]({% link {{ page.version.version }}/transacti ERROR: unimplemented: cannot use ROLLBACK TO SAVEPOINT in a HIGH PRIORITY transaction containing DDL SQLSTATE: 0A000 HINT: You have attempted to use a feature that is not yet implemented. -See: https://github.com/cockroachdb/cockroach/issues/46414 +See: cockroach#46414 ~~~ -[#46414](https://github.com/cockroachdb/cockroach/issues/46414) +#46414 #### `CANCEL JOB` limitations @@ -213,7 +213,7 @@ HINT: You have attempted to use a feature that is not yet implemented. See: https://go.crdb.dev/issue-v/42508/v24.2 ~~~ -[#42508](https://github.com/cockroachdb/cockroach/issues/42508) +#42508 #### Dropping a column referenced by a partial index @@ -240,9 +240,9 @@ When executing an [`ALTER TABLE ADD COLUMN`]({% link {{ page.version.version }}/ 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. [#46541](https://github.com/cockroachdb/cockroach/issues/46541) +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. #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. [#47712](https://github.com/cockroachdb/cockroach/issues/47712) +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. #47712 To reduce the chance that a column drop will roll back incorrectly: @@ -278,7 +278,7 @@ As a workaround, you can either [manually split a table's columns into multiple #### Placeholders in `PARTITION BY` -{% include {{ page.version.version }}/known-limitations/partitioning-with-placeholders.md %} [#19464](https://github.com/cockroachdb/cockroach/issues/19464) +{% include {{ page.version.version }}/known-limitations/partitioning-with-placeholders.md %} #19464 #### Unsupported trigram syntax @@ -294,7 +294,7 @@ The following PostgreSQL syntax and features are currently unsupported for [full #### 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). [#88278](https://github.com/cockroachdb/cockroach/issues/88278) +CockroachDB does not allow inverted indexes with a [`STORING` column]({% link {{ page.version.version }}/create-index.md %}#store-columns). #88278 #### Multiple arbiter indexes for `INSERT ON CONFLICT DO UPDATE` @@ -314,19 +314,19 @@ CockroachDB does not allow inverted indexes with a [`STORING` column]({% link {{ 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. [#49203](https://github.com/cockroachdb/cockroach/issues/49203) +- Not all [PostGIS spatial functions](https://postgis.net/docs/reference.html) are supported. #49203 -- The `AddGeometryColumn` [spatial function]({% link {{ page.version.version }}/functions-and-operators.md %}#spatial-functions) only allows constant arguments. [#49402](https://github.com/cockroachdb/cockroach/issues/49402) +- The `AddGeometryColumn` [spatial function]({% link {{ page.version.version }}/functions-and-operators.md %}#spatial-functions) only allows constant arguments. #49402 -- The `AddGeometryColumn` spatial function only allows the `true` value for its `use_typmod` parameter. [#49448](https://github.com/cockroachdb/cockroach/issues/49448) +- The `AddGeometryColumn` spatial function only allows the `true` value for its `use_typmod` parameter. #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`. [#56124](https://github.com/cockroachdb/cockroach/issues/56124) +- 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`. #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). [#55903](https://github.com/cockroachdb/cockroach/issues/55903) +- 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). #55903 -- CockroachDB does not yet support [k-nearest neighbors](https://wikipedia.org/wiki/K-nearest_neighbors_algorithm). [#55227](https://github.com/cockroachdb/cockroach/issues/55227) +- CockroachDB does not yet support [k-nearest neighbors](https://wikipedia.org/wiki/K-nearest_neighbors_algorithm). #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)`). [#56492](https://github.com/cockroachdb/cockroach/issues/56492) +- 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)`). #56492 - {% include {{ page.version.version }}/known-limitations/srid-4326-limitations.md %} @@ -340,9 +340,9 @@ Refer to [`OID` best practices]({% link {{ page.version.version }}/oid.md %}#bes - {% 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. [#102984](https://github.com/cockroachdb/cockroach/issues/102984) +- Updating subfields of composite types using dot syntax results in a syntax error. #102984 -- Tuple elements cannot be accessed without enclosing the [composite variable]({% link {{ page.version.version }}/create-type.md %}#create-a-composite-data-type) name in parentheses. For example, `(OLD).column` and `(NEW).column` when used in [triggers]({% link {{ page.version.version }}/triggers.md %}). [#114687](https://github.com/cockroachdb/cockroach/issues/114687) +- Tuple elements cannot be accessed without enclosing the [composite variable]({% link {{ page.version.version }}/create-type.md %}#create-a-composite-data-type) name in parentheses. For example, `(OLD).column` and `(NEW).column` when used in [triggers]({% link {{ page.version.version }}/triggers.md %}). #114687 #### `ALTER TYPE` limitations @@ -386,7 +386,7 @@ 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. -[#53410](https://github.com/cockroachdb/cockroach/issues/53410) +#53410 #### No guaranteed state switch from `DECOMMISSIONING` to `DECOMMISSIONED` if `node decommission` is interrupted @@ -395,7 +395,7 @@ There is no guaranteed state switch from `DECOMMISSIONING` to `DECOMMISSIONED` i - The `cockroach node decommission --wait-all` command was run and then interrupted - The `cockroach node decommission --wait=none` command was run -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. [#94430](https://github.com/cockroachdb/cockroach/issues/94430) +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. #94430 #### Simultaneous client connections and running queries on a single node @@ -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. GitHub tracking issue #### Logging system limitations @@ -476,7 +476,7 @@ Accessing the DB Console for a secure cluster now requires login information (i. 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. [#44396](https://github.com/cockroachdb/cockroach/issues/44396) +As a workaround, take a cluster backup instead, as the `system.comments` table is included in cluster backups. #44396 #### `SHOW BACKUP` does not support symlinks for nodelocal @@ -517,8 +517,8 @@ Change data capture (CDC) provides efficient, distributed, row-level changefeeds 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`. [#114737](https://github.com/cockroachdb/cockroach/issues/114737) -- `SELECT FOR UPDATE` does not lock completely-`NULL` column families in multi-column-family tables. [#116836](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`. #114737 +- `SELECT FOR UPDATE` does not lock completely-`NULL` column families in multi-column-family tables. #116836 #### Statistics limitations @@ -527,7 +527,7 @@ The SQL optimizer has limitations under certain isolation levels: #### Incorrect query plans for partitions with `NULL` values -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. [#82774](https://github.com/cockroachdb/cockroach/issues/82774) +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. #82774 #### Vectorized engine limitations @@ -535,15 +535,15 @@ In cases where the partition definition includes a comparison with `NULL` and a #### `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. [#70473](https://github.com/cockroachdb/cockroach/issues/70473) +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. #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. [#69540](https://github.com/cockroachdb/cockroach/issues/69540) +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. #69540 #### 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. [#30192](https://github.com/cockroachdb/cockroach/issues/30192) +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. #30192 #### Import with a high amount of disk contention @@ -698,7 +698,7 @@ UNION ALL SELECT * FROM t1 LEFT JOIN t2 ON st_contains(t1.geom, t2.geom) AND t2. (54 rows) ``` -[#59649](https://github.com/cockroachdb/cockroach/issues/59649) +#59649 #### Locality optimized search limitations @@ -711,4 +711,4 @@ UNION ALL SELECT * FROM t1 LEFT JOIN t2 ON st_contains(t1.geom, t2.geom) AND t2. #### 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. [#102731](https://github.com/cockroachdb/cockroach/issues/102731) +CockroachDB cannot index-accelerate queries with `@@` predicates when both sides of the operator are variables. #102731 diff --git a/src/current/v25.3/known-limitations.md b/src/current/v25.3/known-limitations.md index ddc193ed9e9..b588307b904 100644 --- a/src/current/v25.3/known-limitations.md +++ b/src/current/v25.3/known-limitations.md @@ -69,7 +69,7 @@ CockroachDB supports the [PostgreSQL wire protocol](https://www.postgresql.org/d #### `CAST` expressions containing a subquery with an `ENUM` target are not supported -Casting subqueries to ENUMs in views and UDFs is not supported. [#108184](https://github.com/cockroachdb/cockroach/issues/108184) +Casting subqueries to ENUMs in views and UDFs is not supported. #108184 #### Statements containing multiple modification subqueries of the same table are disallowed @@ -78,13 +78,13 @@ Statements containing multiple modification subqueries mutating the same row cou - Set the `sql.multiple_modifications_of_table.enabled` [cluster setting]({% link {{ page.version.version }}/cluster-settings.md %}) to `true`. - Use the `enable_multiple_modifications_of_table` [session variable]({% link {{ page.version.version }}/set-vars.md %}). -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. [#70731](https://github.com/cockroachdb/cockroach/issues/70731) +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. #70731 #### 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 effect until the next statement. Statement parsing is asynchronous with 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. [#32846](https://github.com/cockroachdb/cockroach/issues/32846) +As a workaround, set `default_int_size` via your database driver, or ensure that `SET default_int_size` is in its own statement. #32846 #### Overload resolution for collated strings @@ -111,15 +111,15 @@ Many string operations are not properly overloaded for [collated strings]({% lin pq: unsupported binary operator: || ~~~ -[#10679](https://github.com/cockroachdb/cockroach/issues/10679) +#10679 #### 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. [#23719](https://github.com/cockroachdb/cockroach/issues/23719) +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. #23719 #### `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` values 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 does not work when the ordering column is a tuple. [#93558](https://github.com/cockroachdb/cockroach/issues/93558) +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` values 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 does not work when the ordering column is a tuple. #93558 ### Functions and procedures @@ -169,10 +169,10 @@ Transactions with [priority `HIGH`]({% link {{ page.version.version }}/transacti ERROR: unimplemented: cannot use ROLLBACK TO SAVEPOINT in a HIGH PRIORITY transaction containing DDL SQLSTATE: 0A000 HINT: You have attempted to use a feature that is not yet implemented. -See: https://github.com/cockroachdb/cockroach/issues/46414 +See: cockroach#46414 ~~~ -[#46414](https://github.com/cockroachdb/cockroach/issues/46414) +#46414 #### `CANCEL JOB` limitations @@ -227,7 +227,7 @@ HINT: You have attempted to use a feature that is not yet implemented. See: https://go.crdb.dev/issue-v/42508/v24.2 ~~~ -[#42508](https://github.com/cockroachdb/cockroach/issues/42508) +#42508 #### Dropping a column referenced by a partial index @@ -254,9 +254,9 @@ When executing an [`ALTER TABLE ADD COLUMN`]({% link {{ page.version.version }}/ 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. [#46541](https://github.com/cockroachdb/cockroach/issues/46541) +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. #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. [#47712](https://github.com/cockroachdb/cockroach/issues/47712) +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. #47712 To reduce the chance that a column drop will roll back incorrectly: @@ -292,7 +292,7 @@ As a workaround, you can either [manually split a table's columns into multiple #### Placeholders in `PARTITION BY` -{% include {{ page.version.version }}/known-limitations/partitioning-with-placeholders.md %} [#19464](https://github.com/cockroachdb/cockroach/issues/19464) +{% include {{ page.version.version }}/known-limitations/partitioning-with-placeholders.md %} #19464 #### Unsupported trigram syntax @@ -308,7 +308,7 @@ The following PostgreSQL syntax and features are currently unsupported for [full #### 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). [#88278](https://github.com/cockroachdb/cockroach/issues/88278) +CockroachDB does not allow inverted indexes with a [`STORING` column]({% link {{ page.version.version }}/create-index.md %}#store-columns). #88278 #### Multiple arbiter indexes for `INSERT ON CONFLICT DO UPDATE` @@ -328,19 +328,19 @@ CockroachDB does not allow inverted indexes with a [`STORING` column]({% link {{ 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. [#49203](https://github.com/cockroachdb/cockroach/issues/49203) +- Not all [PostGIS spatial functions](https://postgis.net/docs/reference.html) are supported. #49203 -- The `AddGeometryColumn` [spatial function]({% link {{ page.version.version }}/functions-and-operators.md %}#spatial-functions) only allows constant arguments. [#49402](https://github.com/cockroachdb/cockroach/issues/49402) +- The `AddGeometryColumn` [spatial function]({% link {{ page.version.version }}/functions-and-operators.md %}#spatial-functions) only allows constant arguments. #49402 -- The `AddGeometryColumn` spatial function only allows the `true` value for its `use_typmod` parameter. [#49448](https://github.com/cockroachdb/cockroach/issues/49448) +- The `AddGeometryColumn` spatial function only allows the `true` value for its `use_typmod` parameter. #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`. [#56124](https://github.com/cockroachdb/cockroach/issues/56124) +- 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`. #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). [#55903](https://github.com/cockroachdb/cockroach/issues/55903) +- 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). #55903 -- CockroachDB does not yet support [k-nearest neighbors](https://wikipedia.org/wiki/K-nearest_neighbors_algorithm). [#55227](https://github.com/cockroachdb/cockroach/issues/55227) +- CockroachDB does not yet support [k-nearest neighbors](https://wikipedia.org/wiki/K-nearest_neighbors_algorithm). #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)`). [#56492](https://github.com/cockroachdb/cockroach/issues/56492) +- 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)`). #56492 - {% include {{ page.version.version }}/known-limitations/srid-4326-limitations.md %} @@ -354,9 +354,9 @@ Refer to [`OID` best practices]({% link {{ page.version.version }}/oid.md %}#bes - {% 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. [#102984](https://github.com/cockroachdb/cockroach/issues/102984) +- Updating subfields of composite types using dot syntax results in a syntax error. #102984 -- Tuple elements cannot be accessed without enclosing the [composite variable]({% link {{ page.version.version }}/create-type.md %}#create-a-composite-data-type) name in parentheses. For example, `(OLD).column` and `(NEW).column` when used in [triggers]({% link {{ page.version.version }}/triggers.md %}). [#114687](https://github.com/cockroachdb/cockroach/issues/114687) +- Tuple elements cannot be accessed without enclosing the [composite variable]({% link {{ page.version.version }}/create-type.md %}#create-a-composite-data-type) name in parentheses. For example, `(OLD).column` and `(NEW).column` when used in [triggers]({% link {{ page.version.version }}/triggers.md %}). #114687 #### `ALTER TYPE` limitations @@ -406,7 +406,7 @@ 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. -[#53410](https://github.com/cockroachdb/cockroach/issues/53410) +#53410 #### No guaranteed state switch from `DECOMMISSIONING` to `DECOMMISSIONED` if `node decommission` is interrupted @@ -415,7 +415,7 @@ There is no guaranteed state switch from `DECOMMISSIONING` to `DECOMMISSIONED` i - The `cockroach node decommission --wait-all` command was run and then interrupted - The `cockroach node decommission --wait=none` command was run -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. [#94430](https://github.com/cockroachdb/cockroach/issues/94430) +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. #94430 #### Simultaneous client connections and running queries on a single node @@ -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. GitHub tracking issue #### Logging system limitations @@ -496,7 +496,7 @@ Accessing the DB Console for a secure cluster now requires login information (i. 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. [#44396](https://github.com/cockroachdb/cockroach/issues/44396) +As a workaround, take a cluster backup instead, as the `system.comments` table is included in cluster backups. #44396 #### `SHOW BACKUP` does not support symlinks for nodelocal @@ -537,8 +537,8 @@ Change data capture (CDC) provides efficient, distributed, row-level changefeeds 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`. [#114737](https://github.com/cockroachdb/cockroach/issues/114737) -- `SELECT FOR UPDATE` does not lock completely-`NULL` column families in multi-column-family tables. [#116836](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`. #114737 +- `SELECT FOR UPDATE` does not lock completely-`NULL` column families in multi-column-family tables. #116836 #### Statistics limitations @@ -547,7 +547,7 @@ The SQL optimizer has limitations under certain isolation levels: #### Incorrect query plans for partitions with `NULL` values -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. [#82774](https://github.com/cockroachdb/cockroach/issues/82774) +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. #82774 #### Vectorized engine limitations @@ -555,15 +555,15 @@ In cases where the partition definition includes a comparison with `NULL` and a #### `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. [#70473](https://github.com/cockroachdb/cockroach/issues/70473) +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. #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. [#69540](https://github.com/cockroachdb/cockroach/issues/69540) +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. #69540 #### 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. [#30192](https://github.com/cockroachdb/cockroach/issues/30192) +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. #30192 #### Import with a high amount of disk contention @@ -718,7 +718,7 @@ UNION ALL SELECT * FROM t1 LEFT JOIN t2 ON st_contains(t1.geom, t2.geom) AND t2. (54 rows) ``` -[#59649](https://github.com/cockroachdb/cockroach/issues/59649) +#59649 #### Locality optimized search limitations @@ -731,4 +731,4 @@ UNION ALL SELECT * FROM t1 LEFT JOIN t2 ON st_contains(t1.geom, t2.geom) AND t2. #### 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. [#102731](https://github.com/cockroachdb/cockroach/issues/102731) +CockroachDB cannot index-accelerate queries with `@@` predicates when both sides of the operator are variables. #102731