feat: add Range, RangeHelper, RowRangeIndex, and ByteRangeCombiner ut…#19
Conversation
leaves12138
left a comment
There was a problem hiding this comment.
Thanks for the update. I found one compile-blocking issue: depends on via , but that header is not present in this PR/head tree, so including cannot compile. Please either add the missing / definition in this PR, include the correct existing header, or move into a header that is actually part of the branch before using it here.
| #include <vector> | ||
|
|
||
| #include "paimon/result.h" | ||
| #include "paimon/utils/read_ahead_cache.h" |
There was a problem hiding this comment.
This header is not present in the PR head tree ( / are both missing), but uses from it. As-is, this new header cannot compile. Please add the missing header/ definition, or include the correct existing header before using .
f63163c to
8309253
Compare
leaves12138
left a comment
There was a problem hiding this comment.
Thanks for the update. The previous missing-header blocker is resolved after removing ByteRangeCombiner from this PR, and I did not find any remaining blocking issue in the updated range/row-range changes.
Purpose
No Linked issue.
Introduce range-related utility modules to the apache/paimon-cpp codebase. These modules provide range representation, range manipulation helpers, row range indexing with binary search, and byte range combining adapted from Apache ORC.
Rangestruct for inclusive integer range representation (include/paimon/utils/range.h,range.cpp)RangeHelpertemplate for range splitting and merging operations (range_helper.h)RowRangeIndexfor efficient intersection queries over sorted non-overlapping ranges using binary search (include/paimon/utils/row_range_index.h,row_range_index.cpp)ByteRangeCombinerfor combining byte ranges, adapted from Apache ORC (byte_range_combiner.h,byte_range_combiner.cpp)LICENSEto addbyte_range_combinerfiles under the Apache ORC attribution entryTests
range_test.cpp— Range construction, count, intersection, merge, and string representationrange_helper_test.cpp— RangeHelper split and merge operationsrow_range_index_test.cpp— RowRangeIndex intersection queries and edge casesbyte_range_combiner_test.cpp— ByteRangeCombiner combining logicAPI and Format
No API or format changes.
Documentation
No documentation changes.
Generative AI tooling