Skip to content

Commit

Permalink
reth/db: make code more readable (#7094)
Browse files Browse the repository at this point in the history
Signed-off-by: jsvisa <delweng@gmail.com>
  • Loading branch information
jsvisa committed Mar 11, 2024
1 parent 66c9403 commit 5ce8034
Show file tree
Hide file tree
Showing 2 changed files with 12 additions and 23 deletions.
27 changes: 7 additions & 20 deletions bin/reth/src/commands/db/mod.rs
Expand Up @@ -96,48 +96,37 @@ impl Command {
// add network name to data dir
let data_dir = self.datadir.unwrap_or_chain_default(self.chain.chain);
let db_path = data_dir.db_path();
let db_log_level = DatabaseArguments::default().log_level(self.db.log_level);
let static_files_path = data_dir.static_files_path();

match self.command {
// TODO: We'll need to add this on the DB trait.
Subcommands::Stats(command) => {
let db = open_db_read_only(
&db_path,
DatabaseArguments::default().log_level(self.db.log_level),
)?;
let db = open_db_read_only(&db_path, db_log_level)?;
let provider_factory =
ProviderFactory::new(db, self.chain.clone(), static_files_path)?;

let tool = DbTool::new(provider_factory, self.chain.clone())?;
command.execute(data_dir, &tool)?;
}
Subcommands::List(command) => {
let db = open_db_read_only(
&db_path,
DatabaseArguments::default().log_level(self.db.log_level),
)?;
let db = open_db_read_only(&db_path, db_log_level)?;
let provider_factory =
ProviderFactory::new(db, self.chain.clone(), static_files_path)?;

let tool = DbTool::new(provider_factory, self.chain.clone())?;
command.execute(&tool)?;
}
Subcommands::Diff(command) => {
let db = open_db_read_only(
&db_path,
DatabaseArguments::default().log_level(self.db.log_level),
)?;
let db = open_db_read_only(&db_path, db_log_level)?;
let provider_factory =
ProviderFactory::new(db, self.chain.clone(), static_files_path)?;

let tool = DbTool::new(provider_factory, self.chain.clone())?;
command.execute(&tool)?;
}
Subcommands::Get(command) => {
let db = open_db_read_only(
&db_path,
DatabaseArguments::default().log_level(self.db.log_level),
)?;
let db = open_db_read_only(&db_path, db_log_level)?;
let provider_factory =
ProviderFactory::new(db, self.chain.clone(), static_files_path)?;

Expand All @@ -160,17 +149,15 @@ impl Command {
}
}

let db =
open_db(&db_path, DatabaseArguments::default().log_level(self.db.log_level))?;
let db = open_db(&db_path, db_log_level)?;
let provider_factory =
ProviderFactory::new(db, self.chain.clone(), static_files_path.clone())?;

let mut tool = DbTool::new(provider_factory, self.chain.clone())?;
tool.drop(db_path, static_files_path)?;
}
Subcommands::Clear(command) => {
let db =
open_db(&db_path, DatabaseArguments::default().log_level(self.db.log_level))?;
let db = open_db(&db_path, db_log_level)?;
let provider_factory =
ProviderFactory::new(db, self.chain.clone(), static_files_path)?;

Expand Down
8 changes: 5 additions & 3 deletions bin/reth/src/commands/db/stats.rs
Expand Up @@ -100,8 +100,8 @@ impl Command {
table.add_row(row);

let freelist = tx.inner.env().freelist()?;
let freelist_size =
freelist * tx.inner.db_stat(&mdbx::Database::freelist_db())?.page_size() as usize;
let pagesize = tx.inner.db_stat(&mdbx::Database::freelist_db())?.page_size() as usize;
let freelist_size = freelist * pagesize;

let mut row = Row::new();
row.add_cell(Cell::new("Freelist"))
Expand Down Expand Up @@ -169,7 +169,9 @@ impl Command {
let fixed_block_range = find_fixed_range(block_range.start());
let jar_provider = static_file_provider
.get_segment_provider(segment, || Some(fixed_block_range), None)?
.expect("something went wrong");
.ok_or_else(|| {
eyre::eyre!("Failed to get segment provider for segment: {}", segment)
})?;

let columns = jar_provider.columns();
let rows = jar_provider.rows();
Expand Down

0 comments on commit 5ce8034

Please sign in to comment.