2014-07-22 08:21:16 +00:00
|
|
|
|
#pragma once
|
|
|
|
|
|
|
|
|
|
#include <DB/Storages/MergeTree/MergeTreeData.h>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
namespace DB
|
|
|
|
|
{
|
|
|
|
|
|
|
|
|
|
class MergeTreePartChecker
|
|
|
|
|
{
|
|
|
|
|
public:
|
|
|
|
|
/** Полностью проверяет данные кусочка:
|
|
|
|
|
* - Вычисляет контрольные суммы и сравнивает с checksums.txt.
|
|
|
|
|
* - Для массивов и строк проверяет соответствие размеров и количества данных.
|
|
|
|
|
* - Проверяет правильность засечек.
|
|
|
|
|
* Бросает исключение, если кусок испорчен или если проверить не получилось (TODO: можно попробовать разделить эти случаи).
|
2014-07-22 08:50:08 +00:00
|
|
|
|
* Если strict, требует, чтобы для всех столбцов из columns.txt были файлы, и чтобы засечки не указывали в конец сжатого блока.
|
2014-07-22 08:21:16 +00:00
|
|
|
|
*/
|
2014-07-22 08:50:08 +00:00
|
|
|
|
static void checkDataPart(String path, size_t index_granularity, bool strict, const DataTypeFactory & data_type_factory);
|
2014-07-22 08:21:16 +00:00
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
}
|