Skip to content
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

Unsupported binary operator StringConcat #201

Closed
andygrove opened this issue Sep 10, 2022 · 5 comments · Fixed by #200 or #298
Closed

Unsupported binary operator StringConcat #201

andygrove opened this issue Sep 10, 2022 · 5 comments · Fixed by #200 or #298
Labels
bug Something isn't working

Comments

@andygrove
Copy link
Member

Describe the bug

Could not parse logical plan protobuf: Error during planning: General error: Unsupported binary operator '\\\"StringConcat\\\"

To Reproduce
Steps to reproduce the behavior:

Expected behavior
A clear and concise description of what you expected to happen.

Additional context
Add any other context about the problem here.

@andygrove andygrove added the bug Something isn't working label Sep 10, 2022
@askoa
Copy link
Contributor

askoa commented Sep 11, 2022

I think a possible fix is to include a function like from_str in arrow-datafustion#Operator and use it in arrow-ballista. I see that ballista's code has not included Bitwise operators too. This issue will resurface whenever a new binary operator is included in datafusion project. Including the from_str function will ensure two projects need not be modified when a binary operator is included.

@askoa
Copy link
Contributor

askoa commented Sep 14, 2022

@andygrove Sorry for being little late for the party. My impression of the ticket was that the error quoted in the issue description is generated in the function from_proto_binary_op. To fix the issue, StringConcat has to be added to the match op block in that function.

I also see there might be more issues in future, now that Bitwise operators are included in the Operator which is not yet added to the match op block. I wrote an earlier comment that rather than keep updating the match op block in arrow-ballista project, its better to include a from_str function in the arrow-datafusion project.

I see that the issue is closed without updating match op block. It would be great to know how the issue is fixed without updating the match op block. Could you please explain?

@andygrove
Copy link
Member Author

Hi @askoa. The bug that I fixed was related to logical plan serialization. This is part of the datafusion-proto crate that Ballista uses. You are right though .. we also need to fix this in the physical plan serialization.

@andygrove
Copy link
Member Author

@askoa, I created a PR to add the missing operators, but I agree with your comments that we could leverage DataFusion rather than have duplicate code here. DataFusion has a from_proto_binary_op that we could use, but it is currently private.

We also need some tests in Ballista around this.

@askoa
Copy link
Contributor

askoa commented Sep 14, 2022

@andygrove Thanks for the response. I'll pick this one up.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
2 participants