ClickHouse/dbms/include/DB/DataStreams/EmptyBlockOutputStream.h
2012-03-11 08:52:56 +00:00

25 lines
726 B
C++

#pragma once
#include <DB/DataStreams/IBlockOutputStream.h>
namespace DB
{
/** При попытке записать в этот поток блоков, кидает исключение.
* Используется там, где, в общем случае, нужно передать поток блоков, но в некоторых случаях, он не должен быть использован.
*/
class EmptyBlockOutputStream : public IBlockOutputStream
{
public:
void write(const Block & block)
{
throw Exception("Cannot write to EmptyBlockOutputStream", ErrorCodes::CANNOT_WRITE_TO_EMPTY_BLOCK_OUTPUT_STREAM);
}
BlockOutputStreamPtr clone() { return new EmptyBlockOutputStream(); }
};
}