'Run DESCRIBE for a ``Table`` and return processed rows.'

def _describe_table(self, connection, table, charset=None, full_name=None):

    if (full_name is None):
        full_name = self.identifier_preparer.format_table(table)
    st = ('DESCRIBE    %s' % full_name)
    (rp, rows) = (None, None)
    try:
        try:
            rp = connection.execute(st)
        except exc.DBAPIError as e:
            if (self._extract_error_code(e.orig) == 1146):
                raise exc.NoSuchTableError(full_name)
            else:
                raise
        rows = self._compat_fetchall(rp, charset=charset)
    finally:
        if rp:
            rp.close()
    return rows
