def read_dict(self):
        row = self._fetch()
        if row == None:
            return row
        retval = {}
        for i in range(len(self._row_desc.fields)):
            col_name = self._row_desc.fields[i]['name']
            if retval.has_key(col_name):
                raise InterfaceError((col_name,) % "cannot return dict of row when two columns have the same name (%r)")
            retval[col_name] = row[i]
        return retval

    ##
    # Read a row from the database server, and return it as a tuple of values.
    # Returns None after the last row.
    # <p>
    # Stability: Added in v1.00, stability guaranteed for v1.xx.
dataset/ETHPy150Open uwdata/termite-data-server/web2py/gluon/contrib/pg8000/interface.py/PreparedStatement.read_dict/swapped operands of `%`