Skip to content

Commit 1a9f59f

Browse files
committed
fix: all tests passing and conformance works
1 parent 27bae6f commit 1a9f59f

File tree

3 files changed

+20
-9
lines changed

3 files changed

+20
-9
lines changed

crates/storage/src/hot/impls/mdbx.rs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ use reth_db::{
1313
mdbx::{RW, TransactionKind, WriteFlags, tx::Tx},
1414
};
1515
use reth_db_api::DatabaseError;
16-
use reth_libmdbx::{Cursor, RO};
16+
use reth_libmdbx::{Cursor, DatabaseFlags, RO};
1717
use std::borrow::Cow;
1818

1919
/// Error type for reth-libmdbx based hot storage.
@@ -179,12 +179,12 @@ impl HotKvWrite for Tx<RW> {
179179
dual_key: bool,
180180
fixed_val: bool,
181181
) -> Result<(), Self::Error> {
182-
let mut flags = Default::default();
182+
let mut flags = DatabaseFlags::default();
183183

184184
if dual_key {
185-
flags |= reth_libmdbx::DatabaseFlags::DUP_SORT;
185+
flags.set(reth_libmdbx::DatabaseFlags::DUP_SORT, true);
186186
if fixed_val {
187-
flags |= reth_libmdbx::DatabaseFlags::DUP_FIXED;
187+
flags.set(reth_libmdbx::DatabaseFlags::DUP_FIXED, true);
188188
}
189189
}
190190

crates/storage/src/hot/impls/mod.rs

Lines changed: 15 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,10 @@ mod test {
1515
};
1616
use alloy::primitives::{B256, Bytes, U256, address, b256};
1717
use reth::primitives::{Account, Bytecode, Header, SealedHeader};
18-
use reth_db::BlockNumberList;
18+
use reth_db::{
19+
BlockNumberList, ClientVersion, mdbx::DatabaseArguments, test_utils::tempdir_path,
20+
};
21+
use reth_libmdbx::MaxReadTransactionDuration;
1922

2023
#[test]
2124
fn mem_conformance() {
@@ -25,10 +28,16 @@ mod test {
2528

2629
#[test]
2730
fn mdbx_conformance() {
28-
let db = reth_db::test_utils::create_test_rw_db();
31+
let path = tempdir_path();
32+
let db = reth_db::create_db(
33+
&path,
34+
DatabaseArguments::new(ClientVersion::default())
35+
.with_max_read_transaction_duration(Some(MaxReadTransactionDuration::Unbounded)),
36+
)
37+
.unwrap();
2938

3039
// Create tables from the `crate::tables::hot` module
31-
let mut writer = db.db().writer().unwrap();
40+
let mut writer = db.writer().unwrap();
3241

3342
writer.queue_create::<hot::Headers>().unwrap();
3443
writer.queue_create::<hot::HeaderNumbers>().unwrap();
@@ -42,7 +51,7 @@ mod test {
4251

4352
writer.commit().expect("Failed to commit table creation");
4453

45-
conformance(db.db());
54+
conformance(&db);
4655
}
4756

4857
fn conformance<T: HotKv>(hot_kv: &T) {
@@ -235,7 +244,9 @@ mod test {
235244
// Read account change
236245
{
237246
let reader = hot_kv.reader().unwrap();
247+
238248
let read_change = reader.get_account_change(block_number, &addr).unwrap();
249+
239250
assert!(read_change.is_some());
240251
let change = read_change.unwrap();
241252
assert_eq!(change.nonce, 10);

crates/storage/src/tables/hot.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ table! {
3535

3636
table! {
3737
/// Records account states before transactions, keyed by (block_number, address).
38-
AccountChangeSets<BlockNumber => Address => Account> is 96
38+
AccountChangeSets<BlockNumber => Address => Account> is 8 + 32 + 32
3939
}
4040

4141
table! {

0 commit comments

Comments
 (0)