in src/iceberg/table_metadata.cc [137:154]
Result<MetadataFileCodecType> TableMetadataUtil::CodecFromFileName(
std::string_view file_name) {
if (file_name.find(".metadata.json") == std::string::npos) {
return InvalidArgument("{} is not a valid metadata file", file_name);
}
// We have to be backward-compatible with .metadata.json.gz files
if (file_name.ends_with(".metadata.json.gz")) {
return MetadataFileCodecType::kGzip;
}
std::string_view file_name_without_suffix =
file_name.substr(0, file_name.find_last_of(".metadata.json"));
if (file_name_without_suffix.ends_with(".gz")) {
return MetadataFileCodecType::kGzip;
}
return MetadataFileCodecType::kNone;
}