2018-11-28 11:37:12 +00:00
|
|
|
#include "DictionaryBlockInputStreamBase.h"
|
2017-04-28 18:33:31 +00:00
|
|
|
|
|
|
|
namespace DB
|
|
|
|
{
|
2019-02-10 16:55:12 +00:00
|
|
|
DictionaryBlockInputStreamBase::DictionaryBlockInputStreamBase(size_t rows_count, UInt64 max_block_size)
|
2018-08-24 05:37:06 +00:00
|
|
|
: rows_count(rows_count), max_block_size(max_block_size)
|
2017-05-26 16:08:56 +00:00
|
|
|
{
|
|
|
|
}
|
|
|
|
|
2017-04-28 18:33:31 +00:00
|
|
|
Block DictionaryBlockInputStreamBase::readImpl()
|
|
|
|
{
|
2017-05-26 16:08:56 +00:00
|
|
|
if (next_row == rows_count)
|
2017-04-28 18:33:31 +00:00
|
|
|
return Block();
|
|
|
|
|
2017-05-26 16:08:56 +00:00
|
|
|
size_t block_size = std::min<size_t>(max_block_size, rows_count - next_row);
|
|
|
|
Block block = getBlock(next_row, block_size);
|
|
|
|
next_row += block_size;
|
2017-04-28 18:33:31 +00:00
|
|
|
return block;
|
|
|
|
}
|
|
|
|
|
2018-02-18 03:23:48 +00:00
|
|
|
Block DictionaryBlockInputStreamBase::getHeader() const
|
2018-01-06 18:10:44 +00:00
|
|
|
{
|
2018-01-09 00:19:58 +00:00
|
|
|
return getBlock(0, 0);
|
2018-01-06 18:10:44 +00:00
|
|
|
}
|
|
|
|
|
2017-05-26 16:08:56 +00:00
|
|
|
}
|