(db *badger.DB)
| 157 | } |
| 158 | |
| 159 | func (s *schemaStore) getPredicates(db *badger.DB) []string { |
| 160 | txn := db.NewTransactionAt(math.MaxUint64, false) |
| 161 | defer txn.Discard() |
| 162 | |
| 163 | opts := badger.DefaultIteratorOptions |
| 164 | opts.PrefetchValues = false |
| 165 | itr := txn.NewIterator(opts) |
| 166 | defer itr.Close() |
| 167 | |
| 168 | m := make(map[string]struct{}) |
| 169 | for itr.Rewind(); itr.Valid(); { |
| 170 | item := itr.Item() |
| 171 | pk, err := x.Parse(item.Key()) |
| 172 | x.Check(err) |
| 173 | m[pk.Attr] = struct{}{} |
| 174 | itr.Seek(pk.SkipPredicate()) |
| 175 | continue |
| 176 | } |
| 177 | |
| 178 | var preds []string |
| 179 | for pred := range m { |
| 180 | preds = append(preds, pred) |
| 181 | } |
| 182 | return preds |
| 183 | } |
| 184 | |
| 185 | func (s *schemaStore) write(db *badger.DB, preds []string) { |
| 186 | w := posting.NewTxnWriter(db) |
no test coverage detected