diff --git a/src/iterator.rs b/src/iterator.rs index 8736907..2855b33 100644 --- a/src/iterator.rs +++ b/src/iterator.rs @@ -26,8 +26,13 @@ impl<'l> Iterator<'l> { /// Read the next row. pub fn next(&mut self) -> Result> { match self.state { - Some(State::Row) => {}, - _ => return Ok(None), + Some(State::Done) => return Ok(None), + None => { + try!(self.statement.reset()); + self.state = Some(try!(self.statement.step())); + return self.next(); + }, + _ => {}, } let values = match self.values.take() { Some(mut values) => {