From a81b5d7df90935b6f420b6297c066664a7046194 Mon Sep 17 00:00:00 2001 From: Alexey Milovidov Date: Tue, 23 Sep 2014 03:21:15 +0400 Subject: [PATCH] dbms: additions to prev. revision [#METR-12857]. --- dbms/include/DB/DataStreams/RemoteBlockOutputStream.h | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/dbms/include/DB/DataStreams/RemoteBlockOutputStream.h b/dbms/include/DB/DataStreams/RemoteBlockOutputStream.h index 4438760ec80..7d1c7a2f229 100644 --- a/dbms/include/DB/DataStreams/RemoteBlockOutputStream.h +++ b/dbms/include/DB/DataStreams/RemoteBlockOutputStream.h @@ -40,6 +40,9 @@ public: if (Protocol::Server::Data == packet.type) { sample_block = packet.block; + + if (!sample_block) + throw Exception("Logical error: empty block received as table structure", ErrorCodes::LOGICAL_ERROR); } else if (Protocol::Server::Exception == packet.type) { @@ -54,6 +57,9 @@ public: void write(const Block & block) override { + if (!sample_block) + throw Exception("You must call IBlockOutputStream::writePrefix before IBlockOutputStream::write", ErrorCodes::LOGICAL_ERROR); + if (!blocksHaveEqualStructure(block, sample_block)) { std::stringstream message;