跳到主要内容

发版日志

StoneDB-5.7-v1.0.3 的发行日志 (2023-03-20, GA)

发布日期: 2023 年 03 月 20 日

主备能力

  • Binlog 改造 — 指定 DDL 过滤。
  • SQL MODE 中增加参数 NO_KEY_ERROR,SQL 层对不支持 DDL 报错忽略。
    • 语法举例:
# 全局级别
mysql>set global sql_mode='NO_KEY_ERROR';

# 会话级别
mysql>set session sql_mode='NO_KEY_ERROR';

# my.cnf 配置文件
[mysqld]
sql_mode='NO_KEY_ERROR'

生态适配

  • StoneDB 版本号展示。

性能

  • 主从同步性能提升 #1213

问题修复

修复了如下 Bug:

  • 执行 ALTER TABLE 语句添加 TIMESTAMP 字段返回结果不正确。#1327
  • 执行 ALTER TABLE 语句后 Update 表数据不正确。#1253
  • Bigint unsigned 返回结果不正确。 #1203
  • Load data 报错。#1209
  • AVG 函数返回结果不正确。#1125
  • ALTER TABLE 更改字段数据类型报错。#752
  • 其它 Bug。#103 #1230 #1255#1188 #1262

支持平台

  • CentOS 7.6 以上
  • Ubuntu 20

更多该版本的详细更新记录,请访问 GithubGitee 查看。

StoneDB-5.7-v1.0.2 的发行日志 (2023-01-15, GA)

发布日期: 2023 年 01 月 15 日

功能开发

  • 支持自定义函数。
  • 支持转义功能。
  • 支持主键,语法上支持索引。
  • 支持修改表/字段的字符集。
  • 支持BIT数据类型
    • 建表时允许指定字段类型为 BIT,也允许修改表字段类型为 BIT(需要满足类型转换条件)。
    • BIT 数据类型逻辑运算
  • 支持replace into 功能。
  • 支持(语法上)支持unsigned 和zerofill。
  • SQL MODE 中增加参数 MANDATORY TIANMU,用于指定表的默认存储引擎为 TIANMU。
    • 语法举例:
# 全局级别
mysql>set global sql_mode='STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION,MANDATORY_TIANMU';

# 会话级别
mysql>set session sql_mode='STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION,MANDATORY_TIANMU';

# my.cnf 配置文件
[mysqld]
sql_mode = 'STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION,MANDATORY_TIANMU'

易用性

  • 安装包自动检测识别能力。
  • 快速部署StoneDB为MySQL的从库能力。

稳定性

  • 做为从库的稳定性增强。

问题修复

修复了如下 Bug:

  • GROUP_CONCAT() 函数返回错误。#938
  • 模糊匹配LIKE 查询问题。#1162 #1157 #763
  • 主键AUTO_INCREMENT问题。 #1144 #1142
  • 增加NUMERIC 类型字段返回错误。#1140
  • CI/CD 执行clang-format失败。#973
  • INSERT INTO 兼容性。#965
  • UNION ALL 返回错误。#854
  • EXTRACT() 函数返回错误。#845
  • DATE类型select 显示错误。#829
  • UPDATE 更改多列不生效。#781
  • 子查询场景。#732
  • MTR binlog.binlog_unsafe Crash。#341
  • 其它BUG。#682 #553 #508

行为变更

使用快速部署StoneDB为MySQL的从库Shell脚本,默认 sql_mode 开启强制 Tianmu 引擎参数:MANDATORY_TIANMU。

支持平台

  • CentOS 7.6以上。
  • Ubuntu 20。

其他

  • 添加一些MTR测试用例。

StoneDB-5.7-v1.0.1 的发行日志 (2022-10-21, RC;2022-10-24,GA)

  • 功能添加或改变
  • 编译相关改动
  • 文档变更
  • BUG修复

功能添加或改变

  • 关键项:Tianmu 引擎增加 delete 功能
    • 增加 delete all 单表功能;
    • 增加 delete all 多表功能;
    • 增加 delete where 单表功能;
    • 增加 delete where 多表功能;
  • 关键项:Tianmu 引擎增加 alter table 功能
  • 关键项:Tianmu 引擎 binlog 日志增加 ROW 格式
  • 关键项:Tianmu 引擎增加临时表功能
  • 关键项:Tianmu 引擎增加触发器功能
  • 关键项:Tianmu 引擎增加 Create table AS...union... 功能
  • 关键项:Tianmu 引擎提升了子查询的性能
  • 关键项:Tianmu引擎增加 gtest 模块
  • 关键项:添加一些 mtr 测试用例

编译相关改动

  • cmake 增加 -DWITH_MARISA -DWITH_ROCKSDB 参数

文档变更

  • 用户手册、编译手册等相关文档发生了变更. ( # address)

BUG修复

StoneDB-5.7-v1.0.0 的发行日志 (2022-08-31, 发行版)

  • 支持MySQL 5.7
  • 功能添加或改变
  • 编译相关改动
  • 配置相关改动
  • 文档变更
  • BUG修复

支持MySQL 5.7

  • 关键项: StoneDB 数据库支持MySQL 5.7 协议,基线版本:MySQL 5.7.36

功能添加或改变

  • 关键项: StoneDB 数据库的列式存储引擎从 StoneDB 变更为 Tianmu
mysql> show engines;
+----------------+---------+--------------------------+--------------+------+------------+
| Engine | Support | Comment | Transactions | XA | Savepoints |
+----------------+---------+--------------------------+--------------+------+------------+
| TIANMU | DEFAULT | Tianmu storage engine | YES | NO | NO |
+----------------+---------+--------------------------+--------------+------+------------+
  • Tianmu: 提升了 Tianmu 引擎对 decimal 数据类型的聚合能力;
  • Tianmu: 提高了代码的可读性。有些代码在逻辑上没有分开或者变量名称不能体现真实含义。例如:修改 int DoGetSomething(); to int GetSomethingXXX();, int GetNoNulls() to int GetNumOfNulls()。
  • Tianmu: 优化了视图对日期函数的调用能力,日期函数能够被视图正常调用使用 (例如:DATE_ADD, DATE_SUB等函数) ;(BUG #342)

编译相关改动

  • Boost 依赖库的版本变更为 1.66.0;
  • Rocksdb 满足 StoneDB 数据库构建的版本变更为 6.12.6;

配置相关改动

  • 关键项:StoneDB 数据库默认配置文件从 stonedb.cnf 变更为 my.cnf;(feature #182)
  • 关键项:StoneDB 数据库的默认存储引擎从 Innodb 变更为 Tianmu。(feature #255)

文档变更

  • 用户手册、编译手册等相关文档发生了变更. ( # address)

BUG修复

StoneDB-5.6-v1.0.0

发布时间: 2022 年 6 月 30 号

全面兼容 MySQL5.6 版本。