def seek(self, offset, whence=os.SEEK_SET):
    if not self._is_open:
      raise IOError(u'Not opened.')

    if whence == os.SEEK_CUR:
      offset += self._current_offset
    elif whence == os.SEEK_END:
      offset += self._size
    elif whence != os.SEEK_SET:
      raise IOError(u'Unsupported whence.')

    if offset < 0:
      raise IOError(u'Invalid offset value less than zero.')

    self._current_offset = offset
test cursor description is accurate for NCLOBs
dataset/ETHPy150Open log2timeline/dfvfs/dfvfs/file_io/fake_file_io.py/FakeFile.seek--crossover with--dataset/ETHPy150Open cloudera/hue/desktop/core/ext-py/cx_Oracle-5.1.2/test/LobVar.py/TestLobVar.testNCLOBCursorDescription