def _GetRows(self, result):
    if not result.rows.tuples:

      return None
    assert self._description, 'Column descriptions do not exist.'
    column_names = [col[0] for col in self._description]
    rows = []
    for tuple_proto in result.rows.tuples:
      row = []
      nulls = set(tuple_proto.nulls)
      value_index = 0
      for i, column_descr in enumerate(self._description):
        if i in nulls:
          row.append(None)
        else:
          row.append(self._DecodeVariable(column_descr[1],
                                          tuple_proto.values[value_index]))
          value_index += 1
      if self._use_dict_cursor:
        assert len(column_names) == len(row)
        row = dict(zip(column_names, row))
      else:
        row = tuple(row)
      rows.append(row)
    return rows
Returns a sequence of sequences containing the result set.
dataset/ETHPy150Open AppScale/appscale/AppServer/google/storage/speckle/python/api/rdbms.py/Cursor._GetRows