Skip to main content

dm_database_sqllog2db/features/
mod.rs

1pub mod filters;
2pub mod replace_parameters;
3
4pub use filters::*;
5pub use replace_parameters::*;
6
7use serde::Deserialize;
8
9#[derive(Debug, Deserialize, Clone, Default)]
10pub struct FeaturesConfig {
11    /// 对应配置文件中的 `[features.replace_parameters]`
12    #[serde(default)]
13    pub replace_parameters: Option<ReplaceParametersFeature>,
14    /// 对应配置文件中的 `[features.filters]`
15    #[serde(default)]
16    pub filters: Option<FiltersFeature>,
17}
18
19impl FeaturesConfig {
20    /// 是否启用 SQL 参数替换
21    #[must_use]
22    pub fn should_replace_sql_parameters(&self) -> bool {
23        self.replace_parameters.as_ref().is_some_and(|f| f.enable)
24    }
25
26    /// 验证配置
27    pub fn validate() {
28        FiltersFeature::validate();
29    }
30}