@@ -237,7 +237,7 @@ impl<'a> StaticSortedFileBuilder<'a> {
237
237
// Last block is Index block
238
238
239
239
// Store the locations of the values
240
- let mut value_locations: Vec < ( usize , usize ) > = Vec :: with_capacity ( entries. len ( ) ) ;
240
+ let mut value_locations: Vec < ( u16 , u32 ) > = Vec :: with_capacity ( entries. len ( ) ) ;
241
241
242
242
// Split the values into blocks
243
243
let mut current_block_start = 0 ;
@@ -249,7 +249,7 @@ impl<'a> StaticSortedFileBuilder<'a> {
249
249
if current_block_size + value. len ( ) > MAX_SMALL_VALUE_BLOCK_SIZE
250
250
|| current_block_count + 1 >= MAX_SMALL_VALUE_BLOCK_ENTRIES
251
251
{
252
- let block_index = self . blocks . len ( ) ;
252
+ let block_index = self . blocks . len ( ) . try_into ( ) . unwrap ( ) ;
253
253
let mut block = Vec :: with_capacity ( current_block_size) ;
254
254
for j in current_block_start..i {
255
255
if let EntryValue :: Small { value } = & entries[ j] . value ( ) {
@@ -262,12 +262,13 @@ impl<'a> StaticSortedFileBuilder<'a> {
262
262
current_block_size = 0 ;
263
263
current_block_count = 0 ;
264
264
}
265
- value_locations. push ( ( 0 , current_block_size) ) ;
265
+ value_locations. push ( ( 0 , current_block_size. try_into ( ) . unwrap ( ) ) ) ;
266
266
current_block_size += value. len ( ) ;
267
267
current_block_count += 1 ;
268
268
}
269
269
EntryValue :: Medium { value } => {
270
- value_locations. push ( ( self . blocks . len ( ) , value. len ( ) ) ) ;
270
+ let block_index = self . blocks . len ( ) . try_into ( ) . unwrap ( ) ;
271
+ value_locations. push ( ( block_index, 0 ) ) ;
271
272
self . blocks . push ( self . compress_value_block ( value) ) ;
272
273
}
273
274
_ => {
@@ -276,7 +277,7 @@ impl<'a> StaticSortedFileBuilder<'a> {
276
277
}
277
278
}
278
279
if current_block_count > 0 {
279
- let block_index = self . blocks . len ( ) ;
280
+ let block_index = self . blocks . len ( ) . try_into ( ) . unwrap ( ) ;
280
281
let mut block = Vec :: with_capacity ( current_block_size) ;
281
282
for j in current_block_start..entries. len ( ) {
282
283
if let EntryValue :: Small { value } = & entries[ j] . value ( ) {
@@ -292,20 +293,20 @@ impl<'a> StaticSortedFileBuilder<'a> {
292
293
// Split the keys into blocks
293
294
fn add_entry_to_block < E : Entry > (
294
295
entry : & E ,
295
- value_location : & ( usize , usize ) ,
296
+ value_location : & ( u16 , u32 ) ,
296
297
block : & mut KeyBlockBuilder ,
297
298
) {
298
299
match entry. value ( ) {
299
300
EntryValue :: Small { value } => {
300
301
block. put_small (
301
302
entry,
302
- value_location. 0 . try_into ( ) . unwrap ( ) ,
303
- value_location. 1 . try_into ( ) . unwrap ( ) ,
303
+ value_location. 0 ,
304
+ value_location. 1 ,
304
305
value. len ( ) . try_into ( ) . unwrap ( ) ,
305
306
) ;
306
307
}
307
308
EntryValue :: Medium { .. } => {
308
- block. put_medium ( entry, value_location. 0 . try_into ( ) . unwrap ( ) ) ;
309
+ block. put_medium ( entry, value_location. 0 ) ;
309
310
}
310
311
EntryValue :: Large { blob } => {
311
312
block. put_blob ( entry, blob) ;
0 commit comments