@@ -3,6 +3,8 @@ pub mod record;
3
3
4
4
use std:: sync:: Arc ;
5
5
6
+ use cove_util:: result_ext:: ResultExt as _;
7
+
6
8
use ahash:: AHashMap as HashMap ;
7
9
use network_block_height:: NetworkBlockHeight ;
8
10
use record:: HistoricalPriceRecord ;
@@ -48,16 +50,12 @@ impl HistoricalPriceTable {
48
50
) -> Result < Option < HistoricalPriceRecord > , Error > {
49
51
let key = NetworkBlockHeight :: new ( network, block_height) ;
50
52
51
- let read_txn =
52
- self . db . begin_read ( ) . map_err ( |error| Error :: DatabaseAccess ( error. to_string ( ) ) ) ?;
53
+ let read_txn = self . db . begin_read ( ) . map_err_str ( Error :: DatabaseAccess ) ?;
53
54
54
- let table =
55
- read_txn. open_table ( TABLE ) . map_err ( |error| Error :: TableAccess ( error. to_string ( ) ) ) ?;
55
+ let table = read_txn. open_table ( TABLE ) . map_err_str ( Error :: TableAccess ) ?;
56
56
57
- let value = table
58
- . get ( key)
59
- . map_err ( |error| HistoricalPriceTableError :: Read ( error. to_string ( ) ) ) ?
60
- . map ( |value| value. value ( ) ) ;
57
+ let value =
58
+ table. get ( key) . map_err_str ( HistoricalPriceTableError :: Read ) ?. map ( |value| value. value ( ) ) ;
61
59
62
60
Ok ( value)
63
61
}
@@ -74,20 +72,15 @@ impl HistoricalPriceTable {
74
72
// convert to the more compact record format
75
73
let price_record: HistoricalPriceRecord = price. into ( ) ;
76
74
77
- let write_txn =
78
- self . db . begin_write ( ) . map_err ( |error| Error :: DatabaseAccess ( error. to_string ( ) ) ) ?;
75
+ let write_txn = self . db . begin_write ( ) . map_err_str ( Error :: DatabaseAccess ) ?;
79
76
80
77
{
81
- let mut table = write_txn
82
- . open_table ( TABLE )
83
- . map_err ( |error| Error :: TableAccess ( error. to_string ( ) ) ) ?;
78
+ let mut table = write_txn. open_table ( TABLE ) . map_err_str ( Error :: TableAccess ) ?;
84
79
85
- table
86
- . insert ( key, & price_record)
87
- . map_err ( |error| HistoricalPriceTableError :: Save ( error. to_string ( ) ) ) ?;
80
+ table. insert ( key, & price_record) . map_err_str ( HistoricalPriceTableError :: Save ) ?;
88
81
}
89
82
90
- write_txn. commit ( ) . map_err ( |error| Error :: DatabaseAccess ( error . to_string ( ) ) ) ?;
83
+ write_txn. commit ( ) . map_err_str ( Error :: DatabaseAccess ) ?;
91
84
92
85
Ok ( ( ) )
93
86
}
@@ -99,11 +92,9 @@ impl HistoricalPriceTable {
99
92
network : Network ,
100
93
block_heights : & [ u32 ] ,
101
94
) -> Result < HashMap < u32 , Option < HistoricalPrice > > , Error > {
102
- let read_txn =
103
- self . db . begin_read ( ) . map_err ( |error| Error :: DatabaseAccess ( error. to_string ( ) ) ) ?;
95
+ let read_txn = self . db . begin_read ( ) . map_err_str ( Error :: DatabaseAccess ) ?;
104
96
105
- let table =
106
- read_txn. open_table ( TABLE ) . map_err ( |error| Error :: TableAccess ( error. to_string ( ) ) ) ?;
97
+ let table = read_txn. open_table ( TABLE ) . map_err_str ( Error :: TableAccess ) ?;
107
98
108
99
let mut prices = HashMap :: with_capacity ( block_heights. len ( ) ) ;
109
100
@@ -112,7 +103,7 @@ impl HistoricalPriceTable {
112
103
let key = NetworkBlockHeight :: new ( network, block_height) ;
113
104
let value = table
114
105
. get ( key)
115
- . map_err ( |error| HistoricalPriceTableError :: Read ( error . to_string ( ) ) ) ?
106
+ . map_err_str ( HistoricalPriceTableError :: Read ) ?
116
107
. map ( |value| value. value ( ) ) ;
117
108
118
109
prices. insert ( block_height, value. map ( HistoricalPrice :: from) ) ;
@@ -124,19 +115,16 @@ impl HistoricalPriceTable {
124
115
/// DANGEROUS: Deletes all prices from the table.
125
116
#[ allow( dead_code) ]
126
117
fn clear ( & self ) -> Result < ( ) , Error > {
127
- let write_txn =
128
- self . db . begin_write ( ) . map_err ( |error| Error :: DatabaseAccess ( error. to_string ( ) ) ) ?;
118
+ let write_txn = self . db . begin_write ( ) . map_err_str ( Error :: DatabaseAccess ) ?;
129
119
130
120
{
131
- let mut table = write_txn
132
- . open_table ( TABLE )
133
- . map_err ( |error| Error :: TableAccess ( error. to_string ( ) ) ) ?;
121
+ let mut table = write_txn. open_table ( TABLE ) . map_err_str ( Error :: TableAccess ) ?;
134
122
135
123
// delete all the records
136
- table. retain ( |_, _| false ) . map_err ( |error| Error :: DatabaseAccess ( error . to_string ( ) ) ) ?;
124
+ table. retain ( |_, _| false ) . map_err_str ( Error :: DatabaseAccess ) ?;
137
125
}
138
126
139
- write_txn. commit ( ) . map_err ( |error| Error :: DatabaseAccess ( error . to_string ( ) ) ) ?;
127
+ write_txn. commit ( ) . map_err_str ( Error :: DatabaseAccess ) ?;
140
128
Ok ( ( ) )
141
129
}
142
130
}
0 commit comments