Skip to content

Commit ad0aca8

Browse files
committed
fix: return error for empty range ordering
1 parent 18f57b7 commit ad0aca8

1 file changed

Lines changed: 6 additions & 3 deletions

File tree

  • datafusion/physical-plan/src/joins

datafusion/physical-plan/src/joins/utils.rs

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,7 @@ use datafusion_common::stats::Precision;
6969
use datafusion_common::utils::normalize_float_zero;
7070
use datafusion_common::{
7171
DataFusionError, JoinSide, JoinType, NullEquality, Result, SharedResult,
72-
not_impl_err, plan_err,
72+
internal_datafusion_err, not_impl_err, plan_err,
7373
};
7474
use datafusion_expr::Operator;
7575
use datafusion_expr::interval_arithmetic::Interval;
@@ -151,8 +151,11 @@ pub fn adjust_right_output_partitioning(
151151
range.ordering().iter().cloned(),
152152
left_columns_len as _,
153153
)?;
154-
let ordering = LexOrdering::new(ordering)
155-
.expect("offsetting a range ordering keeps it non-empty");
154+
let ordering = LexOrdering::new(ordering).ok_or_else(|| {
155+
internal_datafusion_err!(
156+
"Offsetting range partitioning produced an empty ordering"
157+
)
158+
})?;
156159
Partitioning::Range(RangePartitioning::new(
157160
ordering,
158161
range.split_points().to_vec(),

0 commit comments

Comments
 (0)