func allHints(keyspace datastore.Keyspace, hints algebra.IndexRefs) ([]datastore.Index, error) { indexes := make([]datastore.Index, 0, len(hints)) for _, hint := range hints { indexer, err := keyspace.Indexer(hint.Using()) if err != nil { return nil, err } index, err := indexer.IndexByName(hint.Name()) if err != nil { return nil, err } state, _, er := index.State() if er != nil { logging.Errorp("Index selection", logging.Pair{"error", er.Error()}) } if er != nil || state != datastore.ONLINE { continue } indexes = append(indexes, index) } return indexes, nil }