mirror of
https://github.com/ClickHouse/ClickHouse.git
synced 2024-09-30 05:30:51 +00:00
removed indexpart class
This commit is contained in:
parent
92a850ceb0
commit
f92750223f
@ -1039,7 +1039,6 @@ MergeTreeData::MutableDataPartPtr MergeTreeDataMergerMutator::mutatePartToTempor
|
||||
new_data_part->index = source_part->index;
|
||||
new_data_part->partition.assign(source_part->partition);
|
||||
new_data_part->minmax_idx = source_part->minmax_idx;
|
||||
new_data_part->index_parts = source_part->index_parts;
|
||||
new_data_part->modification_time = time(nullptr);
|
||||
new_data_part->bytes_on_disk = MergeTreeData::DataPart::calculateTotalSizeOnDisk(new_data_part->getFullPath());
|
||||
}
|
||||
|
@ -208,8 +208,6 @@ struct MergeTreeDataPart
|
||||
|
||||
MinMaxIndex minmax_idx;
|
||||
|
||||
MergeTreeIndexParts index_parts;
|
||||
|
||||
Checksums checksums;
|
||||
|
||||
/// Columns description.
|
||||
|
@ -530,8 +530,8 @@ namespace DB
|
||||
|
||||
/// It can be done in multiple threads (one thread for each part).
|
||||
/// Maybe it should be moved to BlockInputStream, but it can cause some problems.
|
||||
for (auto index_part : part->index_parts) {
|
||||
auto condition = index_part->createIndexConditionOnPart(query_info, context);
|
||||
for (auto index : data.indexes) {
|
||||
auto condition = index->createIndexConditionOnPart(query_info, context);
|
||||
if (!condition->alwaysUnknownOrTrue()) {
|
||||
ranges.ranges = condition->filterRanges(ranges.ranges);
|
||||
}
|
||||
|
@ -12,11 +12,6 @@ namespace ErrorCodes
|
||||
|
||||
|
||||
IndexType IndexCondition::indexType() const {
|
||||
return part->indexType();
|
||||
}
|
||||
|
||||
|
||||
IndexType MergeTreeIndexPart::indexType() const {
|
||||
return index->indexType();
|
||||
}
|
||||
|
||||
|
@ -21,20 +21,16 @@ enum class IndexType {
|
||||
|
||||
|
||||
class MergeTreeIndex;
|
||||
struct MergeTreeIndexPart;
|
||||
|
||||
using MergeTreeIndexPtr = std::shared_ptr<const MergeTreeIndex>;
|
||||
using MutableMergeTreeIndexPtr = std::shared_ptr<MergeTreeIndex>;
|
||||
using MergeTreeIndexes = std::vector<MutableMergeTreeIndexPtr>;
|
||||
|
||||
using MergeTreeIndexPartPtr = std::shared_ptr<MergeTreeIndexPart>;
|
||||
using MergeTreeIndexParts = std::vector<MergeTreeIndexPartPtr>;
|
||||
|
||||
|
||||
/// Condition on the index.
|
||||
/// It works only with one indexPart (MergeTreeDataPart).
|
||||
class IndexCondition {
|
||||
friend MergeTreeIndexPart;
|
||||
friend MergeTreeIndex;
|
||||
|
||||
public:
|
||||
virtual ~IndexCondition() = default;
|
||||
@ -51,7 +47,7 @@ protected:
|
||||
IndexCondition() = default;
|
||||
|
||||
public:
|
||||
MergeTreeIndexPartPtr part;
|
||||
MergeTreeIndexPtr index;
|
||||
};
|
||||
|
||||
using IndexConditionPtr = std::shared_ptr<IndexCondition>;
|
||||
@ -59,7 +55,7 @@ using IndexConditionPtr = std::shared_ptr<IndexCondition>;
|
||||
|
||||
struct MergeTreeIndexGranule
|
||||
{
|
||||
friend MergeTreeIndexPart;
|
||||
friend MergeTreeIndex;
|
||||
|
||||
public:
|
||||
virtual ~MergeTreeIndexGranule();
|
||||
@ -76,28 +72,6 @@ using MergeTreeIndexGranulePtr = std::shared_ptr<MergeTreeIndexGranule>;
|
||||
using MergeTreeIndexGranules = std::vector<MergeTreeIndexGranulePtr>;
|
||||
|
||||
|
||||
/// Data structure for operations with index data for each MergeTreeDataPart.
|
||||
/// Stores information specific for DataPart.
|
||||
/// Возможно будет убран.
|
||||
struct MergeTreeIndexPart
|
||||
{
|
||||
friend MergeTreeIndex;
|
||||
|
||||
public:
|
||||
MergeTreeIndexPart() = default;
|
||||
virtual ~MergeTreeIndexPart() = default;
|
||||
|
||||
IndexType indexType() const;
|
||||
|
||||
virtual MergeTreeIndexPartPtr cloneEmpty() const = 0;
|
||||
|
||||
virtual IndexConditionPtr createIndexConditionOnPart(
|
||||
const SelectQueryInfo & query_info, const Context & context) const = 0;
|
||||
|
||||
MergeTreeIndexPtr index;
|
||||
};
|
||||
|
||||
|
||||
/// Structure for storing basic index info like columns, expression, arguments, ...
|
||||
class MergeTreeIndex
|
||||
{
|
||||
@ -111,6 +85,9 @@ public:
|
||||
|
||||
virtual MergeTreeIndexGranulePtr createIndexGranule() const = 0;
|
||||
|
||||
virtual IndexConditionPtr createIndexConditionOnPart(
|
||||
const SelectQueryInfo & query_info, const Context & context) const = 0;
|
||||
|
||||
String name;
|
||||
ExpressionActionsPtr expr;
|
||||
size_t granularity;
|
||||
|
Loading…
Reference in New Issue
Block a user