[Feature] Support 64-bit deletion vectors in Paimon C++

Ouverte
#325 0 commentaires 0 réactions 1 personne assignée Voir sur GitHub

Personne n'a encore pris cette issue.

Évaluation

Difficulté
4/5
Temps estimé
3-5 jours
Accessibilité débutants
45/100
Type d'issue
Fonctionnalité
Clarté
Plutôt claire
Activité
Active
Stack technique
cpp
Domaine
databases

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.

Description

enhancement
Search before asking
  • I searched in the issues and found nothing similar.
Motivation
Motivation

Java Paimon supports both 32-bit and 64-bit deletion vectors through:

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!
Langage dominant
C++
Étoiles
65
Forks
29
Merge moyen
2 j 30 min
PR mergées (30 j)
77

Guide de contribution

Ouvrir le guide de contribution

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Autres issues de apache/paimon-cpp

Toutes les issues de apache/paimon-cpp

Issues similaires

Plus d'issues C++

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.