Add structured version info for dbm.ndbm
未关闭
还没有人认领这个 Issue。
3.16
extension-modules
type-feature
- 主要语言
- Python
- 星标
- 77.2k
- 派生
- 35.9k
- PR 合并指标
- PR 指标待抓取
描述
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
贡献指南
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
调研方向
从 dbm.ndbm 的实现开始,并按照 gh-157478 中的参考,将其公开的库信息与 dbm.gnu 进行比较。检查 GNU gdbm 和 Berkeley DB 的构建时与运行时版本要求,并验证经典 NDBM 不报告版本信息且将自身标识为 ndbm;gh-157484 表明相关工作已经在进行中。
由索引模型根据 Issue 内容生成。
评估
- 技术栈
- python
- 领域
- databases
- Issue 类型
- 功能
- 难度
- 4/5
- 预计耗时
- 3-5 天
- 活跃度
- 停滞
- 描述清晰度
- 基本清楚
- 新手友好度
- 25/100