-
Notifications
You must be signed in to change notification settings - Fork 1.2k
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
feat: Support array_join(Unknown) #12444
base: main
Are you sure you want to change the base?
Conversation
✅ Deploy Preview for meta-velox canceled.
|
@kgpai @laithsakka @mbasmanova Please help review this PR when you have time. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@xiaodouchen There are CI failures. Would you take a look?
TEST_F(ArrayJoinTest, unknownTest) { | ||
testArrayJoinNoReplacement<UnknownValue>( | ||
{std::nullopt, std::nullopt, std::nullopt}, ","_sv, ""_sv); | ||
testArrayJoinReplacement<UnknownValue>( |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This test case doesn't seem right. I'd expect all NULL values to be replaced with 'apple'.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes, you're right. Fixed.
409ea83
to
8172ddc
Compare
@mbasmanova |
8172ddc
to
a447297
Compare
@@ -198,6 +198,8 @@ int main(int argc, char** argv) { | |||
"current_date", // Non-deterministic | |||
"xxhash64_internal", | |||
"combine_hash_internal", | |||
"array_join", // No default Hive type provided for unsupported Hive |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Would you add a link to GitHub issue that provides more details?
It seems that with this change we lose Fuzzer coverage... is there a way to keep the coverage? If not, let's at least call this out in PR description.
CC: @kgpai @kagamiori
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
- Yes, added. ( array_join: Expression Fuzzer throws exception for the json type #12452)
- Sorry, I don't know how to keep the coverage. I have mentioned this limitation in the PR description.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@bikramSingh91 @amitkdutta @kagamiori @kgpai Krishna, Wei, Bikram, would you comment on whether we are Ok with loosing Fuzzer coverage for array_join.
a447297
to
7f16ead
Compare
7f16ead
to
1bff842
Compare
@@ -200,6 +200,7 @@ int main(int argc, char** argv) { | |||
"combine_hash_internal", | |||
"map_keys_by_top_n_values", // requires | |||
// https://github.com/prestodb/presto/pull/24570 | |||
"array_join", // https://github.com/facebookincubator/velox/issues/12452 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This should be separate PR and not part of this change since it would be good to ensure that your changes are being tested in the fuzzer.
Support array_join(Unknown).
Note:
array_join()
has already supported json type. The CI/CD testfailed and threw an exception "No default Hive type provided for
unsupported Hive type: json" in Presto fuzzer test. For more detailed
information, please refer to #12452.
We fix it by adding this function in
skipFunctions
and it will losefuzzer coverage.