Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
69371: sql: introduce large_full_scan_rows session variable r=yuzefovich a=michae2 This commit adds a new session variable (as well as the corresponding cluster setting) `large_full_scan_rows` that determines the limit on the table size for which `disallow_full_table_scans` considers the full scans as "large" and rejects such queries. Note that when stats aren't available, all scans are considered "large". This adds more granularity to `disallow_full_table_scans` guardrail so that it would reject only "large" scans. Note that the internally-issued queries are still unaffected. The default value for the new variable is 1000 and setting it to 0 will revert to the previous behavior where all full table/index scans are rejected. Release justification: low-risk improvement to the existing functionality. Release note (ops change): New session variable `large_full_scan_rows` (as well as the corresponding cluster setting `sql.defaults.large_full_scan_rows`) are introduced. This setting determines which tables are considered "large" for the purposes of enabling `disallow_full_table_scans` feature to reject full table/index scans only of "large" table. The default value for the new setting is 1000, and in order to reject all full table/index scans (the previous behavior) one can set the new setting to 0. Internally-issued queries aren't affected, and the new setting has no impact when `disallow_full_table_scans` feature is not enabled. 69679: migrations: persist progress during intents migration r=dt a=dt Release note: none. Release justification: improve new functionality. Co-authored-by: Michael Erickson <michae2@cockroachlabs.com> Co-authored-by: David Taylor <tinystatemachine@gmail.com>
- Loading branch information