Skip to content

Releases: bunnier/sqlmer

v1.8.8

20 Apr 03:19

Choose a tag to compare

为了兼容老项目,v1.7.x 的 Go 版本定在最低支持 Go 1.20;能持续更新 Go 版本的项目请使用 v1.8+。

  • fix: 驱动返回 sql.RawBytes 后,对数据进行深拷贝,避免底层驱动 buffer 复用导致数据错误。
  • MySQL/SQLite 新增 2 代缓存机制优化参数解析缓存(缓存池大小可通过WithSqlParserCacheCapacity 指定),避免部分语句未使用命名参数,或拼接 INSERT 等原因,导致 SQL 解析缓存无限膨胀问题。

v1.7.15

20 Apr 03:19

Choose a tag to compare

为了兼容老项目,v1.7.x 的 Go 版本定在最低支持 Go 1.20;能持续更新 Go 版本的项目请使用 v1.8+。

  • fix: 驱动返回 sql.RawBytes 后,对数据进行深拷贝,避免底层驱动 buffer 复用导致数据错误。
  • MySQL 新增 2 代缓存机制优化参数解析缓存(缓存池大小可通过 mysql.WithSqlParserCacheCapacity 指定),避免部分语句未使用命名参数,或拼接 INSERT 等原因,导致 SQL 解析缓存无限膨胀问题。

v1.8.6

08 Apr 01:49

Choose a tag to compare

v1.8.6 Pre-release
Pre-release
  • fix: 驱动返回 sql.RawBytes 后,对数据进行深拷贝,避免底层驱动 buffer 复用导致数据错误。
  • 新增 2 代缓存机制优化参数解析缓存,避免部分语句未使用命名参数,或拼接 INSERT 等原因,导致 SQL 解析缓存无限膨胀问题。

v1.7.13

08 Apr 02:19

Choose a tag to compare

为了兼容老项目,v1.7.x 的 Go 版本定在最低支持 Go 1.20;能持续更新 Go 版本的项目请使用 v1.8+。

  • fix: 驱动返回 sql.RawBytes 后,对数据进行深拷贝,避免底层驱动 buffer 复用导致数据错误。
  • 新增 2 代缓存机制优化参数解析缓存,避免部分语句未使用命名参数,或拼接 INSERT 等原因,导致 SQL 解析缓存无限膨胀问题。

v1.8.2

14 Jan 02:08

Choose a tag to compare

  • 增加 SQLite 支持,驱动为:github.com/ncruces/go-sqlite3@v0.30.4;
  • 更新 MySQL 驱动版本到:github.com/go-sql-driver/mysql@v1.9.3;

v1.7.6

31 Mar 08:41

Choose a tag to compare

  • 修复通过 struct 传参时,如 struct 中有指针类型字段且值为 nil,SQL 语句中又引用了该字段时,会出现参数解析失败的问题;

v1.7.5

06 Mar 00:48

Choose a tag to compare

  • 修复通过 struct 传参时,如 struct 中有 time 类型字段会执行失败的问题。

v1.7.4

01 Mar 13:28

Choose a tag to compare

v1.7.4 Pre-release
Pre-release
  • 重构 DbClient/TransactionKeeper 接口,将 panic 版本的实现挪到 DbClientEx/TransactionKeeperEx 中,以免扩展时候需要同时实现 2 套 API;
  • 新增 wrap 工具包,提供装饰器的方式扩展 DbClient 接口,详见 README.md 的《慢日志、监控指标、链路追踪》小节;

注意,由于DbClient/TransactionKeeper 接口的重构,本版本有一个小 break change:

  • 原来若直接调用了 DbClient 上的 must 版本 API ,请用 sqlmer.Extend(db) 将 DbClient 扩展为 DbClientEx;
  • 原来若直接调用了 TransactionKeeper 上的 must 版本 API ,请用 sqlmer.ExtendTx(tx) 将 TransactionKeeper 扩展为 TransactionKeeperEx (DbClientEx 上增强的事务方法将直接返回 TransactionKeeperEx);

v1.6.1

12 Feb 14:35

Choose a tag to compare

  • 增加了 slice/array 参数的支持 #12
  • 增加通过 struct 传参的能力 #13
  • 修复一些 BUGs

v1.5.10

07 Feb 06:16

Choose a tag to compare

  • 增加轻量化 ORM 支持:允许查询结果直接转换到 struct 等类型(通过 sqlmer.Extend 将 DbClient 扩展为 DbClientEx 以获得相关 API);
  • 优化错误信息的排版:error 的描述信息携带错误语句及参数;
  • MySQL:影响行数的处理,采用和 SQL Server 一样的逻辑。即 UPDATE 时,只要找到行,即使原值和目标值一致,也作为影响到行处理;
  • MySQL:支持在初始化时自动查询数据库参数,并自动配置 SetConnMaxLifetime
  • 修复一些 BUGs;