use delta_kernel::{
table_configuration::TableConfiguration, table_properties::DataSkippingNumIndexedCols,
};
use crate::table::config::TablePropertiesExt as _;
#[derive(Clone)]
pub struct WriterStatsConfig {
pub num_indexed_cols: DataSkippingNumIndexedCols,
pub stats_columns: Option<Vec<String>>,
}
impl WriterStatsConfig {
pub fn new(
num_indexed_cols: DataSkippingNumIndexedCols,
stats_columns: Option<Vec<String>>,
) -> Self {
Self {
num_indexed_cols,
stats_columns,
}
}
pub fn from_config(config: &TableConfiguration) -> Self {
Self {
num_indexed_cols: config.table_properties().num_indexed_cols(),
stats_columns: config
.table_properties()
.data_skipping_stats_columns
.as_ref()
.map(|v| v.iter().map(|v| v.to_string()).collect::<Vec<String>>()),
}
}
}