Open sdrap opened 1 week ago
What kind of panic do you get? Can you show the stack trace?
Backtrace = 1 I get this (the first counter examples with cols)
thread 'main' panicked at /home/sdrapeau/.cargo/registry/src/index.crates.io-6f17d22bba15001f/polars-plan-0.40.0/src/logical_plan/conversion/expr_to_ir.rs:367:33:
no `columns` expected at this point
stack backtrace:
0: rust_begin_unwind
at /rustc/129f3b9964af4d4a709d1383930ade12dfe7c081/library/std/src/panicking.rs:652:5
1: core::panicking::panic_fmt
at /rustc/129f3b9964af4d4a709d1383930ade12dfe7c081/library/core/src/panicking.rs:72:14
2: polars_plan::logical_plan::conversion::expr_to_ir::to_aexpr_impl::{{closure}}
at /home/sdrapeau/.cargo/registry/src/index.crates.io-6f17d22bba15001f/polars-plan-0.40.0/src/logical_plan/conversion/expr_to_ir.rs:367:33
3: stacker::maybe_grow
at /home/sdrapeau/.cargo/registry/src/index.crates.io-6f17d22bba15001f/stacker-0.1.15/src/lib.rs:55:9
4: polars_plan::logical_plan::conversion::expr_to_ir::to_aexpr_impl
at /home/sdrapeau/.cargo/registry/src/index.crates.io-6f17d22bba15001f/polars-plan-0.40.0/src/logical_plan/conversion/expr_to_ir.rs:108:1
5: polars_plan::logical_plan::conversion::expr_to_ir::to_aexpr_impl_materialized_lit
at /home/sdrapeau/.cargo/registry/src/index.crates.io-6f17d22bba15001f/polars-plan-0.40.0/src/logical_plan/conversion/expr_to_ir.rs:104:5
6: polars_plan::logical_plan::conversion::expr_to_ir::to_aexpr
at /home/sdrapeau/.cargo/registry/src/index.crates.io-6f17d22bba15001f/polars-plan-0.40.0/src/logical_plan/conversion/expr_to_ir.rs:26:5
7: polars_plan::dsl::expr::Expr::to_field_amortized
at /home/sdrapeau/.cargo/registry/src/index.crates.io-6f17d22bba15001f/polars-plan-0.40.0/src/dsl/expr.rs:313:20
8: polars_plan::logical_plan::schema::det_join_schema
at /home/sdrapeau/.cargo/registry/src/index.crates.io-6f17d22bba15001f/polars-plan-0.40.0/src/logical_plan/schema.rs:317:29
9: polars_plan::logical_plan::conversion::dsl_to_ir::to_alp_impl::{{closure}}
at /home/sdrapeau/.cargo/registry/src/index.crates.io-6f17d22bba15001f/polars-plan-0.40.0/src/logical_plan/conversion/dsl_to_ir.rs:354:17
10: stacker::maybe_grow
at /home/sdrapeau/.cargo/registry/src/index.crates.io-6f17d22bba15001f/stacker-0.1.15/src/lib.rs:55:9
11: polars_plan::logical_plan::conversion::dsl_to_ir::to_alp_impl
at /home/sdrapeau/.cargo/registry/src/index.crates.io-6f17d22bba15001f/polars-plan-0.40.0/src/logical_plan/conversion/dsl_to_ir.rs:59:1
12: polars_plan::logical_plan::conversion::dsl_to_ir::to_alp
at /home/sdrapeau/.cargo/registry/src/index.crates.io-6f17d22bba15001f/polars-plan-0.40.0/src/logical_plan/conversion/dsl_to_ir.rs:53:5
13: polars_plan::logical_plan::optimizer::optimize
at /home/sdrapeau/.cargo/registry/src/index.crates.io-6f17d22bba15001f/polars-plan-0.40.0/src/logical_plan/optimizer/mod.rs:94:22
14: polars_lazy::frame::LazyFrame::optimize_with_scratch
at /home/sdrapeau/.cargo/registry/src/index.crates.io-6f17d22bba15001f/polars-lazy-0.40.0/src/frame/mod.rs:542:22
15: polars_lazy::frame::LazyFrame::prepare_collect_post_opt
at /home/sdrapeau/.cargo/registry/src/index.crates.io-6f17d22bba15001f/polars-lazy-0.40.0/src/frame/mod.rs:595:13
16: polars_lazy::frame::LazyFrame::_collect_post_opt
at /home/sdrapeau/.cargo/registry/src/index.crates.io-6f17d22bba15001f/polars-lazy-0.40.0/src/frame/mod.rs:616:49
17: polars_lazy::frame::LazyFrame::collect
at /home/sdrapeau/.cargo/registry/src/index.crates.io-6f17d22bba15001f/polars-lazy-0.40.0/src/frame/mod.rs:646:9
18: playground::main
at ./src/main.rs:27:27
19: core::ops::function::FnOnce::call_once
at /rustc/129f3b9964af4d4a709d1383930ade12dfe7c081/library/core/src/ops/function.rs:250:5
note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.
A puzzling panic for multicolumn joins in with lazy dataframes.
Checks
Reproducible example
Joining two dataframes on 2 keys is ok
Lazy joining on one key is ok
Lazy joining on two keys panics
Log output
No response
Issue description
Joining two dataframes in non lazy modes on multiple keys is ok while on Lazy it panics (either using cols or a list of col).
Expected behavior
I expect the same output with or without lazy regardless of one or multiple keys.
Installed versions
["lazy", "temporal", "describe", "json", "parquet", "dtype-datetime"]