#pragma once #include #include #include #include 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; }; }