#pragma once#include <Processors/IProcessor.h>#include <Processors/ISimpleTransform.h>#include <Core/ColumnNumbers.h>#include <Common/WeakHash.h>namespaceDB{/// Add IColumn::Selector to chunk (see SelectorInfo.h)./// Selector is filled by formula (WeakHash(key_columns) * num_outputs / MAX_INT).classAddingSelectorTransform:publicISimpleTransform{public:AddingSelectorTransform(constBlock&header,size_tnum_outputs_,ColumnNumberskey_columns_);StringgetName()constoverride{return"SplittingByHash";}voidtransform(Chunk&input_chunk,Chunk&output_chunk)override;private:size_tnum_outputs;ColumnNumberskey_columns;WeakHash32hash;};}