-
Notifications
You must be signed in to change notification settings - Fork 3.9k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
52313: colexec: add default comparison operator r=yuzefovich a=yuzefovich Depends on #52315. **colexec: add default comparison operators** This commit introduces default comparison projection and selection operators that handle all `tree.ComparisonExpr`s for which we don't have optimized implementations. The main operators are very similar to `defaultBuiltinFuncOperator`, but we also introduce optimized adapter implementations from `tree.ComparisonExpr` to a vectorized friendly model. Quick benchmarks show about 3.5x improvement in speed of `IS DISTINCT FROM` projection operator against the wrapped post-processing spec. Addresses: #49781. Release note (sql change): Vectorized execution engine now fully supports comparison operators (things like `ILIKE`, `IS NOT DISTINCT FROM`, `SIMILAR TO`, and several others). **colexec: add support for Tuple expressions and clean up tests** This commit adds support for `tree.Tuple` expressions which are supported either by pre-evaluation during planning (and handling the result as other constant values) if the tuple is constant or by planning projection operators for each expression in the tuple and then using newly-introduced `tupleProjOp` if the tuple expression is not constant. The support required refactoring of IsNull* operators to template out special "is tuple null" variants (because tuple have very peculiar null-handling semantics). It also required that we fallback to the default comparison operators on things that we have optimized support for (for example, EQ), also because of the null-handling semantics. It also improves the tests to handle datum-backed types better. Note that a single unit test in `aggregators_test.go` has been switched to use `types.TimeTZ` instead of `types.Jsonb` because of the differences in order of `string`s and `json.JSON.String()` (the former is the "expected" value whereas the latter is the actual; it was simpler to switch the test to use a different datum-backed type). Release note: None 52349: sql: implement `ALTER SCHEMA RENAME TO` r=rohany a=rohany Fixes #50880. This commit implements the `ALTER SCHEMA RENAME TO` command. It reuses the existing schema change infrastructure to handle a more general case of an arbitrary descriptor that just needs names and existing leases drained. Release note (sql change): Implement the `ALTER SCHEMA RENAME TO` command. Co-authored-by: Yahor Yuzefovich <[email protected]> Co-authored-by: Rohan Yadav <[email protected]>
- Loading branch information
Showing
60 changed files
with
8,819 additions
and
6,569 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
Large diffs are not rendered by default.
Oops, something went wrong.
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.