ClickHouse/dbms/include/DB/DataStreams/EmptyBlockOutputStream.h

28 lines
781 B
C++
Raw Normal View History

2012-03-11 08:52:56 +00:00
#pragma once
#include <DB/DataStreams/IBlockOutputStream.h>
#include <DB/Common/Exception.h>
2012-03-11 08:52:56 +00:00
namespace DB
{
namespace ErrorCodes
{
extern const int CANNOT_WRITE_TO_EMPTY_BLOCK_OUTPUT_STREAM;
}
2012-03-11 08:52:56 +00:00
/** При попытке записать в этот поток блоков, кидает исключение.
* Используется там, где, в общем случае, нужно передать поток блоков, но в некоторых случаях, он не должен быть использован.
*/
class EmptyBlockOutputStream : public IBlockOutputStream
{
public:
void write(const Block & block) override
2012-03-11 08:52:56 +00:00
{
throw Exception("Cannot write to EmptyBlockOutputStream", ErrorCodes::CANNOT_WRITE_TO_EMPTY_BLOCK_OUTPUT_STREAM);
}
};
}