data_model_cache_key

Function data_model_cache_key 

Source
pub(crate) fn data_model_cache_key(
    cache_key: &str,
    entities: DataModelEntities,
) -> String
Expand description

Build the data-model cache key for a given file cache key.

One definition for the writers (parse_parquet, parse_parquet_stream) and the reader (get_data_model): three separate literals could disagree, and a reader looking up a key nobody writes answers 202 forever.

The suffix bumps on EVERY change to the data-model payload’s columns. v8 adds complete material association fields (#5296); a warm v7 cache cannot support material value checks even after the server is upgraded.

The entities VARIANT (#6034) is a separate namespace, not a version: -datamodel-v8 for every STEP instance (unchanged, so a default request keeps hitting the entries already on disk) and -datamodel-rooted-v8 for the rooted-only table. Both carry the one version number, so a payload bump retires both at once. They coexist, and neither can answer for the other: a client that asked for the rooted table must not be handed 60 MB it asked not to download, and one that did not must not lose rows it looks up.