Changes for tests and database fixes

This commit is contained in:
mcrakhman 2022-11-28 16:15:25 +01:00 committed by Mikhail Iudin
parent 91427be6f7
commit 8483ca1c87
No known key found for this signature in database
GPG Key ID: FAAAA8BAABDFF1C0
5 changed files with 18 additions and 7 deletions

View File

@ -138,7 +138,8 @@ func (s *spaceStorage) StoredIds() (ids []string, err error) {
for it.Rewind(); it.Valid(); it.Next() {
item := it.Item()
id := item.Key()
id := make([]byte, 0, len(item.Key()))
id = item.KeyCopy(id)
if len(id) <= len(s.keys.TreeRootPrefix())+1 {
continue
}

View File

@ -155,6 +155,7 @@ func (t *treeStorage) storedKeys() (keys [][]byte, err error) {
err = t.db.View(func(txn *badger.Txn) error {
opts := badger.DefaultIteratorOptions
opts.PrefetchValues = false
// this will get all raw changes and also "heads"
opts.Prefix = t.keys.RawChangePrefix()
it := txn.NewIterator(opts)
@ -164,7 +165,7 @@ func (t *treeStorage) storedKeys() (keys [][]byte, err error) {
item := it.Item()
key := item.Key()
keyCopy := make([]byte, 0, len(key))
keyCopy = item.KeyCopy(key)
keyCopy = item.KeyCopy(keyCopy)
keys = append(keys, keyCopy)
}
return nil

View File

@ -86,7 +86,7 @@ func (st *DeletionState) Delete(id string) (err error) {
defer st.Unlock()
delete(st.queued, id)
st.deleted[id] = struct{}{}
err = st.storage.SetTreeDeletedStatus(id, storage.TreeDeletedStatusQueued)
err = st.storage.SetTreeDeletedStatus(id, storage.TreeDeletedStatusDeleted)
if err != nil {
return
}

View File

@ -7,7 +7,7 @@ import (
"github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/settingsdocument/deletionstate"
"github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/spacesyncproto"
spacestorage "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/storage"
"github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/synctree"
"github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/syncservice/synchandler"
"github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/synctree/updatelistener"
"github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/treegetter"
"github.com/anytypeio/go-anytype-infrastructure-experiments/common/pkg/acl/tree"
@ -35,7 +35,8 @@ type Deps struct {
}
type settingsDocument struct {
*synctree.SyncTree
tree.ObjectTree
synchandler.SyncHandler
account account.Service
spaceId string
treeGetter treegetter.TreeGetter
@ -99,11 +100,12 @@ func (s *settingsDocument) Rebuild(tr tree.ObjectTree) {
}
func (s *settingsDocument) Init(ctx context.Context) (err error) {
syncTree, err := s.buildFunc(ctx, s.store.SpaceSettingsId(), s)
s.ObjectTree, err = s.buildFunc(ctx, s.store.SpaceSettingsId(), s)
if err != nil {
return
}
s.SyncTree = syncTree.(*synctree.SyncTree)
// this is needed, so we would easily convert the object to synchandler interface in objectgetter
s.SyncHandler = s.ObjectTree.(synchandler.SyncHandler)
s.loop.Run()
return
}

View File

@ -0,0 +1,7 @@
package settingsdocument
import "testing"
func TestSettingsDocument_Init(t *testing.T) {
}