Skip to main content

verify_released_schema_structure

Function verify_released_schema_structure 

Source
pub fn verify_released_schema_structure(
    actual: &Connection,
    domain: &SchemaDomain,
    released_objects: &[SchemaObject],
    build_released: fn(&Transaction<'_>) -> Result<(), Error>,
) -> Result<(), String>
Expand description

Verify an on-disk predecessor against a frozen released schema builder by exact physical structure, ignoring the stored CREATE text.

Same authority boundary as verify_released_schema_fingerprint (private in-memory builder, exact owned object names/kinds, foreign co-tenant objects ignored), but the normalized sqlite_schema SQL is deliberately excluded from the comparison. Pre-ledger binaries re-issued their DDL across releases, so lexical drift the whitespace normalizer keeps (for example identifier quoting) is not release-stable evidence for those catalogs. Everything PRAGMA-visible remains exact: table xinfo (column order, names, declared types, NOT NULL, defaults, primary-key positions), foreign keys, and explicit-index uniqueness/partiality plus xinfo (column order, direction, collation). Text-only clauses such as CHECK constraints are invisible here; register this verifier only for released schemas that had none.