mirror of
https://github.com/anyproto/any-sync.git
synced 2025-06-11 18:20:28 +09:00
Fix rollbacks
This commit is contained in:
parent
211158dae0
commit
3fd1e0b9ee
3 changed files with 16 additions and 4 deletions
|
@ -99,14 +99,18 @@ func New(ctx context.Context, spaceId string, store anystore.DB) (StateStorage,
|
|||
return storage, nil
|
||||
}
|
||||
|
||||
func Create(ctx context.Context, state State, store anystore.DB) (StateStorage, error) {
|
||||
func Create(ctx context.Context, state State, store anystore.DB) (st StateStorage, err error) {
|
||||
tx, err := store.WriteTx(ctx)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
storage, err := CreateTx(tx.Context(), state, store)
|
||||
defer func() {
|
||||
if err != nil {
|
||||
tx.Rollback()
|
||||
}
|
||||
}()
|
||||
if err != nil {
|
||||
tx.Rollback()
|
||||
return nil, err
|
||||
}
|
||||
return storage, tx.Commit()
|
||||
|
|
|
@ -66,8 +66,12 @@ func CreateStorage(ctx context.Context, root *consensusproto.RawRecordWithId, he
|
|||
return nil, err
|
||||
}
|
||||
storage, err := CreateStorageTx(tx.Context(), root, headStorage, store)
|
||||
defer func() {
|
||||
if err != nil {
|
||||
tx.Rollback()
|
||||
}
|
||||
}()
|
||||
if err != nil {
|
||||
tx.Rollback()
|
||||
return nil, err
|
||||
}
|
||||
return storage, tx.Commit()
|
||||
|
|
|
@ -82,8 +82,12 @@ func CreateStorage(ctx context.Context, root *treechangeproto.RawTreeChangeWithI
|
|||
return nil, err
|
||||
}
|
||||
storage, err := CreateStorageTx(tx.Context(), root, headStorage, store)
|
||||
defer func() {
|
||||
if err != nil {
|
||||
tx.Rollback()
|
||||
}
|
||||
}()
|
||||
if err != nil {
|
||||
tx.Rollback()
|
||||
return nil, err
|
||||
}
|
||||
return storage, tx.Commit()
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue