From 18e253870eadabf0e171a69897f0d197d6d254b0 Mon Sep 17 00:00:00 2001 From: "Jason E. Aten" Date: Thu, 29 Oct 2020 22:25:06 +0000 Subject: [PATCH] cleanup TypedDBPerShardGetShardsForIndex logic --- dbshard.go | 34 +++++++++++++--------------------- 1 file changed, 13 insertions(+), 21 deletions(-) diff --git a/dbshard.go b/dbshard.go index 81efa7537..74d36c771 100644 --- a/dbshard.go +++ b/dbshard.go @@ -734,32 +734,24 @@ func (per *DBPerShard) TypedDBPerShardGetShardsForIndex(ty txtype, idx *Index, r // Upon return, cache the setOfShards value and reuse it next time if ty == roaringTxn { + // INVAR: roaringViewPath == "", because the other case is + // handled above. rx := &RoaringTx{ Index: idx, } - if roaringViewPath == "" { - fields := idx.Fields() - for _, field := range fields { - for _, view := range field.views() { - sos, err := rx.SliceOfShards("", "", "", view.path) - if err != nil { - return nil, - errors.Wrap(err, fmt.Sprintf( - "TypedDBPerShardGetLocalShardsForIndex roaringTxn view.path='%v'", view.path)) - } - for _, shard := range sos { - setOfShards.add(shard) - } + fields := idx.Fields() + for _, field := range fields { + for _, view := range field.views() { + sos, err := rx.SliceOfShards("", "", "", view.path) + if err != nil { + return nil, + errors.Wrap(err, fmt.Sprintf( + "TypedDBPerShardGetLocalShardsForIndex roaringTxn view.path='%v'", view.path)) + } + for _, shard := range sos { + setOfShards.add(shard) } } - return setOfShards.CloneMaybe(), nil - } - sos, err := rx.SliceOfShards("", "", "", roaringViewPath) - if err != nil { - return nil, err - } - for _, shard := range sos { - setOfShards.add(shard) } return setOfShards.CloneMaybe(), nil }