def fetch_scroll(direction, offset)
case direction
when DBI::SQL_FETCH_NEXT
return fetch
when DBI::SQL_FETCH_PRIOR
@res_handle.MovePrevious()
return fetch_currentrow
when DBI::SQL_FETCH_FIRST
@res_handle.MoveFirst()
return fetch_currentrow
when DBI::SQL_FETCH_LAST
@res_handle.MoveLast()
return fetch_currentrow
when DBI::SQL_FETCH_RELATIVE
@res_handle.Move(offset)
return fetch_currentrow
when DBI::SQL_FETCH_ABSOLUTE
ap = @res_handle.AbsolutePositon()
@res_handle.Move(offset-ap)
return fetch_currentrow
else
raise DBI::InterfaceError
end
rescue RuntimeError => err
raise DBI::DatabaseError.new(err.message)
end