File tree Expand file tree Collapse file tree 1 file changed +10
-5
lines changed Expand file tree Collapse file tree 1 file changed +10
-5
lines changed Original file line number Diff line number Diff line change @@ -255,12 +255,17 @@ impl<F> CurrentSegment<F> {
255
255
frame_no : frame_no. into ( ) ,
256
256
} ;
257
257
258
- let mut digest =
259
- crc32fast:: Hasher :: new_with_initial ( current_savepoint. current_checksum ) ;
260
- digest. write ( header. as_bytes ( ) ) ;
261
- digest. write ( page) ;
258
+ // only compute checksum if we don't need to recompute it later
259
+ let checksum = if tx. recompute_checksum . is_none ( ) {
260
+ let mut digest =
261
+ crc32fast:: Hasher :: new_with_initial ( current_savepoint. current_checksum ) ;
262
+ digest. write ( header. as_bytes ( ) ) ;
263
+ digest. write ( page) ;
264
+ digest. finalize ( )
265
+ } else {
266
+ 0
267
+ } ;
262
268
263
- let checksum = digest. finalize ( ) ;
264
269
let checksum_bytes = checksum. to_le_bytes ( ) ;
265
270
// We write a instance of a ChecksummedFrame
266
271
let slices = & [
You can’t perform that action at this time.
0 commit comments