Merge pull request #1415 from alrs/store-datas-errs

store/datas: fix dropped errors
This commit is contained in:
Zach Musgrave
2021-03-10 14:23:24 -08:00
committed by GitHub
5 changed files with 28 additions and 5 deletions

View File

@@ -163,6 +163,9 @@ func parentsToQueue(ctx context.Context, refs types.RefSlice, q *types.RefByHeig
q.PushBack(v.(types.Ref))
return
})
if err != nil {
return err
}
} else {
ps, ok, err := c.MaybeGet(ParentsField)
if err != nil {
@@ -174,6 +177,9 @@ func parentsToQueue(ctx context.Context, refs types.RefSlice, q *types.RefByHeig
q.PushBack(v.(types.Ref))
return
})
if err != nil {
return err
}
}
}
}

View File

@@ -551,6 +551,9 @@ func (db *database) doDelete(ctx context.Context, datasetIDstr string) error {
for {
currentDatasets, err = currentDatasets.Edit().Remove(datasetID).Map(ctx)
if err != nil {
return err
}
err = db.tryCommitChunks(ctx, currentDatasets, currentRootHash)
if err != ErrOptimisticLockFailed {
break

View File

@@ -302,6 +302,7 @@ func (suite *DatabaseSuite) TestDatasetsMapType() {
_, err = suite.db.Delete(context.Background(), ds)
suite.NoError(err)
dss, err = suite.db.Datasets(context.Background())
suite.NoError(err)
assertMapOfStringToRefOfCommit(context.Background(), dss, datasets, suite.db)
}

View File

@@ -336,6 +336,7 @@ func TestPuller(t *testing.T) {
wg.Wait()
sinkDS, err := sinkdb.GetDataset(ctx, "ds")
require.NoError(t, err)
sinkDS, err = sinkdb.FastForward(ctx, sinkDS, rootRef)
require.NoError(t, err)
@@ -382,9 +383,19 @@ func pullerRefEquality(ctx context.Context, expectad, actual types.Ref, srcDB, s
}
actualVal, err := actual.TargetValue(ctx, sinkDB)
if err != nil {
return false, err
}
exPs, exTbls, err := parentsAndTables(expectedVal.(types.Struct))
if err != nil {
return false, err
}
actPs, actTbls, err := parentsAndTables(actualVal.(types.Struct))
if err != nil {
return false, err
}
if !exPs.Equals(actPs) {
return false, nil

View File

@@ -19,6 +19,7 @@ import (
"testing"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
"github.com/dolthub/dolt/go/store/chunks"
"github.com/dolthub/dolt/go/store/types"
@@ -38,11 +39,12 @@ func TestNewTag(t *testing.T) {
parents := mustList(types.NewList(context.Background(), db))
commit, err := NewCommit(context.Background(), types.Float(1), parents, types.EmptyStruct(types.Format_7_18))
assert.NoError(err)
require.NoError(t, err)
cmRef, err := types.NewRef(commit, types.Format_7_18)
assert.NoError(err)
require.NoError(t, err)
tag, err := NewTag(context.Background(), cmRef, types.EmptyStruct(types.Format_7_18))
require.NoError(t, err)
ct, err := makeCommitStructType(
types.EmptyStructType,
@@ -50,14 +52,14 @@ func TestNewTag(t *testing.T) {
mustType(types.MakeListType(mustType(types.MakeUnionType()))),
types.PrimitiveTypeMap[types.FloatKind],
)
assert.NoError(err)
require.NoError(t, err)
et, err := makeTagStructType(
types.EmptyStructType,
mustType(types.MakeRefType(ct)),
)
assert.NoError(err)
require.NoError(t, err)
at, err := types.TypeOf(tag)
assert.NoError(err)
require.NoError(t, err)
assertTypeEquals(et, at)
}