@@ -52,7 +52,7 @@ func MakeLevelMetadata(cmp Compare, level int, files []*TableMetadata) LevelMeta
52
52
}
53
53
var lm LevelMetadata
54
54
lm .level = level
55
- lm .tree = makeBTree (cmp , bcmp , files )
55
+ lm .tree = makeBTree (bcmp , files )
56
56
for _ , f := range files {
57
57
lm .totalTableSize += f .Size
58
58
lm .totalRefSize += f .EstimatedReferenceSize ()
@@ -64,10 +64,8 @@ func MakeLevelMetadata(cmp Compare, level int, files []*TableMetadata) LevelMeta
64
64
return lm
65
65
}
66
66
67
- func makeBTree (
68
- cmp base.Compare , bcmp btreeCmp [* TableMetadata ], files []* TableMetadata ,
69
- ) btree [* TableMetadata ] {
70
- t := btree [* TableMetadata ]{cmp : cmp , bcmp : bcmp }
67
+ func makeBTree (bcmp btreeCmp [* TableMetadata ], files []* TableMetadata ) btree [* TableMetadata ] {
68
+ t := btree [* TableMetadata ]{bcmp : bcmp }
71
69
for _ , f := range files {
72
70
if err := t .Insert (f ); err != nil {
73
71
panic (err )
@@ -76,10 +74,8 @@ func makeBTree(
76
74
return t
77
75
}
78
76
79
- func makeLevelSlice (
80
- cmp base.Compare , bcmp btreeCmp [* TableMetadata ], files []* TableMetadata ,
81
- ) LevelSlice {
82
- t := makeBTree (cmp , bcmp , files )
77
+ func makeLevelSlice (bcmp btreeCmp [* TableMetadata ], files []* TableMetadata ) LevelSlice {
78
+ t := makeBTree (bcmp , files )
83
79
slice := newLevelSlice (tableMetadataIter (& t ))
84
80
slice .verifyInvariants ()
85
81
// We can release the tree because the nodes that are referenced by the
@@ -190,23 +186,23 @@ func (lf LevelFile) Slice() LevelSlice {
190
186
// TODO(jackson): Can we improve this interface or avoid needing to export
191
187
// a slice constructor like this?
192
188
func NewLevelSliceSeqSorted (files []* TableMetadata ) LevelSlice {
193
- return makeLevelSlice (nil , btreeCmpSeqNum , files )
189
+ return makeLevelSlice (btreeCmpSeqNum , files )
194
190
}
195
191
196
192
// NewLevelSliceKeySorted constructs a LevelSlice over the provided files,
197
193
// sorted by the files smallest keys.
198
194
// TODO(jackson): Can we improve this interface or avoid needing to export
199
195
// a slice constructor like this?
200
196
func NewLevelSliceKeySorted (cmp base.Compare , files []* TableMetadata ) LevelSlice {
201
- return makeLevelSlice (cmp , btreeCmpSmallestKey (cmp ), files )
197
+ return makeLevelSlice (btreeCmpSmallestKey (cmp ), files )
202
198
}
203
199
204
200
// NewLevelSliceSpecificOrder constructs a LevelSlice over the provided files,
205
201
// ordering the files by their order in the provided slice. It's used in
206
202
// tests.
207
203
// TODO(jackson): Update tests to avoid requiring this and remove it.
208
204
func NewLevelSliceSpecificOrder (files []* TableMetadata ) LevelSlice {
209
- slice := makeLevelSlice (nil , btreeCmpSpecificOrder (files ), files )
205
+ slice := makeLevelSlice (btreeCmpSpecificOrder (files ), files )
210
206
slice .verifyInvariants ()
211
207
return slice
212
208
}
0 commit comments