Skip to content

1.0.0

Latest

Choose a tag to compare

@LiuXiu233 LiuXiu233 released this 17 Jul 12:03
34c74b0

言库·海豚 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,索引仍须根据真实数据审核。