This commit is contained in:
Alexander Kuzmenkov 2019-11-19 21:42:51 +03:00
parent 7e5731d64e
commit 9a2b864940
4 changed files with 6 additions and 20 deletions

View File

@ -1113,11 +1113,14 @@ private:
auto packet_type = connection->checkPacket();
if (packet_type && *packet_type == Protocol::Server::Exception)
{
async_block_input->cancel(false);
/*
* We're exiting with error, so it makes sense to kill the
* input stream without waiting for it to complete.
*/
async_block_input->cancel(true);
return;
}
connection->sendData(block);
processed_rows += block.rows();

View File

@ -24,7 +24,6 @@
#include <Formats/FormatSettings.h>
#include <IO/ReadBuffer.h>
#include <IO/BufferWithOwnMemory.h>
#include <IO/ReadBufferFromMemory.h>
#include <IO/VarInt.h>
@ -912,17 +911,4 @@ void skipToNextLineOrEOF(ReadBuffer & buf);
/// Skip to next character after next unescaped \n. If no \n in stream, skip to end. Does not throw on invalid escape sequences.
void skipToUnescapedNextLineOrEOF(ReadBuffer & buf);
/** Returns buffer eof() result.
* And saves data if there is no pending data in buffer or it was explicitly asked.
* Why we have to use this strange function? Consider we have begin_pos in the middle of our buffer
* and the cursor in the end of the buffer. When we call eof() it calls next().
* And this function can fill the buffer with new data, so we will lose the data from previous buffer state.
* @param buf - original buffer to read from.
* memory - where to put data from buf
* used_size - special parameter not to do useless reallocations
* begin_pos - defines from which position we will copy the data.
* forse_saving_buffer_state - allows to explicitly copy all the data from begin_pos to current_position.
*/
bool eofWithSavingBufferState(ReadBuffer & buf, DB::Memory<> & memory, size_t & used_size, char * & begin_pos, bool force_saving_buffer_state = false);
}

View File

@ -422,5 +422,4 @@ void registerInputFormatProcessorCSV(FormatFactory & factory)
}
}
}

View File

@ -999,9 +999,7 @@ Default value: 0.
- Type: bool
- Default value: True
Enable order-preserving parallel parsing of data formats such as JSONEachRow, TSV, TKSV and CSV. Reading will be single threaded and parsing will be multithreaded.
The maximum number of threads for order-preserving parallel parsing of data formats. 0 means use global maximum.
Enable order-preserving parallel parsing of data formats. Supported only for TSV format.
## min_chunk_bytes_for_parallel_parsing