You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

tdbc::mysql 1.1.3在mariadb-libs 10.5.11+执行allrows/prepare时段错误

tdbc::mysql 1.1.3 与高版本 MariaDB 库兼容性问题

问题概述

tdbc::mysql 1.1.3 存在版本兼容性限制:仅在 mariadb-libs 及 mariadb-clients 版本不高于10.5.11 的环境中能正常运行。当使用高于10.5.11版本的 mariadb-libs 时,调用 allrows 和 prepare 语句会直接触发段错误。

该问题已在安装 mariadb-client/mariadb-libs 10.6.9 的最新版 Arch Linux 和 Alpine Linux 服务器上复现,将 mariadb-libs 降级至10.5.11后,功能可恢复正常。

复现代码

package require tdbc::mysql
namespace import ::tdbc::mysql::*
connection create db -host 127.0.0.1 -port 3306 -passwd mypass -user root -database mydb

# 所有配置下均可正常执行
db evaldirect "select product_id from product_to_category where category_id=555"

# mariadb-libs 版本高于10.5.11时触发段错误
db allrows  { select * from category_description }
db prepare  { select * from category_description }

Bug 状态说明

此问题已在 Tcl 官方核心库的 tdbcmysql 组件中被提交追踪(Bug 编号:79e85de788)。经确认,问题根源是 tdbc::mysql 1.1.3 未适配 MariaDB 10.6+ 版本客户端库的接口变化,导致 allrows 和 prepare 方法在处理结果集时出现内存访问错误,最终引发段错误。目前开发团队已收录该问题,后续会通过更新 tdbc::mysql 版本修复此兼容性问题。


内容的提问来源于stack exchange,提问作者wee wewewe

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.20 10:16:04