Conversation
ab71a21 to
99ea5e4
Compare
There was a problem hiding this comment.
Pull Request Overview
This PR introduces benchmark support for multi-language implementations (C and C++) while updating several core APIs in the TSFile I/O and meta index handling. Key changes include refactoring function signatures to use smart pointers for meta index entry parameters, modifying device and measurement metadata interfaces, and adding new benchmark modules for both C and C++.
Reviewed Changes
Copilot reviewed 28 out of 32 changed files in this pull request and generated 1 comment.
Show a summary per file
| File | Description |
|---|---|
| cpp/src/file/tsfile_io_reader.{h,cc} | Updated function signatures to use shared_ptr and method calls for offsets; adjusted error-handling in deserialization. |
| cpp/src/encoding/gorilla_decoder.h | Changed the initial value of has_next_ from true to false. |
| cpp/src/common/tsfile_common.{h,cc} | Transitioned get_offset to a pure virtual and updated clone implementations. |
| cpp/src/common/tablet.cc | Modified get_device_id to reserve capacity and pass an internal flag. |
| cpp/src/common/schema.h | Updated the default compression assignment to use the proper utility function. |
| cpp/src/common/device_id.h | Enhanced StringArrayDeviceID with a new constructor and revised equality operator. |
| cpp/bench_mark/* | Added new benchmark source files for C and C++ implementations and corresponding configuration changes. |
Files not reviewed (4)
- cpp/CMakeLists.txt: Language not supported
- cpp/bench_mark/CMakeLists.txt: Language not supported
- cpp/bench_mark/bench_mark_src/CMakeLists.txt: Language not supported
- cpp/bench_mark/build.sh: Language not supported
Comments suppressed due to low confidence (2)
cpp/src/encoding/gorilla_decoder.h:47
- Changing the initial value of 'has_next_' from true to false alters the decoder's iteration behavior; please verify that this new initialization correctly reflects the intended logic.
has_next_ = false;
cpp/src/common/tablet.cc:343
- [nitpick] Passing 'true' as the second argument to StringArrayDeviceID indicates a change in internal behavior; verify that this new flag does not adversely affect device ID equality or serialization.
return std::make_shared<StringArrayDeviceID>(id_array, true);
| ret = device_meta_index->device_deserialize_from(data_buf, read_size); | ||
| return ret; |
There was a problem hiding this comment.
Removing the explicit error check for the deserialization method may lead to silent failures; consider handling the error return value of 'device_deserialize_from' explicitly.
| ret = device_meta_index->device_deserialize_from(data_buf, read_size); | |
| return ret; | |
| ret = device_meta_index->device_deserialize_from(data_buf, read_size); | |
| if (RET_FAIL(ret)) { | |
| return ret; | |
| } |
No description provided.