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

Change API to return LogicalPlan instead of DataFrame #35

Merged
merged 3 commits into from
Dec 8, 2022

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