Add structured version info for dbm.ndbm
Personne n'a encore pris cette issue.
- Langage dominant
- Python
- Étoiles
- 77.2k
- Forks
- 36k
- Métriques de merge des PR
- Métriques de PR en attente
Description
Feature or enhancement
dbm.ndbm can be built with GDBM's compatibility interface, with Berkeley DB, or with a classic NDBM library, and only exposes library, the name of the implementation. No version information is available, and library is 'GNU gdbm' even for a classic NDBM library, because the USE_NDBM build assumes GDBM.
The library used by dbm.ndbm may differ from the one used by dbm.gnu (different builds of GDBM, or Berkeley DB), so dbm.ndbm needs its own constants, named after the library it was built with:
- if
libraryis'GNU gdbm':GDBM_VERSION_INFO,gdbm_version_infoandgdbm_version, as indbm.gnu(gh-157478). - if
libraryis'Berkeley DB':DB_VERSIONandDB_VERSION_INFOfor the build-time version (DB_VERSION_STRING,DB_VERSION_MAJOR/MINOR/PATCH),db_versionanddb_version_infofor the runtime version (db_version()). - for a classic NDBM library there is no version information;
libraryshould be'ndbm'.
Linked PRs
- gh-157484
Guide de contribution
Ouvrir le guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Piste de recherche
Commencez par l’implémentation de dbm.ndbm et comparez les informations exposées par la bibliothèque avec celles de dbm.gnu, comme indiqué dans gh-157478. Vérifiez les exigences de version au moment de la compilation et de l’exécution pour GNU gdbm et Berkeley DB, et vérifiez que le NDBM classique ne fournit aucune information de version et s’identifie comme ndbm ; gh-157484 indique que le travail est déjà en cours.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Évaluation
- Stack technique
- python
- Domaine
- databases
- Type d'issue
- Fonctionnalité
- Difficulté
- 4/5
- Temps estimé
- 3-5 jours
- Activité
- À l'abandon
- Clarté
- Plutôt claire
- Accessibilité débutants
- 25/100