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

Move JoinSelection into datafusion-physical-optimizer crate (#14073) #14085

Open
wants to merge 6 commits into
base: main
Choose a base branch
from

Conversation

cj-zhukov
Copy link
Contributor

Which issue does this PR close?

Closes #14073.

Rationale for this change

What changes are included in this PR?

Are these changes tested?

Are there any user-facing changes?

@github-actions github-actions bot added optimizer Optimizer rules core Core DataFusion crate labels Jan 11, 2025
@cj-zhukov
Copy link
Contributor Author

Got Min Supported Rust Version error during checks. Tried to fix it by using suggestions:

  1. cd datafusion-cli
  2. cargo update
    But it didn't help. Any help to fix it is welcomed.

Copy link
Contributor

@alamb alamb left a comment

Choose a reason for hiding this comment

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

Thank you @cj-zhukov -- this looks great. I looked into the msrv failure and pushed a fix

I noticed one thing that could be improved / simplified, but otherwise this PR looks great 👌 . I also think we can merge this PR as is and do the changes as a follow on if desired.

MSRV Failrue

andrewlamb@Andrews-MacBook-Pro-2:~/Software/datafusion2/datafusion-cli$ cargo msrv verify
  [Meta]   cargo-msrv 0.17.1

Compatibility Check #1: Rust 1.80.1
  [FAIL]   Is incompatible

  ╭────────────────────────────────────────────────────────────────────────╮
  │ error: rustc 1.80.1 is not supported by the following packages:        │
  │   [email protected] requires rustc 1.81.0                             │
  │   [email protected] requires rustc 1.81.0                         │
  │   [email protected] requires rustc 1.81.0                             │
  │ Either upgrade rustc or select compatible dependency versions with     │
  │ `cargo update <name>@<current-ver> --precise <compatible-ver>`         │
  │ where `<compatible-ver>` is the latest version supporting rustc 1.80.1 │
  │                                                                        │
  │                                                                        │
  ╰────────────────────────────────────────────────────────────────────────╯



Crate source was found to be incompatible with Rust version '1.80.1' specified as MSRV in the Cargo manifest located at '/Users/andrewlamb/Software/datafusion2/datafusion-cli/Cargo.toml'

This basically means that some of the aws sdk crates broke the MSRV. I pushed a fix in b9fdb38 that should fix it.

@@ -903,7 +900,7 @@ mod tests_statistical {
let original_schema = join.schema();

let optimized_join = JoinSelection::new()
.optimize(join.clone(), &ConfigOptions::new())
.optimize(Arc::<HashJoinExec>::clone(&join), &ConfigOptions::new())
Copy link
Contributor

Choose a reason for hiding this comment

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

I think this can be simplified to the following (no need to explicitly spell out the type):

Suggested change
.optimize(Arc::<HashJoinExec>::clone(&join), &ConfigOptions::new())
.optimize(Arc::clone(&join), &ConfigOptions::new())

Similarly for the other changes in this file

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
core Core DataFusion crate optimizer Optimizer rules
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Move JoinSelection into datafusion-physical-optimizer crate
2 participants