Skip to main content

schema_fingerprint

Function schema_fingerprint 

Source
pub fn schema_fingerprint(columns: &[SchemaColumn]) -> String
Expand description

Compute the canonical schema fingerprint for a set of columns.

The fingerprint is "xxh3:<16-char-lowercase-hex>". The algorithm prefix is part of the format so future hashers (sha256, blake3) can coexist — readers MUST verify the prefix before interpreting the hex body.

Canonicalization: columns are sorted by name (case-sensitive) and serialized as <name>\t<data_type>\n joined with no separator. Column order in the source schema does not affect the fingerprint, but column names and types do; renaming or retyping a column changes the fingerprint.

This is the value written to the manifest’s schema_fingerprint field (ADR-0012 M3) and is what --validate compares against to detect schema drift between the time of write and the time of verify.