code: def select(self, table, cols, mode='list', key_filter=True):
          
          if cols is None:
              cols = [c.name for c in self.relations[table]]
          rows = self.read_table(table, key_filter=key_filter)
          for row in select_rows(cols, rows, mode=mode):
              yield row
docs: Yield selected rows from *table*. This method just calls
          select_rows() on the rows read from *table*.