-
Notifications
You must be signed in to change notification settings - Fork 72
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
[Isthmus] Support LogicalExchange relation #153
Comments
Currently, the Substrait spec doesn't have a relation which would correspond to a Calcite LogicalExchange, so we don't/can't convert it. What is your use case for this? |
@vbarua Isn't exchange-operator corresponded to it? |
Huh, I don't how I missed that. It's in the proto spec as well. It's odd that it's not included as one of the possible rels in message Rel {
oneof rel_type { I think it would need to be included in order for us to return it is as a result in the visitor public class SubstraitRelVisitor extends RelNodeVisitor<Rel, RuntimeException> I suspect that might be an oversight the spec. I'll ask the substrait folks about it. |
The answer appears to be that no one has needed it until now. Given that it's already (mostly) in the spec, I think the steps for adding support for it in Isthmus would be:
|
@vbarua hello, may I ask the status of this issue? Does community plan to support it? |
The community is open to having this be in substrait-java and Isthmus, especially as it's already in the core spec. This would require the work above, and someone with the motivation and time to do it. I'm happy to provide pointers and reviews if you wanted to implement it yourself. |
@vbarua thanks for reply. Then I think I might take this issue myself because we need this feature in our scenario. By the way, is there an example or detail explanation about how exchange relation is used in substrait? I find the doc is a little simple for newbie. For example, what are the |
The only other source of info I know of would the protos themselves You might be able to get more information by asking on the mailing list and/or Slack channel. I will add, the Exchange relation as defined in the spec has a lot of types of exchanges. I wouldn't make it a requirement of any changes made to add support for all of them. Partial support for a subset of the exchanges would be perfectly acceptable, and allow other people to add support as needed. |
@vbarua thank you, I will look into it. |
Isthmus cannot handle LogicalExchange relation now:
The text was updated successfully, but these errors were encountered: