Connection::fetch will only return two combinations:
(Some(row), None): when a new row is obtained
(None, Some(has_more)) when there is no more records
In contrast what we are expecting is:
(Some(row), None)
(Some(row), Some(has_more))
(None, _)
These sohuld be syncronized.