https://clickhouse-test-reports.s3.yandex.net/21020/2ced21c837006053542b9f04c338faebf504f413/fuzzer_asan/server.log
{
        const Container & bitmap = maps[bitmap_number]->bitmap;
        IColumn::Filter filter(bitmap.size());
        for (size_t i = 0; i < bitmap.size(); ++i)
            filter[i] = !bitmap[i];
        return filter;
    }
private:
    std::vector<std::unique_ptr<Bitmap>> maps;
};
struct MergeJoinEqualRange
{
    size_t left_start = 0;
    size_t right_start = 0;
    size_t left_length = 0;
    size_t right_length = 0;
    bool empty() const { return !left_length && !right_length; }
};
using Range = MergeJoinEqualRange;
class MergeJoinCursor
{
public:
    MergeJoinCursor(const Block & block, const SortDescription & desc_)
        : impl(SortCursorImpl(block, desc_))
    {
        
        if (impl.permutation)
            throw Exception("Logical error: MergeJoinCursor doesn't support permutation", ErrorCodes::LOGICAL_ERROR);
    }
    size_t position() const { return impl.getRow(); }