buildSetIdx builds set index when opening the DB.
(record *core.Record, entry *core.Entry)
| 867 | |
| 868 | // buildSetIdx builds set index when opening the DB. |
| 869 | func (db *DB) buildSetIdx(record *core.Record, entry *core.Entry) error { |
| 870 | key, val, meta := entry.Key, entry.Value, entry.Meta |
| 871 | |
| 872 | bucket, err := db.bucketMgr.GetBucketById(entry.Meta.BucketId) |
| 873 | if err != nil { |
| 874 | return err |
| 875 | } |
| 876 | bucketId := bucket.Id |
| 877 | |
| 878 | s := db.Index.Set.GetWithDefault(bucketId) |
| 879 | |
| 880 | switch meta.Flag { |
| 881 | case DataSetFlag: |
| 882 | if err := s.SAdd(string(key), [][]byte{val}, []*core.Record{record}); err != nil { |
| 883 | return fmt.Errorf("when build SetIdx SAdd index err: %s", err) |
| 884 | } |
| 885 | case DataDeleteFlag: |
| 886 | if err := s.SRem(string(key), val); err != nil { |
| 887 | return fmt.Errorf("when build SetIdx SRem index err: %s", err) |
| 888 | } |
| 889 | } |
| 890 | |
| 891 | return nil |
| 892 | } |
| 893 | |
| 894 | // buildSortedSetIdx builds sorted set index when opening the DB. |
| 895 | func (db *DB) buildSortedSetIdx(record *core.Record, entry *core.Entry) error { |
no test coverage detected