mirror of
https://github.com/ClickHouse/ClickHouse.git
synced 2024-11-23 08:02:02 +00:00
dbms: Server: feature development. [#METR-15090]
This commit is contained in:
parent
50d103a4c2
commit
985e3cf1ec
@ -47,7 +47,8 @@ public:
|
||||
if (!res)
|
||||
working_buffer.resize(0);
|
||||
|
||||
pos = working_buffer.begin();
|
||||
pos = working_buffer.begin() + working_buffer_offset;
|
||||
working_buffer_offset = 0;
|
||||
return res;
|
||||
}
|
||||
|
||||
|
@ -68,13 +68,14 @@ private:
|
||||
|
||||
Position buffer_begin = nullptr;
|
||||
off_t region_aligned_size = 0;
|
||||
|
||||
|
||||
/// Асинхронная операция чтения ещё не завершилась.
|
||||
bool is_pending_read = false;
|
||||
/// Конец файла достигнут.
|
||||
bool is_eof = false;
|
||||
/// Был отправлен хоть один запрос на асинхронную операцию чтения.
|
||||
bool is_started = false;
|
||||
/// Асинхронная операция завершилась неудачно?
|
||||
bool aio_failed = false;
|
||||
};
|
||||
|
||||
|
@ -252,15 +252,14 @@ void ReadBufferAIO::publishReceivedData()
|
||||
if (pos_in_file > (std::numeric_limits<off_t>::max() - bytes_read))
|
||||
throw Exception("File position overflowed", ErrorCodes::LOGICAL_ERROR);
|
||||
|
||||
::memmove(buffer_begin, buffer_begin + region_left_padding, bytes_read);
|
||||
|
||||
if (bytes_read > 0)
|
||||
fill_buffer.buffer().resize(bytes_read);
|
||||
fill_buffer.buffer().resize(region_left_padding + bytes_read);
|
||||
if (static_cast<size_t>(bytes_read) < requested_byte_count)
|
||||
is_eof = true;
|
||||
|
||||
pos_in_file += bytes_read;
|
||||
total_bytes_read += bytes_read;
|
||||
working_buffer_offset = region_left_padding;
|
||||
|
||||
if (total_bytes_read == max_bytes_read)
|
||||
is_eof = true;
|
||||
|
Loading…
Reference in New Issue
Block a user