@reflection.cache
def get_indexes(self, connection, table_name, schema=None, **kw):
    pragma_indexes = self._get_table_pragma(connection, 'index_list', table_name, schema=schema)
    indexes = []
    include_auto_indexes = kw.pop('include_auto_indexes', False)
    for row in pragma_indexes:
        if ((not include_auto_indexes) and row[1].startswith('sqlite_autoindex')):
            continue
        indexes.append(dict(name=row[1], column_names=[], unique=row[2]))
    for idx in list(indexes):
        pragma_index = self._get_table_pragma(connection, 'index_info', idx['name'])
        for row in pragma_index:
            if (row[2] is None):
                util.warn(('Skipped unsupported reflection of expression-based index %s' % idx['name']))
                indexes.remove(idx)
                break
            else:
                idx['column_names'].append(row[2])
    return indexes
@reflection.cache
def get_indexes(self, connection, table_name, schema=None, **kw):
    pragma_indexes = self._get_table_pragma(connection, 'index_list', table_name, schema=schema)
    indexes = []
    include_auto_indexes = kw.pop('include_auto_indexes', False)
    for row in pragma_indexes:
        if ((not include_auto_indexes) and row[1].startswith('sqlite_autoindex')):
            continue
        indexes.append(dict(name=row[1], column_names=[], unique=row[2]))
    for idx in list(indexes):
        pragma_index = self._get_table_pragma(connection, 'index_info', idx['name'])
        for row in pragma_index:
            if (row[2] is None):
                util.warn(('Skipped unsupported reflection of expression-based index %s' % idx['name']))
                indexes.remove(idx)
                break
            else:
                idx['column_names'].append(row[2])
    return indexes