提交 610534e5 编写于 作者: N Nikita Vasilev

fix

上级 d5aba078
......@@ -1010,7 +1010,7 @@ MarkRanges MergeTreeDataSelectExecutor::filterMarksUsingIndex(
continue;
}
if (res.empty() || res.back().end - data_range.begin >= min_marks_for_seek)
if (res.empty() || res.back().end - data_range.begin > min_marks_for_seek)
res.push_back(data_range);
else
res.back().end = data_range.end;
......
......@@ -448,9 +448,11 @@ void MergedBlockOutputStream::writeImpl(const Block & block, const IColumn::Perm
WrittenOffsetColumns offset_columns;
auto primary_key_column_names = storage.primary_key_columns;
Names skip_indexes_column_names;
std::set<String> skip_indexes_column_names_set;
for (const auto & index : storage.skip_indices)
std::copy(index->columns.cbegin(), index->columns.cend(), std::back_inserter(skip_indexes_column_names));
std::copy(index->columns.cbegin(), index->columns.cend(),
std::inserter(skip_indexes_column_names_set, skip_indexes_column_names_set.end()));
Names skip_indexes_column_names(skip_indexes_column_names_set.begin(), skip_indexes_column_names_set.end());
/// Here we will add the columns related to the Primary Key, then write the index.
std::vector<ColumnWithTypeAndName> primary_key_columns(primary_key_column_names.size());
......@@ -542,6 +544,8 @@ void MergedBlockOutputStream::writeImpl(const Block & block, const IColumn::Perm
rows_count += rows;
{
/// Creating block for update
Block indices_update_block(skip_indexes_columns);
/// Filling and writing skip indices like in IMergedBlockOutputStream::writeData
for (size_t i = 0; i < storage.skip_indices.size(); ++i)
{
......@@ -573,7 +577,7 @@ void MergedBlockOutputStream::writeImpl(const Block & block, const IColumn::Perm
}
size_t pos = prev_pos;
skip_indices_granules[i]->update(block, &pos, limit);
skip_indices_granules[i]->update(indices_update_block, &pos, limit);
if (pos == prev_pos + limit)
{
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册