Skip to content

Commit d3d27e6

Browse files
committed
wip
1 parent 4595a71 commit d3d27e6

File tree

1 file changed

+13
-29
lines changed

1 file changed

+13
-29
lines changed

bin/katana/tests/db_prune.rs

Lines changed: 13 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -7,22 +7,12 @@ use katana::cli::Cli;
77
use katana_db::abstraction::{Database, DbCursor, DbDupSortCursor, DbTx, DbTxMut};
88
use katana_db::mdbx::DbEnv;
99
use katana_db::models::trie::{TrieDatabaseKey, TrieDatabaseValue, TrieHistoryEntry};
10-
use katana_db::tables::{ClassesTrieHistory, ContractsTrieHistory, Headers, StoragesTrieHistory};
11-
use katana_primitives::block::Header;
10+
use katana_db::tables::{self};
11+
use katana_primitives::block::{Header, PartialHeader};
1212
use katana_utils::random_bytes;
1313
use rstest::*;
1414
use tempfile::TempDir;
1515

16-
/// Get the latest block number from the Headers table
17-
pub fn get_latest_block_number<Tx: DbTx>(tx: &Tx) -> Result<u64> {
18-
let mut cursor = tx.cursor::<Headers>()?;
19-
if let Some((block_num, _)) = cursor.last()? {
20-
Ok(block_num)
21-
} else {
22-
Ok(0)
23-
}
24-
}
25-
2616
struct TempDb {
2717
temp_dir: TempDir,
2818
db_path: PathBuf,
@@ -96,36 +86,30 @@ fn generate_trie_entries(
9686
fn populate_db(db: &TempDb) -> Result<()> {
9787
db.open_rw().update(|tx| {
9888
for block_num in 0..=15u64 {
99-
let header =
100-
Header::arbitrary(&mut Unstructured::new(&random_bytes(Header::size_hint(0).0)))
101-
.context("Failed to generate arbitrary header")?;
102-
103-
tx.put::<Headers>(block_num, header)?;
89+
tx.put::<tables::Headers>(block_num, Header::default())?;
10490
}
10591

106-
// Generate arbitrary trie data for each trie type
107-
let classes_data = generate_trie_entries(15, 5)?;
108-
let contracts_data = generate_trie_entries(15, 3)?;
109-
let storages_data = generate_trie_entries(15, 7)?;
110-
11192
// Insert classes trie history
93+
let classes_data = generate_trie_entries(15, 5)?;
11294
for (block_num, entries) in classes_data {
11395
for entry in entries {
114-
tx.put::<ClassesTrieHistory>(block_num, entry)?;
96+
tx.put::<tables::ClassesTrieHistory>(block_num, entry)?;
11597
}
11698
}
11799

118100
// Insert contracts trie history
101+
let contracts_data = generate_trie_entries(15, 3)?;
119102
for (block_num, entries) in contracts_data {
120103
for entry in entries {
121-
tx.put::<ContractsTrieHistory>(block_num, entry)?;
104+
tx.put::<tables::ContractsTrieHistory>(block_num, entry)?;
122105
}
123106
}
124107

125108
// Insert storages trie history
109+
let storages_data = generate_trie_entries(15, 7)?;
126110
for (block_num, entries) in storages_data {
127111
for entry in entries {
128-
tx.put::<StoragesTrieHistory>(block_num, entry)?;
112+
tx.put::<tables::StoragesTrieHistory>(block_num, entry)?;
129113
}
130114
}
131115

@@ -139,21 +123,21 @@ fn count_historical_entries(db: &DbEnv) -> Result<usize> {
139123
let mut total = 0;
140124

141125
// Count ClassesTrieHistory entries
142-
let mut cursor = tx.cursor_dup::<ClassesTrieHistory>()?;
126+
let mut cursor = tx.cursor_dup::<tables::ClassesTrieHistory>()?;
143127
let mut walker = cursor.walk(None)?;
144128
while walker.next().transpose()?.is_some() {
145129
total += 1;
146130
}
147131

148132
// Count ContractsTrieHistory entries
149-
let mut cursor = tx.cursor_dup::<ContractsTrieHistory>()?;
133+
let mut cursor = tx.cursor_dup::<tables::ContractsTrieHistory>()?;
150134
let mut walker = cursor.walk(None)?;
151135
while walker.next().transpose()?.is_some() {
152136
total += 1;
153137
}
154138

155139
// Count StoragesTrieHistory entries
156-
let mut cursor = tx.cursor_dup::<StoragesTrieHistory>()?;
140+
let mut cursor = tx.cursor_dup::<tables::StoragesTrieHistory>()?;
157141
let mut walker = cursor.walk(None)?;
158142
while walker.next().transpose()?.is_some() {
159143
total += 1;
@@ -165,7 +149,7 @@ fn count_historical_entries(db: &DbEnv) -> Result<usize> {
165149
/// Count headers in the database (should remain unchanged after pruning)
166150
fn count_headers(db: &DbEnv) -> Result<usize> {
167151
let tx = db.tx()?;
168-
let mut cursor = tx.cursor::<Headers>()?;
152+
let mut cursor = tx.cursor::<tables::Headers>()?;
169153
let mut count = 0;
170154

171155
let mut walker = cursor.walk(None)?;

0 commit comments

Comments
 (0)