remove internal locking from DBTransaction (#2003)
This commit is contained in:
committed by
Arkadiy Paronyan
parent
b18407b9e3
commit
2aef81cf90
@@ -142,7 +142,7 @@ impl<T> TraceDB<T> where T: DatabaseExtras {
|
||||
false => [0x0]
|
||||
};
|
||||
|
||||
let batch = DBTransaction::new(&tracesdb);
|
||||
let mut batch = DBTransaction::new(&tracesdb);
|
||||
batch.put(db::COL_TRACE, b"enabled", &encoded_tracing);
|
||||
batch.put(db::COL_TRACE, b"version", TRACE_DB_VER);
|
||||
tracesdb.write(batch).unwrap();
|
||||
@@ -261,7 +261,7 @@ impl<T> TraceDatabase for TraceDB<T> where T: DatabaseExtras {
|
||||
|
||||
/// Traces of import request's enacted blocks are expected to be already in database
|
||||
/// or to be the currently inserted trace.
|
||||
fn import(&self, batch: &DBTransaction, request: ImportRequest) {
|
||||
fn import(&self, batch: &mut DBTransaction, request: ImportRequest) {
|
||||
// valid (canon): retracted 0, enacted 1 => false, true,
|
||||
// valid (branch): retracted 0, enacted 0 => false, false,
|
||||
// valid (bbcc): retracted 1, enacted 1 => true, true,
|
||||
@@ -611,8 +611,8 @@ mod tests {
|
||||
|
||||
// import block 0
|
||||
let request = create_simple_import_request(0, block_0.clone());
|
||||
let batch = DBTransaction::new(&db);
|
||||
tracedb.import(&batch, request);
|
||||
let mut batch = DBTransaction::new(&db);
|
||||
tracedb.import(&mut batch, request);
|
||||
db.write(batch).unwrap();
|
||||
|
||||
let filter = Filter {
|
||||
@@ -627,8 +627,8 @@ mod tests {
|
||||
|
||||
// import block 1
|
||||
let request = create_simple_import_request(1, block_1.clone());
|
||||
let batch = DBTransaction::new(&db);
|
||||
tracedb.import(&batch, request);
|
||||
let mut batch = DBTransaction::new(&db);
|
||||
tracedb.import(&mut batch, request);
|
||||
db.write(batch).unwrap();
|
||||
|
||||
let filter = Filter {
|
||||
@@ -686,8 +686,8 @@ mod tests {
|
||||
|
||||
// import block 0
|
||||
let request = create_simple_import_request(0, block_0.clone());
|
||||
let batch = DBTransaction::new(&db);
|
||||
tracedb.import(&batch, request);
|
||||
let mut batch = DBTransaction::new(&db);
|
||||
tracedb.import(&mut batch, request);
|
||||
db.write(batch).unwrap();
|
||||
}
|
||||
|
||||
|
||||
@@ -121,7 +121,7 @@ pub trait Database {
|
||||
fn tracing_enabled(&self) -> bool;
|
||||
|
||||
/// Imports new block traces.
|
||||
fn import(&self, batch: &DBTransaction, request: ImportRequest);
|
||||
fn import(&self, batch: &mut DBTransaction, request: ImportRequest);
|
||||
|
||||
/// Returns localized trace at given position.
|
||||
fn trace(&self, block_number: BlockNumber, tx_position: usize, trace_position: Vec<usize>) -> Option<LocalizedTrace>;
|
||||
|
||||
Reference in New Issue
Block a user