1 | #pragma once |
---|---|
2 | |
3 | #include <DataStreams/IBlockInputStream.h> |
4 | |
5 | namespace DB |
6 | { |
7 | class DictionaryBlockInputStreamBase : public IBlockInputStream |
8 | { |
9 | protected: |
10 | DictionaryBlockInputStreamBase(size_t rows_count_, size_t max_block_size_); |
11 | |
12 | virtual Block getBlock(size_t start, size_t length) const = 0; |
13 | |
14 | Block getHeader() const override; |
15 | |
16 | private: |
17 | const size_t rows_count; |
18 | const size_t max_block_size; |
19 | size_t next_row = 0; |
20 | |
21 | Block readImpl() override; |
22 | }; |
23 | |
24 | } |
25 |