[Feature] Support 64-bit deletion vectors in Paimon C++
- Ngôn ngữ chính
- C++
- Star
- 65
- Fork
- 25
- Merge trung bình
- 2 ngày 12 giờ
- Pull request đã merge (30 ngày)
- 80
Mô tả
### Search before asking
- [x] I searched in the [issues](https://github.com/apache/paimon-cpp/issues) and found nothing similar.
### Motivation
### Motivation
Java Paimon supports both 32-bit and 64-bit deletion vectors through:
```properties
deletion-vectors.enabled=true
deletion-vectors.bitmap64=true
Paimon C++ currently exposes the deletion-vectors.bitmap64 option, but bitmap64 deletion vectors are not implemented:
- include/paimon/defs.h marks bitmap64 DV as unsupported.
- DeletionVector::Read recognizes the bitmap64 magic number but returns NotImplemented.
- Only BitmapDeletionVector, backed by RoaringBitmap32, is currently used for deletion-vector reads and writes.
As a result, Paimon C++ cannot read tables containing bitmap64 deletion vectors produced by Java Paimon, and cannot produce Iceberg-compatible deletion vectors.
### Solution
_No response_
### Anything else?
_No response_
### Are you willing to submit a PR?
- [x] I'm willing to submit a PR!
Hướng dẫn đóng góp
Hướng nghiên cứu
Bắt đầu bằng cách theo dõi việc xử lý deletion vector qua include/paimon/defs.h và DeletionVector::Read, sau đó kiểm tra đường dẫn đọc/ghi của BitmapDeletionVector và RoaringBitmap32. So sánh hành vi hiện có của bitmap32 với magic number của bitmap64 và các thuộc tính Java Paimon được mô tả trong issue. Công việc được hoàn tất khi Paimon C++ có thể đọc các deletion vector bitmap64 do Java tạo ra và tạo ra các deletion vector tương thích với Iceberg.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Đánh giá
- Công nghệ
- cpp
- Lĩnh vực
- databases
- Loại issue
- Tính năng
- Độ khó
- 4/5
- Thời gian dự kiến
- 3-5 ngày
- Mức độ hoạt động
- Sôi nổi
- Độ rõ ràng
- Khá rõ ràng
- Mức phù hợp với người mới
- 45/100