github.com/weaviate/weaviate@v1.24.6/adapters/repos/db/lsmkv/cursor_memtable_roaring_set.go (about) 1 // _ _ 2 // __ _____ __ ___ ___ __ _| |_ ___ 3 // \ \ /\ / / _ \/ _` \ \ / / |/ _` | __/ _ \ 4 // \ V V / __/ (_| |\ V /| | (_| | || __/ 5 // \_/\_/ \___|\__,_| \_/ |_|\__,_|\__\___| 6 // 7 // Copyright © 2016 - 2024 Weaviate B.V. All rights reserved. 8 // 9 // CONTACT: hello@weaviate.io 10 // 11 12 package lsmkv 13 14 import ( 15 roaringset2 "github.com/weaviate/weaviate/adapters/repos/db/roaringset" 16 ) 17 18 func (m *Memtable) newRoaringSetCursor() roaringset2.InnerCursor { 19 m.RLock() 20 defer m.RUnlock() 21 22 // Since FlattenInOrder makes deep copy of bst's nodes, 23 // no further memtable's locking in required on cursor's methods 24 return roaringset2.NewBinarySearchTreeCursor(m.roaringSet) 25 }