Skip to content

Commit

Permalink
further simplify
Browse files Browse the repository at this point in the history
Signed-off-by: remzi <13716567376yh@gmail.com>
  • Loading branch information
HaoYang670 committed Sep 7, 2022
1 parent 5b20306 commit 0187046
Showing 1 changed file with 19 additions and 24 deletions.
43 changes: 19 additions & 24 deletions datafusion/sql/src/planner.rs
Original file line number Diff line number Diff line change
Expand Up @@ -1310,28 +1310,25 @@ impl<'a, S: ContextProvider> SqlToRel<'a, S> {
}

let skip = match skip {
Some(skip_expr) => {
let skip = match self.sql_to_rex(
skip_expr.value,
input.schema(),
&mut HashMap::new(),
)? {
Expr::Literal(ScalarValue::Int64(Some(s))) => {
if s < 0 {
return Err(DataFusionError::Plan(format!(
"Offset must be >= 0, '{}' was provided.",
s
)));
}
Ok(s as usize)
Some(skip_expr) => match self.sql_to_rex(
skip_expr.value,
input.schema(),
&mut HashMap::new(),
)? {
Expr::Literal(ScalarValue::Int64(Some(s))) => {
if s < 0 {
return Err(DataFusionError::Plan(format!(
"Offset must be >= 0, '{}' was provided.",
s
)));
}
_ => Err(DataFusionError::Plan(
"Unexpected expression in OFFSET clause".to_string(),
)),
}?;
Some(skip)
}
_ => None,
Ok(s as usize)
}
_ => Err(DataFusionError::Plan(
"Unexpected expression in OFFSET clause".to_string(),
)),
}?,
_ => 0,
};

let fetch = match fetch {
Expand All @@ -1351,9 +1348,7 @@ impl<'a, S: ContextProvider> SqlToRel<'a, S> {
_ => None,
};

LogicalPlanBuilder::from(input)
.limit(skip.unwrap_or(0), fetch)?
.build()
LogicalPlanBuilder::from(input).limit(skip, fetch)?.build()
}

/// Wrap the logical in a sort
Expand Down

0 comments on commit 0187046

Please sign in to comment.