[CodeFormat] Clang-format cpp sources (#4965)
Clang-format all c++ source files.
This commit is contained in:
@ -18,13 +18,13 @@
|
||||
#include "exec/plain_text_line_reader.h"
|
||||
|
||||
#include "common/status.h"
|
||||
#include "exec/file_reader.h"
|
||||
#include "exec/decompressor.h"
|
||||
#include "exec/file_reader.h"
|
||||
|
||||
// INPUT_CHUNK must
|
||||
// larger than 15B for correct lz4 file decompressing
|
||||
// larger than 300B for correct lzo header decompressing
|
||||
#define INPUT_CHUNK (2 * 1024 * 1024)
|
||||
// larger than 300B for correct lzo header decompressing
|
||||
#define INPUT_CHUNK (2 * 1024 * 1024)
|
||||
// #define INPUT_CHUNK (34)
|
||||
#define OUTPUT_CHUNK (8 * 1024 * 1024)
|
||||
// #define OUTPUT_CHUNK (32)
|
||||
@ -32,34 +32,32 @@
|
||||
|
||||
namespace doris {
|
||||
|
||||
PlainTextLineReader::PlainTextLineReader(
|
||||
RuntimeProfile* profile,
|
||||
FileReader* file_reader,
|
||||
Decompressor* decompressor,
|
||||
size_t length, uint8_t line_delimiter) :
|
||||
_profile(profile),
|
||||
_file_reader(file_reader),
|
||||
_decompressor(decompressor),
|
||||
_min_length(length),
|
||||
_total_read_bytes(0),
|
||||
_line_delimiter(line_delimiter),
|
||||
_input_buf(new uint8_t[INPUT_CHUNK]),
|
||||
_input_buf_size(INPUT_CHUNK),
|
||||
_input_buf_pos(0),
|
||||
_input_buf_limit(0),
|
||||
_output_buf(new uint8_t[OUTPUT_CHUNK]),
|
||||
_output_buf_size(OUTPUT_CHUNK),
|
||||
_output_buf_pos(0),
|
||||
_output_buf_limit(0),
|
||||
_file_eof(false),
|
||||
_eof(false),
|
||||
_stream_end(true),
|
||||
_more_input_bytes(0),
|
||||
_more_output_bytes(0),
|
||||
_bytes_read_counter(nullptr),
|
||||
_read_timer(nullptr),
|
||||
_bytes_decompress_counter(nullptr),
|
||||
_decompress_timer(nullptr) {
|
||||
PlainTextLineReader::PlainTextLineReader(RuntimeProfile* profile, FileReader* file_reader,
|
||||
Decompressor* decompressor, size_t length,
|
||||
uint8_t line_delimiter)
|
||||
: _profile(profile),
|
||||
_file_reader(file_reader),
|
||||
_decompressor(decompressor),
|
||||
_min_length(length),
|
||||
_total_read_bytes(0),
|
||||
_line_delimiter(line_delimiter),
|
||||
_input_buf(new uint8_t[INPUT_CHUNK]),
|
||||
_input_buf_size(INPUT_CHUNK),
|
||||
_input_buf_pos(0),
|
||||
_input_buf_limit(0),
|
||||
_output_buf(new uint8_t[OUTPUT_CHUNK]),
|
||||
_output_buf_size(OUTPUT_CHUNK),
|
||||
_output_buf_pos(0),
|
||||
_output_buf_limit(0),
|
||||
_file_eof(false),
|
||||
_eof(false),
|
||||
_stream_end(true),
|
||||
_more_input_bytes(0),
|
||||
_more_output_bytes(0),
|
||||
_bytes_read_counter(nullptr),
|
||||
_read_timer(nullptr),
|
||||
_bytes_decompress_counter(nullptr),
|
||||
_decompress_timer(nullptr) {
|
||||
_bytes_read_counter = ADD_COUNTER(_profile, "BytesRead", TUnit::BYTES);
|
||||
_read_timer = ADD_TIMER(_profile, "FileReadTime");
|
||||
_bytes_decompress_counter = ADD_COUNTER(_profile, "BytesDecompressed", TUnit::BYTES);
|
||||
@ -85,17 +83,16 @@ void PlainTextLineReader::close() {
|
||||
inline bool PlainTextLineReader::update_eof() {
|
||||
if (done()) {
|
||||
_eof = true;
|
||||
} else if (_decompressor == nullptr
|
||||
&& (_min_length >= 0 && _total_read_bytes >= _min_length)) {
|
||||
} else if (_decompressor == nullptr && (_min_length >= 0 && _total_read_bytes >= _min_length)) {
|
||||
_eof = true;
|
||||
}
|
||||
return _eof;
|
||||
}
|
||||
|
||||
uint8_t* PlainTextLineReader::update_field_pos_and_find_line_delimiter(
|
||||
const uint8_t* start, size_t len) {
|
||||
uint8_t* PlainTextLineReader::update_field_pos_and_find_line_delimiter(const uint8_t* start,
|
||||
size_t len) {
|
||||
// TODO: meanwhile find and save field pos
|
||||
return (uint8_t*) memmem(start, len, &_line_delimiter, 1);
|
||||
return (uint8_t*)memmem(start, len, &_line_delimiter, 1);
|
||||
}
|
||||
|
||||
// extend input buf if necessary only when _more_input_bytes > 0
|
||||
@ -137,7 +134,7 @@ void PlainTextLineReader::extend_input_buf() {
|
||||
// LOG(INFO) << "extend input buf."
|
||||
// << " input_buf_size: " << _input_buf_size
|
||||
// << " input_buf_pos: " << _input_buf_pos
|
||||
// << " input_buf_limit: " << _input_buf_limit;
|
||||
// << " input_buf_limit: " << _input_buf_limit;
|
||||
}
|
||||
|
||||
void PlainTextLineReader::extend_output_buf() {
|
||||
@ -166,7 +163,7 @@ void PlainTextLineReader::extend_output_buf() {
|
||||
while (_output_buf_size - output_buf_read_remaining() < target) {
|
||||
_output_buf_size = _output_buf_size * 2;
|
||||
}
|
||||
|
||||
|
||||
uint8_t* new_output_buf = new uint8_t[_output_buf_size];
|
||||
memmove(new_output_buf, _output_buf + _output_buf_pos, output_buf_read_remaining());
|
||||
delete[] _output_buf;
|
||||
@ -194,8 +191,7 @@ Status PlainTextLineReader::read_line(const uint8_t** ptr, size_t* size, bool* e
|
||||
// find line delimiter in current decompressed data
|
||||
uint8_t* cur_ptr = _output_buf + _output_buf_pos;
|
||||
uint8_t* pos = update_field_pos_and_find_line_delimiter(
|
||||
cur_ptr + offset,
|
||||
output_buf_read_remaining() - offset);
|
||||
cur_ptr + offset, output_buf_read_remaining() - offset);
|
||||
|
||||
if (pos == nullptr) {
|
||||
// didn't find line delimiter, read more data from decompressor
|
||||
@ -266,7 +262,6 @@ Status PlainTextLineReader::read_line(const uint8_t** ptr, size_t* size, bool* e
|
||||
_more_input_bytes = _more_input_bytes - read_len;
|
||||
continue;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
if (_decompressor != nullptr) {
|
||||
@ -277,15 +272,11 @@ Status PlainTextLineReader::read_line(const uint8_t** ptr, size_t* size, bool* e
|
||||
_more_input_bytes = 0;
|
||||
_more_output_bytes = 0;
|
||||
RETURN_IF_ERROR(_decompressor->decompress(
|
||||
_input_buf + _input_buf_pos, /* input */
|
||||
_input_buf_limit - _input_buf_pos, /* input_len */
|
||||
&input_read_bytes,
|
||||
_output_buf + _output_buf_limit, /* output */
|
||||
_output_buf_size - _output_buf_limit, /* output_max_len */
|
||||
&decompressed_len,
|
||||
&_stream_end,
|
||||
&_more_input_bytes,
|
||||
&_more_output_bytes));
|
||||
_input_buf + _input_buf_pos, /* input */
|
||||
_input_buf_limit - _input_buf_pos, /* input_len */
|
||||
&input_read_bytes, _output_buf + _output_buf_limit, /* output */
|
||||
_output_buf_size - _output_buf_limit, /* output_max_len */
|
||||
&decompressed_len, &_stream_end, &_more_input_bytes, &_more_output_bytes));
|
||||
|
||||
// LOG(INFO) << "after decompress:"
|
||||
// << " stream_end: " << _stream_end
|
||||
@ -300,8 +291,8 @@ Status PlainTextLineReader::read_line(const uint8_t** ptr, size_t* size, bool* e
|
||||
COUNTER_UPDATE(_bytes_decompress_counter, decompressed_len);
|
||||
|
||||
// TODO(cmy): watch this case
|
||||
if ((input_read_bytes == 0 /*decompressed_len == 0*/)
|
||||
&& _more_input_bytes == 0 && _more_output_bytes == 0) {
|
||||
if ((input_read_bytes == 0 /*decompressed_len == 0*/) && _more_input_bytes == 0 &&
|
||||
_more_output_bytes == 0) {
|
||||
// decompress made no progress, may be
|
||||
// A. input data is not enough to decompress data to output
|
||||
// B. output buf is too small to save decompressed output
|
||||
@ -347,4 +338,4 @@ Status PlainTextLineReader::read_line(const uint8_t** ptr, size_t* size, bool* e
|
||||
return Status::OK();
|
||||
}
|
||||
|
||||
} // end of namespace
|
||||
} // namespace doris
|
||||
|
||||
Reference in New Issue
Block a user