-
Notifications
You must be signed in to change notification settings - Fork 3.3k
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
GH-38920: [C++][Gandiva] Refactor function holder to return arrow Result #38873
Conversation
@kou I submit this PR to address the follow up task mentioned in #38632 (comment). But after I finish most of the refactoring, I realize the template function may still be needed since the function holder map requires returning a parent class shared_ptr (FunctionHolderPtr) but each FunctionHolder sub class's But this PR at least reduces 130 lines of code, so I think it may still be useful and submit it here. |
7244794
to
298076e
Compare
Thanks. Could you open an issue for this? |
282c14d
to
77733fb
Compare
|
Sure. I opened a bug #38879, which described the |
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.
I opened a bug #38879, which described the to_date_utf8_utf8_int32 invalid input bug I fixed in this PR. And the refactoring task is described in this PR description. Let me know if I need to create a separated issue for that.
Thanks.
Could you open one more issue for refactoring?
This has many refactoring related changes. If we mix the bug fix change and refactoring related changes in one PR, it's difficult to find the bug fix related change.
Okay. Update:
I made this PR to be the refactoring task PR since most of the review comments are for refactoring task. The PR title/description is updated as well. |
…ing output parameter.
818c790
to
b3bb57f
Compare
|
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 is a welcome improvement.
cc @js8544 |
Ci failures look unrelated, I'll merge. Thanks a lot for doing this @niyue ! |
After merging your PR, Conbench analyzed the 5 benchmarking runs that have been run so far on merge-commit 6f497ec. There were 4 benchmark results indicating a performance regression:
The full Conbench report has more details. It also includes information about 5 possible false positives for unstable benchmarks that are known to sometimes produce them. |
…ow Result (apache#38873) ### Rationale for this change * This PR tries to make Gandiva `FunctionHolder` classes to return `arrow::Result` instead of using output parameters, and this tries to address the follow up task mentioned in apache#38632 (comment) and makes the code slightly simpler ### What changes are included in this PR? * A refactoring task to return `arrow::Result` in Gandiva FunctionHolder classes ### Are these changes tested? It should be covered by existing unit tests. ### Are there any user-facing changes? No * Closes: apache#38920 Authored-by: Yue Ni <niyue.com@gmail.com> Signed-off-by: Antoine Pitrou <antoine@python.org>
Rationale for this change
FunctionHolder
classes to returnarrow::Result
instead of using output parameters, and this tries to address the follow up task mentioned in GH-38589: [C++][Gandiva] Support registering external C functions #38632 (comment) and makes the code slightly simplerWhat changes are included in this PR?
arrow::Result
in Gandiva FunctionHolder classesAre these changes tested?
It should be covered by existing unit tests.
Are there any user-facing changes?
No