set min block size as index granularity for max_block_size limit during reading [#CLICKHOUSE-3170]

This commit is contained in:
Nikolai Kochetov 2017-07-21 14:37:34 +03:00
parent 3a0bf8e642
commit 755d16b22d

View File

@ -87,7 +87,7 @@ Block MergeTreeBaseBlockInputStream::readFromPart()
if (!task.size_predictor)
return max_block_size_rows;
size_t rows_to_read_for_block = task.size_predictor->estimateNumRows(preferred_block_size_bytes);
size_t rows_to_read_for_block = std::max(index_granularity, task.size_predictor->estimateNumRows(preferred_block_size_bytes));
size_t rows_to_read_for_max_size_column
= task.size_predictor->estimateNumRowsForMaxSizeColumn(preferred_max_column_in_block_size_bytes);
double filtration_ratio = std::max(min_filtration_ratio, 1.0 - task.size_predictor->filtered_rows_ratio);