@@ -321,12 +321,13 @@ impl<'db, DB> Transaction<'db, DB> {
321
321
key : K ,
322
322
readopts : & ReadOptions ,
323
323
) -> Result < Option < DBPinnableSlice > , Error > {
324
+ let key = key. as_ref ( ) ;
324
325
unsafe {
325
326
let val = ffi_try ! ( ffi:: rocksdb_transaction_get_pinned(
326
327
self . inner,
327
328
readopts. inner,
328
- key. as_ref ( ) . as_ptr( ) as * const c_char,
329
- key. as_ref ( ) . len( ) ,
329
+ key. as_ptr( ) as * const c_char,
330
+ key. len( ) ,
330
331
) ) ;
331
332
if val. is_null ( ) {
332
333
Ok ( None )
@@ -359,13 +360,14 @@ impl<'db, DB> Transaction<'db, DB> {
359
360
key : K ,
360
361
readopts : & ReadOptions ,
361
362
) -> Result < Option < DBPinnableSlice > , Error > {
363
+ let key = key. as_ref ( ) ;
362
364
unsafe {
363
365
let val = ffi_try ! ( ffi:: rocksdb_transaction_get_pinned_cf(
364
366
self . inner,
365
367
readopts. inner,
366
368
cf. inner( ) ,
367
- key. as_ref ( ) . as_ptr( ) as * const c_char,
368
- key. as_ref ( ) . len( ) ,
369
+ key. as_ptr( ) as * const c_char,
370
+ key. len( ) ,
369
371
) ) ;
370
372
if val. is_null ( ) {
371
373
Ok ( None )
@@ -399,12 +401,13 @@ impl<'db, DB> Transaction<'db, DB> {
399
401
exclusive : bool ,
400
402
opts : & ReadOptions ,
401
403
) -> Result < Option < DBPinnableSlice > , Error > {
404
+ let key = key. as_ref ( ) ;
402
405
unsafe {
403
406
let val = ffi_try ! ( ffi:: rocksdb_transaction_get_pinned_for_update(
404
407
self . inner,
405
408
opts. inner,
406
- key. as_ref ( ) . as_ptr( ) as * const c_char,
407
- key. as_ref ( ) . len( ) as size_t,
409
+ key. as_ptr( ) as * const c_char,
410
+ key. len( ) as size_t,
408
411
u8 :: from( exclusive) ,
409
412
) ) ;
410
413
if val. is_null ( ) {
@@ -461,13 +464,14 @@ impl<'db, DB> Transaction<'db, DB> {
461
464
exclusive : bool ,
462
465
opts : & ReadOptions ,
463
466
) -> Result < Option < DBPinnableSlice > , Error > {
467
+ let key = key. as_ref ( ) ;
464
468
unsafe {
465
469
let val = ffi_try ! ( ffi:: rocksdb_transaction_get_pinned_for_update_cf(
466
470
self . inner,
467
471
opts. inner,
468
472
cf. inner( ) ,
469
- key. as_ref ( ) . as_ptr( ) as * const c_char,
470
- key. as_ref ( ) . len( ) as size_t,
473
+ key. as_ptr( ) as * const c_char,
474
+ key. len( ) as size_t,
471
475
u8 :: from( exclusive) ,
472
476
) ) ;
473
477
if val. is_null ( ) {
@@ -499,7 +503,10 @@ impl<'db, DB> Transaction<'db, DB> {
499
503
{
500
504
let ( keys, keys_sizes) : ( Vec < Box < [ u8 ] > > , Vec < _ > ) = keys
501
505
. into_iter ( )
502
- . map ( |k| ( Box :: from ( k. as_ref ( ) ) , k. as_ref ( ) . len ( ) ) )
506
+ . map ( |key| {
507
+ let key = key. as_ref ( ) ;
508
+ ( Box :: from ( key) , key. len ( ) )
509
+ } )
503
510
. unzip ( ) ;
504
511
let ptr_keys: Vec < _ > = keys. iter ( ) . map ( |k| k. as_ptr ( ) as * const c_char ) . collect ( ) ;
505
512
@@ -548,7 +555,10 @@ impl<'db, DB> Transaction<'db, DB> {
548
555
{
549
556
let ( cfs_and_keys, keys_sizes) : ( Vec < ( _ , Box < [ u8 ] > ) > , Vec < _ > ) = keys
550
557
. into_iter ( )
551
- . map ( |( cf, key) | ( ( cf, Box :: from ( key. as_ref ( ) ) ) , key. as_ref ( ) . len ( ) ) )
558
+ . map ( |( cf, key) | {
559
+ let key = key. as_ref ( ) ;
560
+ ( ( cf, Box :: from ( key) ) , key. len ( ) )
561
+ } )
552
562
. unzip ( ) ;
553
563
let ptr_keys: Vec < _ > = cfs_and_keys
554
564
. iter ( )
@@ -585,13 +595,15 @@ impl<'db, DB> Transaction<'db, DB> {
585
595
///
586
596
/// [`put_cf`]: Self::put_cf
587
597
pub fn put < K : AsRef < [ u8 ] > , V : AsRef < [ u8 ] > > ( & self , key : K , value : V ) -> Result < ( ) , Error > {
598
+ let key = key. as_ref ( ) ;
599
+ let value = value. as_ref ( ) ;
588
600
unsafe {
589
601
ffi_try ! ( ffi:: rocksdb_transaction_put(
590
602
self . inner,
591
- key. as_ref ( ) . as_ptr( ) as * const c_char,
592
- key. as_ref ( ) . len( ) as size_t,
593
- value. as_ref ( ) . as_ptr( ) as * const c_char,
594
- value. as_ref ( ) . len( ) as size_t,
603
+ key. as_ptr( ) as * const c_char,
604
+ key. len( ) as size_t,
605
+ value. as_ptr( ) as * const c_char,
606
+ value. len( ) as size_t,
595
607
) ) ;
596
608
Ok ( ( ) )
597
609
}
@@ -618,14 +630,16 @@ impl<'db, DB> Transaction<'db, DB> {
618
630
key : K ,
619
631
value : V ,
620
632
) -> Result < ( ) , Error > {
633
+ let key = key. as_ref ( ) ;
634
+ let value = value. as_ref ( ) ;
621
635
unsafe {
622
636
ffi_try ! ( ffi:: rocksdb_transaction_put_cf(
623
637
self . inner,
624
638
cf. inner( ) ,
625
- key. as_ref ( ) . as_ptr( ) as * const c_char,
626
- key. as_ref ( ) . len( ) as size_t,
627
- value. as_ref ( ) . as_ptr( ) as * const c_char,
628
- value. as_ref ( ) . len( ) as size_t,
639
+ key. as_ptr( ) as * const c_char,
640
+ key. len( ) as size_t,
641
+ value. as_ptr( ) as * const c_char,
642
+ value. len( ) as size_t,
629
643
) ) ;
630
644
Ok ( ( ) )
631
645
}
@@ -637,13 +651,15 @@ impl<'db, DB> Transaction<'db, DB> {
637
651
///
638
652
/// [`merge_cf`]: Self::merge_cf
639
653
pub fn merge < K : AsRef < [ u8 ] > , V : AsRef < [ u8 ] > > ( & self , key : K , value : V ) -> Result < ( ) , Error > {
654
+ let key = key. as_ref ( ) ;
655
+ let value = value. as_ref ( ) ;
640
656
unsafe {
641
657
ffi_try ! ( ffi:: rocksdb_transaction_merge(
642
658
self . inner,
643
- key. as_ref ( ) . as_ptr( ) as * const c_char,
644
- key. as_ref ( ) . len( ) as size_t,
645
- value. as_ref ( ) . as_ptr( ) as * const c_char,
646
- value. as_ref ( ) . len( ) as size_t
659
+ key. as_ptr( ) as * const c_char,
660
+ key. len( ) as size_t,
661
+ value. as_ptr( ) as * const c_char,
662
+ value. len( ) as size_t
647
663
) ) ;
648
664
Ok ( ( ) )
649
665
}
@@ -670,14 +686,16 @@ impl<'db, DB> Transaction<'db, DB> {
670
686
key : K ,
671
687
value : V ,
672
688
) -> Result < ( ) , Error > {
689
+ let key = key. as_ref ( ) ;
690
+ let value = value. as_ref ( ) ;
673
691
unsafe {
674
692
ffi_try ! ( ffi:: rocksdb_transaction_merge_cf(
675
693
self . inner,
676
694
cf. inner( ) ,
677
- key. as_ref ( ) . as_ptr( ) as * const c_char,
678
- key. as_ref ( ) . len( ) as size_t,
679
- value. as_ref ( ) . as_ptr( ) as * const c_char,
680
- value. as_ref ( ) . len( ) as size_t
695
+ key. as_ptr( ) as * const c_char,
696
+ key. len( ) as size_t,
697
+ value. as_ptr( ) as * const c_char,
698
+ value. len( ) as size_t
681
699
) ) ;
682
700
Ok ( ( ) )
683
701
}
@@ -689,11 +707,12 @@ impl<'db, DB> Transaction<'db, DB> {
689
707
///
690
708
/// [`delete_cf`]: Self::delete_cf
691
709
pub fn delete < K : AsRef < [ u8 ] > > ( & self , key : K ) -> Result < ( ) , Error > {
710
+ let key = key. as_ref ( ) ;
692
711
unsafe {
693
712
ffi_try ! ( ffi:: rocksdb_transaction_delete(
694
713
self . inner,
695
- key. as_ref ( ) . as_ptr( ) as * const c_char,
696
- key. as_ref ( ) . len( ) as size_t
714
+ key. as_ptr( ) as * const c_char,
715
+ key. len( ) as size_t
697
716
) ) ;
698
717
}
699
718
Ok ( ( ) )
@@ -718,12 +737,13 @@ impl<'db, DB> Transaction<'db, DB> {
718
737
cf : & impl AsColumnFamilyRef ,
719
738
key : K ,
720
739
) -> Result < ( ) , Error > {
740
+ let key = key. as_ref ( ) ;
721
741
unsafe {
722
742
ffi_try ! ( ffi:: rocksdb_transaction_delete_cf(
723
743
self . inner,
724
744
cf. inner( ) ,
725
- key. as_ref ( ) . as_ptr( ) as * const c_char,
726
- key. as_ref ( ) . len( ) as size_t
745
+ key. as_ptr( ) as * const c_char,
746
+ key. len( ) as size_t
727
747
) ) ;
728
748
}
729
749
Ok ( ( ) )
0 commit comments