[CALCITE-7696] COVAR result type is derived only from first argument type - #5164
Merged
Conversation
2 tasks
xuzifu666
approved these changes
Aug 7, 2026
xuzifu666
left a comment
Member
There was a problem hiding this comment.
Overall LGTM, only left a comment for test case.
| f.checkAggType("covar_pop(1.5, 2.5)", "DECIMAL(2, 1) NOT NULL"); | ||
| // [CALCITE-7696] Result type is the least restrictive of the two | ||
| // argument types, not the type of the first argument | ||
| f.checkAggType("covar_pop(1, cast(2 as double))", "DOUBLE NOT NULL"); |
Member
There was a problem hiding this comment.
Right now only the INT + DOUBLE case is covered. It would be safer to add a few more edge cases:
- Mixed decimal/numeric combinations, e.g. DECIMAL + DOUBLE, DECIMAL + INT
- Nullable scenarios: both arguments NULL, or one of them NULL
Contributor
Author
There was a problem hiding this comment.
Added more tests, but by mistake I amended my commit, I apologize
Member
There was a problem hiding this comment.
I think these changes are fine.
…type Signed-off-by: Mihai Budiu <mbudiu@feldera.com>
|
This file contains hidden or 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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.



Jira Link
CALCITE-7696
Changes Proposed
The result type is now defined to be the least restrictive of the two input types.
One additional related bug was fixed: the division required by these functions in the last step also needs to also use a wider type.