言库·海豚 1.0.0
言库·海豚 1.0.0 把早期 MySQL/MariaDB 包边界升级为 ABI v2 生产驱动。它建立在言库 1.x 稳定协议上,覆盖连接、查询、事务、连接池、TLS、结构反射、迁移和言据/JSON 集成。
主要能力
- MySQL 8.x 与 MariaDB 10.x/11.x 参数化查询、执行、错误映射与列元数据;
%s/?占位符、可复用预编译语句、绑定对象、显式关闭和资源级联;- 手动/托管事务、保存点、隔离级别、只读和事务超时;
- 请求标识、
KILL QUERY取消、单次超时和取消竞态隔离; - 标准驱动入口、连接池、健康检查、日志、指标和言据导入导出;
- 数据库、表、列、主键、约束、索引和外键反射;
- MySQL JSON 和 MariaDB JSON 别名结构化往返,与普通 BLOB 严格区分;
- 规范言据文本、原生 JSON 存储、参数化路径查询和生成列索引建议;
- SHA-256 迁移校验和、
GET_LOCK、状态、干运行、升级、回退和旧登记采用; - rustls TLS、系统/自定义信任根、证书链与主机名验证;
- macOS、Linux、Windows 的 x86-64 与 ARM64 原生制品。
安全
- 默认 TLS 模式要求证书链和主机名验证;
优先只在服务端不支持 TLS 时降级,证书错误不降级;- SQL 模板和值参数在全部公开执行入口分离;
LOCAL INFILE在原生层禁用;- 密码、完整地址和证书内容不进入公开错误;
- SQL、参数、结果、配置、路径和迁移都有明确上限;
- 超时或取消结果不确定时不复用可疑连接;
- 原生制品按目标、普通文件、大小和 SHA-256 固定。
破坏性变化与迁移
0.1 只提供包边界;1.0 的打开入口会建立真实连接并要求对应平台制品。顶层应用必须授予数据库网络地址和原生扩展权限。默认 TLS 为 验证完整;受控本机明文测试应显式使用 打开本地。
DECIMAL 和超安全整数使用文保精度,JSON 返回结构值,重复结果列名被拒绝。完整升级步骤见 MIGRATION.md。
MySQL/MariaDB DDL 存在隐式提交;迁移失败后已完成前缀保留,失败步骤须审计真实结构。
兼容性与依赖
最低言序版本为 1.1.12,稳定依赖为言库 1.x,清单固定言库 v1.0.0。支持 MySQL 8.x 和 MariaDB 10.x 至 11.x,发布服务版本验证为 MySQL 8.4 与 MariaDB 11.8。原生扩展使用 ABI v2,须通过字节码 VM/YXB 运行。
验证
发布门禁覆盖 Rust 格式与严格 Clippy、15 个 Rust 单元/真实服务测试、3 个言序规格、MySQL 8.4 与 MariaDB 11.8 明文/TLS、错误主机名与错误 CA 拒绝、源码与 Release YXB 消费者、示例、真实往返基准、迁移失败前缀与锁释放,以及数据库对象残留检查。
六目标制品门禁核对 Mach-O/ELF/PE 格式、架构、ABI v2 导出、文件模式、SHA-256、Linux glibc 2.17、Windows 静态 CRT 和 macOS 安装名/签名。当前平台还实际运行源码与 Release YXB 原生加载消费者。
已知限制
- 不提供异步逐行结果流、自动读写分离或客户端负载均衡;
- 不支持客户端证书/私钥认证;
- 单次结果在返回前完整解码,最多 100,000 行、1,024 列和 16 MiB;
- MariaDB 临时表或无源表 JSON 无可靠目录类型,保留文/字节表示;
- 连接池不自动重放未知提交状态的写操作;
- DDL 隐式提交意味着迁移不具有 PostgreSQL 式整体原子回滚;
- JSON 索引建议不生成通用可执行 DDL,索引仍须根据真实数据审核。