# File lib/innodb/util/buffer_cursor.rb, line 205
  def read_and_advance(length)
    data = nil
    cursor_start = current.position
    case current.direction
    when :forward
      data = @buffer.slice(current.position, length)
      adjust(length)
    when :backward
      adjust(-length)
      data = @buffer.slice(current.position, length)
    end

    record_trace(cursor_start, data.bytes, current.name)
    data
  end