pub struct Config { /* private fields */ }Expand description
Complete safe-migrate configuration.
This type is defined by the supported API. Internal engine modules consume it, so configuration behavior does not depend on an implementation type leaking through a re-export.
Implementations§
Source§impl Config
impl Config
Sourcepub fn validate(&self) -> Result<(), Error>
pub fn validate(&self) -> Result<(), Error>
Validate rule IDs, per-rule settings, thresholds, and schema scope.
§Errors
Returns a configuration error describing every invalid rule ID or the first invalid setting.
Sourcepub fn cache_encryption(&self) -> bool
pub fn cache_encryption(&self) -> bool
Return whether baseline caches are expected to be encrypted.
Sourcepub fn auto_sync(&self) -> bool
pub fn auto_sync(&self) -> bool
Return whether a CLI caller may refresh stale baselines automatically.
Sourcepub fn stale_stats_days(&self) -> u64
pub fn stale_stats_days(&self) -> u64
Return the maximum accepted age of catalog statistics, in days.
Sourcepub fn tier1_threshold_rows(&self) -> u64
pub fn tier1_threshold_rows(&self) -> u64
Return the default Tier 1 row threshold.
Sourcepub fn tier2_threshold_rows(&self) -> u64
pub fn tier2_threshold_rows(&self) -> u64
Return the default Tier 2 row threshold.
Sourcepub fn default_rows(&self) -> u64
pub fn default_rows(&self) -> u64
Return the conservative row estimate used when statistics are absent.
Sourcepub fn toast_width_threshold_bytes(&self) -> i32
pub fn toast_width_threshold_bytes(&self) -> i32
Return the TOAST-width threshold used by rewrite analysis.
Sourcepub fn assumed_postgres_version(&self) -> u32
pub fn assumed_postgres_version(&self) -> u32
Return the PostgreSQL version assumed when no connected baseline provides one.
The default 100000 is a conservative compatibility fallback, not a
claim that PostgreSQL 10 is supported. A configured value must name a
supported PostgreSQL 14–18 version.
Sourcepub fn schema_scope(&self) -> Option<&[String]>
pub fn schema_scope(&self) -> Option<&[String]>
Return the configured schema scope, or None for all non-system schemas.
Sourcepub fn with_cache_encryption(self, enabled: bool) -> Self
pub fn with_cache_encryption(self, enabled: bool) -> Self
Set whether baseline caches are encrypted.
Sourcepub fn with_auto_sync(self, enabled: bool) -> Self
pub fn with_auto_sync(self, enabled: bool) -> Self
Set whether a CLI caller may refresh stale baselines automatically.
Sourcepub fn with_stale_stats_days(self, days: u64) -> Self
pub fn with_stale_stats_days(self, days: u64) -> Self
Set the maximum accepted age of catalog statistics, in days.
Sourcepub fn with_tier_thresholds(self, tier1_rows: u64, tier2_rows: u64) -> Self
pub fn with_tier_thresholds(self, tier1_rows: u64, tier2_rows: u64) -> Self
Set the default row thresholds for Tier 1 and Tier 2 findings.
Sourcepub fn with_default_rows(self, rows: u64) -> Self
pub fn with_default_rows(self, rows: u64) -> Self
Set the conservative row estimate used when statistics are absent.
Sourcepub fn with_toast_width_threshold_bytes(self, bytes: i32) -> Self
pub fn with_toast_width_threshold_bytes(self, bytes: i32) -> Self
Set the TOAST-width threshold used by rewrite analysis.
Sourcepub fn with_assumed_postgres_version(self, version_num: u32) -> Self
pub fn with_assumed_postgres_version(self, version_num: u32) -> Self
Set the PostgreSQL version assumed when no connected baseline provides one.
Use a PostgreSQL 14–18 server version number only when the deployment
target is known. Config::validate rejects unsupported values.
Sourcepub fn with_schema_scope(
self,
schemas: impl IntoIterator<Item = impl Into<String>>,
) -> Self
pub fn with_schema_scope( self, schemas: impl IntoIterator<Item = impl Into<String>>, ) -> Self
Restrict synchronization and analysis to the supplied non-empty schema names.
Sourcepub fn with_all_non_system_schemas(self) -> Self
pub fn with_all_non_system_schemas(self) -> Self
Synchronize all visible non-system schemas.
Sourcepub fn with_rule(self, rule_id: impl Into<String>, rule: RuleConfig) -> Self
pub fn with_rule(self, rule_id: impl Into<String>, rule: RuleConfig) -> Self
Add or replace a per-rule configuration override.
Sourcepub fn rule_config(&self, rule_id: &str) -> Option<&RuleConfig>
pub fn rule_config(&self, rule_id: &str) -> Option<&RuleConfig>
Return an explicit per-rule override, if configured.
Sourcepub fn disable_rule(self, rule_id: impl Into<String>) -> Self
pub fn disable_rule(self, rule_id: impl Into<String>) -> Self
Disable one primary rule by ID.
Sourcepub fn enable_rule(self, rule_id: impl Into<String>) -> Self
pub fn enable_rule(self, rule_id: impl Into<String>) -> Self
Enable one primary rule by ID while preserving its threshold overrides.
Sourcepub fn load_from_file(path: &Path) -> Result<Self, Error>
pub fn load_from_file(path: &Path) -> Result<Self, Error>
Load a TOML configuration, returning defaults when the file is absent.
§Errors
Returns a configuration error when an existing file cannot be read, parsed, or validated.
Sourcepub fn load_required_from_file(path: &Path) -> Result<Self, Error>
pub fn load_required_from_file(path: &Path) -> Result<Self, Error>
Load a TOML configuration and fail when the file is absent.
§Errors
Returns a configuration error when the file cannot be read, parsed, or validated.
Sourcepub fn is_rule_disabled(&self, rule_id: &str) -> bool
pub fn is_rule_disabled(&self, rule_id: &str) -> bool
Return whether a rule is disabled by either configuration form.
Sourcepub fn rule_tier1_threshold(&self, rule_id: &str) -> u64
pub fn rule_tier1_threshold(&self, rule_id: &str) -> u64
Return a rule’s effective Tier 1 threshold.
Sourcepub fn rule_tier2_threshold(&self, rule_id: &str) -> u64
pub fn rule_tier2_threshold(&self, rule_id: &str) -> u64
Return a rule’s effective Tier 2 threshold.
Trait Implementations§
Source§impl<'de> Deserialize<'de> for Config
impl<'de> Deserialize<'de> for Config
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
impl Eq for Config
impl StructuralPartialEq for Config
Auto Trait Implementations§
impl Freeze for Config
impl RefUnwindSafe for Config
impl Send for Config
impl Sync for Config
impl Unpin for Config
impl UnsafeUnpin for Config
impl UnwindSafe for Config
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<D> OwoColorize for D
impl<D> OwoColorize for D
Source§fn fg<C>(&self) -> FgColorDisplay<'_, C, Self>where
C: Color,
fn fg<C>(&self) -> FgColorDisplay<'_, C, Self>where
C: Color,
Source§fn bg<C>(&self) -> BgColorDisplay<'_, C, Self>where
C: Color,
fn bg<C>(&self) -> BgColorDisplay<'_, C, Self>where
C: Color,
Source§fn black(&self) -> FgColorDisplay<'_, Black, Self>
fn black(&self) -> FgColorDisplay<'_, Black, Self>
Source§fn on_black(&self) -> BgColorDisplay<'_, Black, Self>
fn on_black(&self) -> BgColorDisplay<'_, Black, Self>
Source§fn red(&self) -> FgColorDisplay<'_, Red, Self>
fn red(&self) -> FgColorDisplay<'_, Red, Self>
Source§fn on_red(&self) -> BgColorDisplay<'_, Red, Self>
fn on_red(&self) -> BgColorDisplay<'_, Red, Self>
Source§fn green(&self) -> FgColorDisplay<'_, Green, Self>
fn green(&self) -> FgColorDisplay<'_, Green, Self>
Source§fn on_green(&self) -> BgColorDisplay<'_, Green, Self>
fn on_green(&self) -> BgColorDisplay<'_, Green, Self>
Source§fn yellow(&self) -> FgColorDisplay<'_, Yellow, Self>
fn yellow(&self) -> FgColorDisplay<'_, Yellow, Self>
Source§fn on_yellow(&self) -> BgColorDisplay<'_, Yellow, Self>
fn on_yellow(&self) -> BgColorDisplay<'_, Yellow, Self>
Source§fn blue(&self) -> FgColorDisplay<'_, Blue, Self>
fn blue(&self) -> FgColorDisplay<'_, Blue, Self>
Source§fn on_blue(&self) -> BgColorDisplay<'_, Blue, Self>
fn on_blue(&self) -> BgColorDisplay<'_, Blue, Self>
Source§fn magenta(&self) -> FgColorDisplay<'_, Magenta, Self>
fn magenta(&self) -> FgColorDisplay<'_, Magenta, Self>
Source§fn on_magenta(&self) -> BgColorDisplay<'_, Magenta, Self>
fn on_magenta(&self) -> BgColorDisplay<'_, Magenta, Self>
Source§fn purple(&self) -> FgColorDisplay<'_, Magenta, Self>
fn purple(&self) -> FgColorDisplay<'_, Magenta, Self>
Source§fn on_purple(&self) -> BgColorDisplay<'_, Magenta, Self>
fn on_purple(&self) -> BgColorDisplay<'_, Magenta, Self>
Source§fn cyan(&self) -> FgColorDisplay<'_, Cyan, Self>
fn cyan(&self) -> FgColorDisplay<'_, Cyan, Self>
Source§fn on_cyan(&self) -> BgColorDisplay<'_, Cyan, Self>
fn on_cyan(&self) -> BgColorDisplay<'_, Cyan, Self>
Source§fn white(&self) -> FgColorDisplay<'_, White, Self>
fn white(&self) -> FgColorDisplay<'_, White, Self>
Source§fn on_white(&self) -> BgColorDisplay<'_, White, Self>
fn on_white(&self) -> BgColorDisplay<'_, White, Self>
Source§fn default_color(&self) -> FgColorDisplay<'_, Default, Self>
fn default_color(&self) -> FgColorDisplay<'_, Default, Self>
Source§fn on_default_color(&self) -> BgColorDisplay<'_, Default, Self>
fn on_default_color(&self) -> BgColorDisplay<'_, Default, Self>
Source§fn bright_black(&self) -> FgColorDisplay<'_, BrightBlack, Self>
fn bright_black(&self) -> FgColorDisplay<'_, BrightBlack, Self>
Source§fn on_bright_black(&self) -> BgColorDisplay<'_, BrightBlack, Self>
fn on_bright_black(&self) -> BgColorDisplay<'_, BrightBlack, Self>
Source§fn bright_red(&self) -> FgColorDisplay<'_, BrightRed, Self>
fn bright_red(&self) -> FgColorDisplay<'_, BrightRed, Self>
Source§fn on_bright_red(&self) -> BgColorDisplay<'_, BrightRed, Self>
fn on_bright_red(&self) -> BgColorDisplay<'_, BrightRed, Self>
Source§fn bright_green(&self) -> FgColorDisplay<'_, BrightGreen, Self>
fn bright_green(&self) -> FgColorDisplay<'_, BrightGreen, Self>
Source§fn on_bright_green(&self) -> BgColorDisplay<'_, BrightGreen, Self>
fn on_bright_green(&self) -> BgColorDisplay<'_, BrightGreen, Self>
Source§fn bright_yellow(&self) -> FgColorDisplay<'_, BrightYellow, Self>
fn bright_yellow(&self) -> FgColorDisplay<'_, BrightYellow, Self>
Source§fn on_bright_yellow(&self) -> BgColorDisplay<'_, BrightYellow, Self>
fn on_bright_yellow(&self) -> BgColorDisplay<'_, BrightYellow, Self>
Source§fn bright_blue(&self) -> FgColorDisplay<'_, BrightBlue, Self>
fn bright_blue(&self) -> FgColorDisplay<'_, BrightBlue, Self>
Source§fn on_bright_blue(&self) -> BgColorDisplay<'_, BrightBlue, Self>
fn on_bright_blue(&self) -> BgColorDisplay<'_, BrightBlue, Self>
Source§fn bright_magenta(&self) -> FgColorDisplay<'_, BrightMagenta, Self>
fn bright_magenta(&self) -> FgColorDisplay<'_, BrightMagenta, Self>
Source§fn on_bright_magenta(&self) -> BgColorDisplay<'_, BrightMagenta, Self>
fn on_bright_magenta(&self) -> BgColorDisplay<'_, BrightMagenta, Self>
Source§fn bright_purple(&self) -> FgColorDisplay<'_, BrightMagenta, Self>
fn bright_purple(&self) -> FgColorDisplay<'_, BrightMagenta, Self>
Source§fn on_bright_purple(&self) -> BgColorDisplay<'_, BrightMagenta, Self>
fn on_bright_purple(&self) -> BgColorDisplay<'_, BrightMagenta, Self>
Source§fn bright_cyan(&self) -> FgColorDisplay<'_, BrightCyan, Self>
fn bright_cyan(&self) -> FgColorDisplay<'_, BrightCyan, Self>
Source§fn on_bright_cyan(&self) -> BgColorDisplay<'_, BrightCyan, Self>
fn on_bright_cyan(&self) -> BgColorDisplay<'_, BrightCyan, Self>
Source§fn bright_white(&self) -> FgColorDisplay<'_, BrightWhite, Self>
fn bright_white(&self) -> FgColorDisplay<'_, BrightWhite, Self>
Source§fn on_bright_white(&self) -> BgColorDisplay<'_, BrightWhite, Self>
fn on_bright_white(&self) -> BgColorDisplay<'_, BrightWhite, Self>
Source§fn bold(&self) -> BoldDisplay<'_, Self>
fn bold(&self) -> BoldDisplay<'_, Self>
Source§fn dimmed(&self) -> DimDisplay<'_, Self>
fn dimmed(&self) -> DimDisplay<'_, Self>
Source§fn italic(&self) -> ItalicDisplay<'_, Self>
fn italic(&self) -> ItalicDisplay<'_, Self>
Source§fn underline(&self) -> UnderlineDisplay<'_, Self>
fn underline(&self) -> UnderlineDisplay<'_, Self>
Source§fn blink(&self) -> BlinkDisplay<'_, Self>
fn blink(&self) -> BlinkDisplay<'_, Self>
Source§fn blink_fast(&self) -> BlinkFastDisplay<'_, Self>
fn blink_fast(&self) -> BlinkFastDisplay<'_, Self>
Source§fn reversed(&self) -> ReversedDisplay<'_, Self>
fn reversed(&self) -> ReversedDisplay<'_, Self>
Source§fn strikethrough(&self) -> StrikeThroughDisplay<'_, Self>
fn strikethrough(&self) -> StrikeThroughDisplay<'_, Self>
Source§fn color<Color>(&self, color: Color) -> FgDynColorDisplay<'_, Color, Self>where
Color: DynColor,
fn color<Color>(&self, color: Color) -> FgDynColorDisplay<'_, Color, Self>where
Color: DynColor,
OwoColorize::fg or
a color-specific method, such as OwoColorize::green, Read moreSource§fn on_color<Color>(&self, color: Color) -> BgDynColorDisplay<'_, Color, Self>where
Color: DynColor,
fn on_color<Color>(&self, color: Color) -> BgDynColorDisplay<'_, Color, Self>where
Color: DynColor,
OwoColorize::bg or
a color-specific method, such as OwoColorize::on_yellow, Read more