void StorageSetOrJoinBase::restoreFromFile(const String & file_path) { ReadBufferFromFile backup_buf(file_path); CompressedReadBuffer compressed_backup_buf(backup_buf); NativeBlockInputStream backup_stream(compressed_backup_buf, 0); backup_stream.readPrefix(); while (Block block = backup_stream.read()) insertBlock(block); backup_stream.readSuffix(); /// TODO Add speed, compressed bytes, data volume in memory, compression ratio ... Generalize all statistics logging in project. LOG_INFO(&Logger::get("StorageSetOrJoinBase"), std::fixed << std::setprecision(2) << "Loaded from backup file " << file_path << ". " << backup_stream.getProfileInfo().rows << " rows, " << backup_stream.getProfileInfo().bytes / 1048576.0 << " MiB. " << "State has " << getSize() << " unique rows."); }
void StorageSetOrJoinBase::restoreFromFile(const String & file_path) { ReadBufferFromFile backup_buf(file_path); CompressedReadBuffer compressed_backup_buf(backup_buf); NativeBlockInputStream backup_stream(compressed_backup_buf); backup_stream.readPrefix(); while (Block block = backup_stream.read()) insertBlock(block); backup_stream.readSuffix(); /// TODO Добавить скорость, сжатые байты, объём данных в памяти, коэффициент сжатия... Обобщить всё логгирование статистики в проекте. LOG_INFO(&Logger::get("StorageSetOrJoinBase"), std::fixed << std::setprecision(2) << "Loaded from backup file " << file_path << ". " << backup_stream.getInfo().rows << " rows, " << backup_stream.getInfo().bytes / 1048576.0 << " MiB. " << "State has " << getSize() << " unique rows."); }