"AND type = 'index'" % {"schema": schema_expr}
)
rs = connection.exec_driver_sql(s, (row[1],))
- index_sql = rs.scalar()
- predicate = partial_pred_re.search(index_sql).group(1)
- indexes[-1]["dialect_options"]["sqlite_where"] = text(
- predicate
- )
+ try:
+ # in theory the code below shouldn't happen because
+ # we know this is a partial index, so the definition
+ # sql should be there and match the regex
+ index_sql = rs.scalar()
+ predicate = partial_pred_re.search(index_sql).group(1)
+ indexes[-1]["dialect_options"]["sqlite_where"] = text(
+ predicate
+ )
+ except Exception:
+ util.warn(
+ "Failed to look up filter predicate of "
+ "partial index %s" % row[1]
+ )
+ indexes.pop()
# loop thru unique indexes to get the column names.
for idx in list(indexes):