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->index = source_part->index;
|
||||||
new_data_part->partition.assign(source_part->partition);
|
new_data_part->partition.assign(source_part->partition);
|
||||||
new_data_part->minmax_idx = source_part->minmax_idx;
|
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->modification_time = time(nullptr);
|
||||||
new_data_part->bytes_on_disk = MergeTreeData::DataPart::calculateTotalSizeOnDisk(new_data_part->getFullPath());
|
new_data_part->bytes_on_disk = MergeTreeData::DataPart::calculateTotalSizeOnDisk(new_data_part->getFullPath());
|
||||||
}
|
}
|
||||||
|
@ -208,8 +208,6 @@ struct MergeTreeDataPart
|
|||||||
|
|
||||||
MinMaxIndex minmax_idx;
|
MinMaxIndex minmax_idx;
|
||||||
|
|
||||||
MergeTreeIndexParts index_parts;
|
|
||||||
|
|
||||||
Checksums checksums;
|
Checksums checksums;
|
||||||
|
|
||||||
/// Columns description.
|
/// Columns description.
|
||||||
|
@ -530,8 +530,8 @@ namespace DB
|
|||||||
|
|
||||||
/// It can be done in multiple threads (one thread for each part).
|
/// 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.
|
/// Maybe it should be moved to BlockInputStream, but it can cause some problems.
|
||||||
for (auto index_part : part->index_parts) {
|
for (auto index : data.indexes) {
|
||||||
auto condition = index_part->createIndexConditionOnPart(query_info, context);
|
auto condition = index->createIndexConditionOnPart(query_info, context);
|
||||||
if (!condition->alwaysUnknownOrTrue()) {
|
if (!condition->alwaysUnknownOrTrue()) {
|
||||||
ranges.ranges = condition->filterRanges(ranges.ranges);
|
ranges.ranges = condition->filterRanges(ranges.ranges);
|
||||||
}
|
}
|
||||||
|
@ -12,11 +12,6 @@ namespace ErrorCodes
|
|||||||
|
|
||||||
|
|
||||||
IndexType IndexCondition::indexType() const {
|
IndexType IndexCondition::indexType() const {
|
||||||
return part->indexType();
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
IndexType MergeTreeIndexPart::indexType() const {
|
|
||||||
return index->indexType();
|
return index->indexType();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -21,20 +21,16 @@ enum class IndexType {
|
|||||||
|
|
||||||
|
|
||||||
class MergeTreeIndex;
|
class MergeTreeIndex;
|
||||||
struct MergeTreeIndexPart;
|
|
||||||
|
|
||||||
using MergeTreeIndexPtr = std::shared_ptr<const MergeTreeIndex>;
|
using MergeTreeIndexPtr = std::shared_ptr<const MergeTreeIndex>;
|
||||||
using MutableMergeTreeIndexPtr = std::shared_ptr<MergeTreeIndex>;
|
using MutableMergeTreeIndexPtr = std::shared_ptr<MergeTreeIndex>;
|
||||||
using MergeTreeIndexes = std::vector<MutableMergeTreeIndexPtr>;
|
using MergeTreeIndexes = std::vector<MutableMergeTreeIndexPtr>;
|
||||||
|
|
||||||
using MergeTreeIndexPartPtr = std::shared_ptr<MergeTreeIndexPart>;
|
|
||||||
using MergeTreeIndexParts = std::vector<MergeTreeIndexPartPtr>;
|
|
||||||
|
|
||||||
|
|
||||||
/// Condition on the index.
|
/// Condition on the index.
|
||||||
/// It works only with one indexPart (MergeTreeDataPart).
|
/// It works only with one indexPart (MergeTreeDataPart).
|
||||||
class IndexCondition {
|
class IndexCondition {
|
||||||
friend MergeTreeIndexPart;
|
friend MergeTreeIndex;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
virtual ~IndexCondition() = default;
|
virtual ~IndexCondition() = default;
|
||||||
@ -51,7 +47,7 @@ protected:
|
|||||||
IndexCondition() = default;
|
IndexCondition() = default;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
MergeTreeIndexPartPtr part;
|
MergeTreeIndexPtr index;
|
||||||
};
|
};
|
||||||
|
|
||||||
using IndexConditionPtr = std::shared_ptr<IndexCondition>;
|
using IndexConditionPtr = std::shared_ptr<IndexCondition>;
|
||||||
@ -59,7 +55,7 @@ using IndexConditionPtr = std::shared_ptr<IndexCondition>;
|
|||||||
|
|
||||||
struct MergeTreeIndexGranule
|
struct MergeTreeIndexGranule
|
||||||
{
|
{
|
||||||
friend MergeTreeIndexPart;
|
friend MergeTreeIndex;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
virtual ~MergeTreeIndexGranule();
|
virtual ~MergeTreeIndexGranule();
|
||||||
@ -76,28 +72,6 @@ using MergeTreeIndexGranulePtr = std::shared_ptr<MergeTreeIndexGranule>;
|
|||||||
using MergeTreeIndexGranules = std::vector<MergeTreeIndexGranulePtr>;
|
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, ...
|
/// Structure for storing basic index info like columns, expression, arguments, ...
|
||||||
class MergeTreeIndex
|
class MergeTreeIndex
|
||||||
{
|
{
|
||||||
@ -111,6 +85,9 @@ public:
|
|||||||
|
|
||||||
virtual MergeTreeIndexGranulePtr createIndexGranule() const = 0;
|
virtual MergeTreeIndexGranulePtr createIndexGranule() const = 0;
|
||||||
|
|
||||||
|
virtual IndexConditionPtr createIndexConditionOnPart(
|
||||||
|
const SelectQueryInfo & query_info, const Context & context) const = 0;
|
||||||
|
|
||||||
String name;
|
String name;
|
||||||
ExpressionActionsPtr expr;
|
ExpressionActionsPtr expr;
|
||||||
size_t granularity;
|
size_t granularity;
|
||||||
|
Loading…
Reference in New Issue
Block a user