MCPcopy Create free account
hub / github.com/nutsdb/nutsdb / getRecordCount

Method getRecordCount

db.go:754–792  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

752}
753
754func (db *DB) getRecordCount() (int64, error) {
755 var res int64
756
757 // Iterate through the BTree indices
758 for _, btree := range db.Index.BTree.Idx {
759 res += int64(btree.Count())
760 }
761
762 // Iterate through the List indices
763 for _, listItem := range db.Index.List.Idx {
764 for key := range listItem.Items {
765 curLen, err := listItem.Size(key)
766 if err != nil {
767 return res, err
768 }
769 res += int64(curLen)
770 }
771 }
772
773 // Iterate through the Set indices
774 for _, setItem := range db.Index.Set.Idx {
775 for key := range setItem.M {
776 res += int64(setItem.SCard(key))
777 }
778 }
779
780 // Iterate through the SortedSet indices
781 for _, zsetItem := range db.Index.SortedSet.Idx {
782 for key := range zsetItem.M {
783 curLen, err := zsetItem.ZCard(key)
784 if err != nil {
785 return res, err
786 }
787 res += int64(curLen)
788 }
789 }
790
791 return res, nil
792}
793
794func (db *DB) buildBTreeIdx(record *core.Record, entry *core.Entry) error {
795 key, meta := entry.Key, entry.Meta

Callers 15

parseDataFilesMethod · 0.95
TestDB_MergeForStringFunction · 0.80
TestDB_MergeForSetFunction · 0.80
TestDB_MergeForZSetFunction · 0.80
TestDB_MergeForListFunction · 0.80
TestDB_MergeWithHintFileFunction · 0.80

Calls 4

CountMethod · 0.65
SizeMethod · 0.65
SCardMethod · 0.45
ZCardMethod · 0.45