mirror of
https://github.com/ClickHouse/ClickHouse.git
synced 2024-11-23 16:12:01 +00:00
dbms: fixed error when inserting empty data (using HTTP protocol) [#CONV-2944].
This commit is contained in:
parent
19f418ca40
commit
77026f581f
@ -53,12 +53,20 @@ void InterpreterInsertQuery::execute(ReadBuffer * remaining_data_istr)
|
||||
if (format.empty())
|
||||
format = "Values";
|
||||
|
||||
/// Данные могут содержаться в распарсенной и ещё не распарсенной части запроса.
|
||||
ConcatReadBuffer::ReadBuffers buffers;
|
||||
ReadBuffer buf1(const_cast<char *>(query.data), query.end - query.data, 0);
|
||||
/// Данные могут содержаться в распарсенной (query.data) и ещё не распарсенной (remaining_data_istr) части запроса.
|
||||
|
||||
buffers.push_back(&buf1);
|
||||
if (remaining_data_istr)
|
||||
/// Если данных нет.
|
||||
bool has_remaining_data = remaining_data_istr && !remaining_data_istr->eof();
|
||||
|
||||
if (!query.data && !has_remaining_data)
|
||||
throw Exception("No data to insert", ErrorCodes::NO_DATA_TO_INSERT);
|
||||
|
||||
ConcatReadBuffer::ReadBuffers buffers;
|
||||
ReadBuffer buf1(const_cast<char *>(query.data), query.data ? query.end - query.data : 0, 0);
|
||||
|
||||
if (query.data)
|
||||
buffers.push_back(&buf1);
|
||||
if (has_remaining_data)
|
||||
buffers.push_back(remaining_data_istr);
|
||||
|
||||
ConcatReadBuffer istr(buffers);
|
||||
|
Loading…
Reference in New Issue
Block a user