提交 ca1957ab 编写于 作者: N Nikolai Kochetov 提交者: alexey-milovidov

ignore preferred_max_column_in_block_size_bytes if zero [#CLICKHOUSE-3170]

上级 cc349b41
......@@ -87,13 +87,17 @@ Block MergeTreeBaseBlockInputStream::readFromPart()
if (!task.size_predictor)
return max_block_size_rows;
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);
size_t rows_to_read_for_max_size_column_with_filtration
= static_cast<size_t>(rows_to_read_for_max_size_column / filtration_ratio);
size_t rows_to_read = std::min(rows_to_read_for_block, rows_to_read_for_max_size_column_with_filtration);
size_t rows_to_read = std::max(index_granularity, task.size_predictor->estimateNumRows(preferred_block_size_bytes));
if (preferred_max_column_in_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);
size_t rows_to_read_for_max_size_column_with_filtration
= static_cast<size_t>(rows_to_read_for_max_size_column / filtration_ratio);
rows_to_read = std::min(rows_to_read, rows_to_read_for_max_size_column_with_filtration);
}
size_t unread_rows_in_current_granule = reader.unreadRowsInCurrentGranule();
if (unread_rows_in_current_granule >= rows_to_read)
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册