ClickHouse/dbms/src/Dictionaries/DictionaryBlockInputStreamBase.cpp

30 lines
695 B
C++
Raw Normal View History

2017-04-28 18:33:31 +00:00
#include <Dictionaries/DictionaryBlockInputStreamBase.h>
namespace DB
{
DictionaryBlockInputStreamBase::DictionaryBlockInputStreamBase(size_t rows_count, size_t max_block_size)
: rows_count(rows_count), max_block_size(max_block_size), next_row(0)
{
}
2017-04-28 18:33:31 +00:00
String DictionaryBlockInputStreamBase::getID() const
{
std::stringstream ss;
2017-05-30 15:02:44 +00:00
ss << static_cast<const void*>(this);
2017-04-28 18:33:31 +00:00
return ss.str();
}
Block DictionaryBlockInputStreamBase::readImpl()
{
if (next_row == rows_count)
2017-04-28 18:33:31 +00:00
return Block();
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;
}
}