mirror of
https://github.com/ClickHouse/ClickHouse.git
synced 2024-10-19 06:50:50 +00:00
32 lines
964 B
C++
32 lines
964 B
C++
|
#pragma once
|
||
|
|
||
|
#include <Interpreters/BloomFilter.h>
|
||
|
#include <Storages/MergeTree/MergeTreeIndices.h>
|
||
|
#include <Storages/MergeTree/MergeTreeIndexGranuleBloomFilter.h>
|
||
|
#include <Storages/MergeTree/MergeTreeIndexAggregatorBloomFilter.h>
|
||
|
|
||
|
namespace DB
|
||
|
{
|
||
|
|
||
|
class MergeTreeIndexBloomFilter : public IMergeTreeIndex
|
||
|
{
|
||
|
public:
|
||
|
MergeTreeIndexBloomFilter(
|
||
|
const String & name, const ExpressionActionsPtr & expr, const Names & columns, const DataTypes & data_types,
|
||
|
const Block & header, size_t granularity, size_t bits_per_row_, size_t hash_functions_);
|
||
|
|
||
|
MergeTreeIndexGranulePtr createIndexGranule() const override;
|
||
|
|
||
|
MergeTreeIndexAggregatorPtr createIndexAggregator() const override;
|
||
|
|
||
|
IndexConditionPtr createIndexCondition(const SelectQueryInfo & query_info, const Context & context) const override;
|
||
|
|
||
|
bool mayBenefitFromIndexForIn(const ASTPtr & node) const override;
|
||
|
|
||
|
private:
|
||
|
size_t bits_per_row;
|
||
|
size_t hash_functions;
|
||
|
};
|
||
|
|
||
|
}
|