BenchmarkSQL V6虽然没有正式发布,但是已经可用了。
它采用了Maven作为编译和打包工具。这可能简化使用,特别有利于国产数据库的性能测试。
如果国产数据库的JDBC支持JDK 17及以上特点,也方便把BenchmarkSQL源代码迁移到支持JDK 17 。
❯ 分析BenchmarkSQL 版本信息
● Explore(Analyze BenchmarkSQL version info)
⎿ Done (44 tool uses · 36.7k tokens · 1m 3s)
(ctrl+o to expand)
● BenchmarkSQL 版本信息分析
当前版本状态
项目当前处于 REL6_0_RC2(6.0 发布候选第2版),尚未有正式的 REL6_0 最终版本。
版本信息分布
┌──────────────────────────────────┬──────────────────────────────────────┐
│ 位置 │ 版本号 │
├──────────────────────────────────┼──────────────────────────────────────┤
│ pom.xml (第7行) │ 6.0.0(Maven 三段式版本) │
├──────────────────────────────────┼──────────────────────────────────────┤
│ src/.../jTPCCConfig.java (第9行) │ "6.0"(运行时版本常量 JTPCCVERSION) │
├──────────────────────────────────┼──────────────────────────────────────┤
│ podman-build.sh / podman-run.sh │ 6.0-rc2(容器镜像标签) │
├──────────────────────────────────┼──────────────────────────────────────┤
│ README.md │ BenchmarkSQL V6 │
└──────────────────────────────────┴──────────────────────────────────────┘
版本不一致问题
存在三处不一致:
1. pom.xml 用 6.0.0(三段式),而 jTPCCConfig.java 用 "6.0"(两段式)
2. 容器脚本标记为 6.0-rc2,但无最终 6.0 标签
3. docs/CHANGE-LOG.md 中 6.0 条目仍有未完成的 TODO 项(标注 jannicash:),说明 changelog 从未定稿
版本历史(Git Tags)
┌────────────┬────────────┬────────────┐
│ Tag │ 日期 │ 说明 │
├────────────┼────────────┼────────────┤
│ REL4_1_0 │ 2016-05-14 │ 版本 4.1.0 │
├────────────┼────────────┼────────────┤
│ REL4_1_1 │ 2016-05-14 │ 版本 4.1.1 │
├────────────┼────────────┼────────────┤
│ REL5_0_RC1 │ 2016-05-14 │ 5.0 RC1 │
├────────────┼────────────┼────────────┤
│ REL5_0_RC2 │ 2016-05-15 │ 5.0 RC2 │
├────────────┼────────────┼────────────┤
│ REL5_0 │ 2016-05-25 │ 5.0 正式版 │
├────────────┼────────────┼────────────┤
│ REL5_1 │ 2018-12-13 │ 5.1 正式版 │
├────────────┼────────────┼────────────┤
│ REL6_0_RC1 │ 2023 年末 │ 6.0 RC1 │
├────────────┼────────────┼────────────┤
│ REL6_0_RC2 │ 2024-01-12 │ 6.0 RC2 │
└────────────┴────────────┴────────────┘
没有 REL6_0 最终标签,也没有 REL6_STABLE 分支。
6.0 版本主要变更(来自 CHANGE-LOG.md)
- 完全重写为基于调度器的驱动架构
- 改为 Maven 项目生命周期管理
- 升级到 log4j v2
- 包结构重构(com/github/pgsqlio/benchmarksql)
发布流程(来自 docs/RELEASE.md)
规范流程要求更新 JTPCCVERSION、BUILDING.md、CHANGE-LOG.md,然后执行 mvn release:prepare 和 mvn release:perform 自动更新 pom.xml 版本号——但从当前状态看,6.0 的正式发布流程从未完成。