sz-orm-explain 7.7.0

Cross-dialect EXPLAIN result parser: full-table-scan / missing-index detection, plan regression checks
Documentation

sz-orm-explain — Cross-Dialect EXPLAIN Result Parser

Parses EXPLAIN output from MySQL / PostgreSQL / SQLite / Oracle / MSSQL into a unified [ExplainPlan], used for:

  • Full table scan detection (ScanType::FullTable)
  • Missing index detection (index == None and scanned rows exceed threshold)
  • Execution plan regression detection ([crate::regression], requires explain-analyzer feature)
  • Slow query automatic governance ([crate::slow_query_governance], requires slow-query-governance feature)

Typical usage (with sz-orm-macros's query! macro db-verify mode):

let plan = sz_orm_explain::parser_for(ExplainDialect::Postgres)?.parse(explain_raw)?;
if plan.scan_type == ScanType::FullTable {
    // Compile-time/CI warning: full table scan
}

Parse failure returns [ExplainError::Unparseable], does not panic, can degrade to "no warnings".

Note: This package intentionally has zero dependency on sz-orm-core, uses its own [ExplainDialect] enum to describe dialects, avoiding core → macros → explain → core dependency cycle.