Skip to content
This repository was archived by the owner on Jan 13, 2023. It is now read-only.

Conversation

@andygrove
Copy link
Collaborator

@andygrove andygrove commented Dec 7, 2022

As suggested by @nseekhao, given that to_substrait_rel() takes LogicalPlan and returns Substrait Rel, it would be better if from_subtrait_rel() takes Substrait Rel and returns LogicalPlan rather than DataFrame.

left.join(right, join_type, &left_cols, &right_cols, None)
let left_cols: Vec<Column> = pairs.iter().map(|(l, _)| l.clone()).collect();
let right_cols: Vec<Column> = pairs.iter().map(|(_, r)| r.clone()).collect();
left.join(&right, join_type, (left_cols, right_cols), None)?
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is the last parameter (filter) that's set to None the same field semantically as Substrait JoinRel's post_join_filter?

If not, please ignore the comment.

If so, should we check if the JoinRel has post_join_filter? And if so, parse it?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, I think those probably are the same concept. It would be good to implement this in a separate PR.

Copy link
Contributor

@waynexia waynexia left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good to me. By the way, I prefer to remove optimize() calls later as it is out of the scope of serializing/deserializing. The downstream consumer can do optimization by themselves.

@andygrove
Copy link
Collaborator Author

Looks good to me. By the way, I prefer to remove optimize() calls later as it is out of the scope of serializing/deserializing. The downstream consumer can do optimization by themselves.

Yes, I agree with that.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants