[Feature] Support 64-bit deletion vectors in Paimon C++
- Langage dominant
- C++
- Étoiles
- 65
- Forks
- 25
- Merge moyen
- 2 j 12 h
- PR mergées (30 j)
- 80
Description
### 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!
Guide de contribution
Ouvrir le guide de contribution
Piste de recherche
Commencez par suivre la gestion des vecteurs de suppression dans include/paimon/defs.h et DeletionVector::Read, puis examinez le chemin de lecture/écriture de BitmapDeletionVector et RoaringBitmap32. Comparez le comportement existant de bitmap32 avec le nombre magique de bitmap64 et les propriétés Java Paimon décrites dans l’issue. Le travail est terminé lorsque Paimon C++ peut lire les vecteurs de suppression bitmap64 produits par Java et en produire des compatibles avec Iceberg.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Évaluation
- Stack technique
- cpp
- Domaine
- databases
- Type d'issue
- Fonctionnalité
- Difficulté
- 4/5
- Temps estimé
- 3-5 jours
- Activité
- Active
- Clarté
- Plutôt claire
- Accessibilité débutants
- 45/100