mirror of
https://github.com/pezkuwichain/pezkuwi-subxt.git
synced 2026-04-26 18:07:58 +00:00
Refactored block body database scheme (#10779)
* Refactored tx storage database scheme * Bump parity-db * fmt * Fix handling invalid index size + test * Removed superflous result * Minor changes * fmt
This commit is contained in:
@@ -31,7 +31,7 @@ use sc_service::{
|
||||
NodeKeyConfig, OffchainWorkerConfig, PrometheusConfig, PruningMode, Role, RpcMethods,
|
||||
TelemetryEndpoints, TransactionPoolOptions, WasmExecutionMethod,
|
||||
},
|
||||
ChainSpec, KeepBlocks, TracingReceiver, TransactionStorageMode,
|
||||
ChainSpec, KeepBlocks, TracingReceiver,
|
||||
};
|
||||
use sc_tracing::logging::LoggerBuilder;
|
||||
use std::{net::SocketAddr, path::PathBuf};
|
||||
@@ -198,14 +198,6 @@ pub trait CliConfiguration<DCV: DefaultConfigurationValues = ()>: Sized {
|
||||
Ok(self.database_params().map(|x| x.database_cache_size()).unwrap_or_default())
|
||||
}
|
||||
|
||||
/// Get the database transaction storage scheme.
|
||||
fn database_transaction_storage(&self) -> Result<TransactionStorageMode> {
|
||||
Ok(self
|
||||
.database_params()
|
||||
.map(|x| x.transaction_storage())
|
||||
.unwrap_or(TransactionStorageMode::BlockBody))
|
||||
}
|
||||
|
||||
/// Get the database backend variant.
|
||||
///
|
||||
/// By default this is retrieved from `DatabaseParams` if it is available. Otherwise its `None`.
|
||||
@@ -519,7 +511,6 @@ pub trait CliConfiguration<DCV: DefaultConfigurationValues = ()>: Sized {
|
||||
state_cache_child_ratio: self.state_cache_child_ratio()?,
|
||||
state_pruning: self.state_pruning(unsafe_pruning, &role)?,
|
||||
keep_blocks: self.keep_blocks()?,
|
||||
transaction_storage: self.database_transaction_storage()?,
|
||||
wasm_method: self.wasm_method()?,
|
||||
wasm_runtime_overrides: self.wasm_runtime_overrides(),
|
||||
execution_strategies: self.execution_strategies(is_dev, is_validator)?,
|
||||
|
||||
@@ -18,7 +18,6 @@
|
||||
|
||||
use crate::arg_enums::Database;
|
||||
use clap::Args;
|
||||
use sc_service::TransactionStorageMode;
|
||||
|
||||
/// Parameters for block import.
|
||||
#[derive(Debug, Clone, PartialEq, Args)]
|
||||
@@ -36,15 +35,6 @@ pub struct DatabaseParams {
|
||||
/// Limit the memory the database cache can use.
|
||||
#[clap(long = "db-cache", value_name = "MiB")]
|
||||
pub database_cache_size: Option<usize>,
|
||||
|
||||
/// Enable storage chain mode
|
||||
///
|
||||
/// This changes the storage format for blocks bodies.
|
||||
/// If this is enabled, each transaction is stored separately in the
|
||||
/// transaction database column and is only referenced by hash
|
||||
/// in the block body column.
|
||||
#[clap(long)]
|
||||
pub storage_chain: bool,
|
||||
}
|
||||
|
||||
impl DatabaseParams {
|
||||
@@ -57,13 +47,4 @@ impl DatabaseParams {
|
||||
pub fn database_cache_size(&self) -> Option<usize> {
|
||||
self.database_cache_size
|
||||
}
|
||||
|
||||
/// Transaction storage scheme.
|
||||
pub fn transaction_storage(&self) -> TransactionStorageMode {
|
||||
if self.storage_chain {
|
||||
TransactionStorageMode::StorageChain
|
||||
} else {
|
||||
TransactionStorageMode::BlockBody
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user