-
Notifications
You must be signed in to change notification settings - Fork 3.8k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
57584: sql: lift multi-region functions on to immutable descriptors r=ajwerner a=arulajmani Previously, we added some accessors on type and database descriptors that operated on the raw proto. Since, I've learned that this stuff should really be on immutable types instead, as we're moving to a new world where we move away from raw proto accesses. This patch lifts accessors from the raw proto and on to the immutable types. Release note: None 57606: sql: make CREATE STATISTICS work properly with EXPLAIN ANALYZE (DEBUG) r=RaduBerinde a=RaduBerinde #### sql: migrate other EXPLAIN variants to new exec factory interface This change migrates the other EXPLAIN variants to the new interface, which uses an explain factory to build the explained plan. This fixes a TODO in the experimental factory. Release note: None #### opt: add operator for CREATE STATISTICS This change adds an optimizer operator for CREATE STATISTICS (instead of using the opaque operator). Release note: None #### sql: reimplement EXPLAIN handling of CREATE STATISTICS CREATE STATISTICS runs the statistics plan inside a job. The plan node tree ends in a dead end at the createStatsNode. For explain purposes, we want to see information about the actual plan that runs inside the job. The current solution is to pretend that we build the plan directly in certain contexts. This solution is hard to extend for the new top-level instrumentation for EXPLAIN ANALYZE. This commit changes this solution to add a `runAsJob` flag and actually plan the distributed plan directly when we don't run as a job. We automatically set `runAsJob=false` whenever we are building inside Explain. Release note: None #### sql: make CREATE STATISTICS work properly with EXPLAIN ANALYZE (DEBUG) With this change, the bundle now contains the diagram for the underlying plan. Release note: None 57622: opt: parser, test catalog, query support for virtual columns r=RaduBerinde a=RaduBerinde This set of changes add parser, testcat, and query support for virtual columns. I have come full circle and realized that even though user-defined virtual columns don't help with the optimizer-side work for expression-based indexes, they help with integrating with the existing sql code. In particular, we can carve out pieces of work and write more targeted tests related to virtual columns, without having to define them through an expression-based index. Informs #57608. #### sql: support virtual columns in parser Support VIRTUAL keyword in the parser. We still error out if it is ever used. Release note: None #### opt: clean up hack in test catalog To ensure that PK columns are non-nullable, the test catalog reinitializes them to override the nullable flag. We replace this hacky mechanism with figuring out the PK columns beforehand and marking them as non-nullable in the definition before creating the table columns. Release note: None #### opt: test catalog support for virtual columns Release note: None #### opt: optbuilder support for scanning virtual columns This change adds support for scanning tables with virtual columns. The virtual columns are projected on top of the Scan. Release note: None Co-authored-by: arulajmani <[email protected]> Co-authored-by: Radu Berinde <[email protected]>
- Loading branch information
Showing
44 changed files
with
498 additions
and
349 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.