ClickHouse/dbms/include/DB/DataStreams/NativeBlockInputStream.h
2012-08-02 17:33:31 +00:00

34 lines
1.1 KiB
C++
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#pragma once
#include <DB/DataTypes/DataTypeFactory.h>
#include <DB/DataStreams/IProfilingBlockInputStream.h>
namespace DB
{
/** Десериализует поток блоков из родного бинарного формата (с именами и типами столбцов).
* Предназначено для взаимодействия между серверами.
*/
class NativeBlockInputStream : public IProfilingBlockInputStream
{
public:
NativeBlockInputStream(ReadBuffer & istr_, const DataTypeFactory & data_type_factory_)
: istr(istr_), data_type_factory(data_type_factory_) {}
/** Прочитать следующий блок.
* Если блоков больше нет - вернуть пустой блок (для которого operator bool возвращает false).
*/
Block readImpl();
String getName() const { return "NativeBlockInputStream"; }
BlockInputStreamPtr clone() { return new NativeBlockInputStream(istr, data_type_factory); }
private:
ReadBuffer & istr;
const DataTypeFactory & data_type_factory;
};
}