New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
release-23.2: sql: collect table statistics on virtual computed columns #120923
release-23.2: sql: collect table statistics on virtual computed columns #120923
Conversation
Thanks for opening a backport. Please check the backport criteria before merging:
If your backport adds new functionality, please ensure that the following additional criteria are satisfied:
Also, please add a brief release justification to the body of your PR to justify this |
a36d8b1
to
d261d9d
Compare
Yes, all of the changes are behind cluster setting
Main risk is that with
Statistics estimates for queries on indexed virtual computed columns will continue to be inaccurate, possibly prohibiting creation of indexes on virtual computed columns.
It cannot wait. |
The backport was clean, there were only minor differences from master:
|
One failure is unrelated flake #120817. I'll look into the other failure this morning. |
d261d9d
to
3c2f9b6
Compare
Add rendering of virtual computed column expressions to the CREATE STATISTICS distsql plan. This rendering should always be added as post processors on the TableReader nodes that feed the Samplers. With this change we now collect table statistics on virtual computed columns. A future PR will make use of the statistsics in statistics builder. Collection of partial statistics (USING EXTREMES) on virtual computed columns simply works after this change because partial statistics collection utilizes secondary indexes, where virtual computed columns are regular stored columns. Informs: cockroachdb#68254 Epic: CRDB-8949 Release note (sql change): Add a new cluster setting, `sql.stats.virtual_computed_columns.enabled`, which when set enables collection of table statistics on virtual computed columns.
This function checks whether an expression supports distributed execution. The name was a little ambiguous, especially in the giant sql package. Epic: None Release note: None
Defensively guard against non-public mutation columns when building statistics requests for CREATE STATISTICS / ANALYZE. Fixes: cockroachdb#118537 Release note: None
3c2f9b6
to
431d629
Compare
Extended CI failure is a flake, this is RFAL. |
Backport:
Please see individual PRs for details.
/cc @cockroachdb/release
Release justification: high priority business need for the functionality which cannot wait until the next release.