athena_rs 3.23.0

Hyper performant polyglot Database driver
Documentation
//! Missing-table mutation policy for expected-table evaluation.
//!
//! This module owns how `/debug/schema` evaluation counters and payload rows are
//! updated when an expected table is not present in observed schema state.

use super::debug_evaluation_contracts::ExpectedTablesEvaluation;
use super::debug_evaluation_missing_counters::apply_missing_table_counters;
use super::debug_evaluation_status_builder::build_missing_expected_table_status;
use super::logging_expectation_contracts::ExpectedLoggingTable;

/// Applies a missing-table evaluation row into counters and payload output.
pub(super) fn push_missing(
    evaluation: &mut ExpectedTablesEvaluation,
    expected: &ExpectedLoggingTable,
    expected_columns: Vec<String>,
) {
    apply_missing_table_counters(
        evaluation,
        expected.required,
        expected.key(),
        expected.required_columns.len(),
    );

    evaluation
        .expected_tables
        .push(build_missing_expected_table_status(
            expected,
            expected_columns,
        ));
}