pub(crate) fn data_model_cache_key(
cache_key: &str,
entities: DataModelEntities,
) -> StringExpand 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.