Immediately ignore duplicate and invalid file sources loaded from database.
This commit is contained in:
parent
a235628428
commit
78314b2da9
@ -122,7 +122,10 @@ void FileData::parse(ParserT &parser, bool register_file_sources) {
|
|||||||
if (parser.get_error()) {
|
if (parser.get_error()) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
file_source_ids_.push_back(td->file_reference_manager_->parse_file_source(td, parser));
|
auto file_source_id = td->file_reference_manager_->parse_file_source(td, parser);
|
||||||
|
if (file_source_id.is_valid() && !td::contains(file_source_ids_, file_source_id)) {
|
||||||
|
file_source_ids_.push_back(file_source_id);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
parser.set_error("Wrong number of file source ids");
|
parser.set_error("Wrong number of file source ids");
|
||||||
|
@ -1302,10 +1302,9 @@ Result<FileId> FileManager::register_file(FileData &&data, FileLocationSource fi
|
|||||||
try_forget_file_id(file_id);
|
try_forget_file_id(file_id);
|
||||||
for (auto file_source_id : data.file_source_ids_) {
|
for (auto file_source_id : data.file_source_ids_) {
|
||||||
VLOG(file_references) << "Loaded " << data.file_source_ids_ << " for file " << main_file_id << " from " << source;
|
VLOG(file_references) << "Loaded " << data.file_source_ids_ << " for file " << main_file_id << " from " << source;
|
||||||
if (file_source_id.is_valid()) {
|
CHECK(file_source_id.is_valid());
|
||||||
context_->add_file_source(main_file_id, file_source_id);
|
context_->add_file_source(main_file_id, file_source_id);
|
||||||
}
|
}
|
||||||
}
|
|
||||||
return FileId(main_file_id.get(), remote_key);
|
return FileId(main_file_id.get(), remote_key);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user