diff --git a/core/lib.rs b/core/lib.rs index 628431145..d1d8f8a61 100644 --- a/core/lib.rs +++ b/core/lib.rs @@ -172,18 +172,16 @@ impl Statement { } pub fn step<'a>(&'a mut self) -> Result> { - loop { - let result = self.program.step(&mut self.state, self.pager.clone())?; - match result { - vdbe::StepResult::Row(row) => { - return Ok(RowResult::Row(Row { values: row.values })); - } - vdbe::StepResult::IO => { - return Ok(RowResult::IO); - } - vdbe::StepResult::Done => { - return Ok(RowResult::Done); - } + let result = self.program.step(&mut self.state, self.pager.clone())?; + match result { + vdbe::StepResult::Row(row) => { + return Ok(RowResult::Row(Row { values: row.values })); + } + vdbe::StepResult::IO => { + return Ok(RowResult::IO); + } + vdbe::StepResult::Done => { + return Ok(RowResult::Done); } } }