2 分•作者: abbychau•12 个月前
我刚刚完成了 MySQL 解析器,它很快将在 MIST 中使用。<p>事情的起因是,目前兼容性最好的 TiDB MySQL 解析器依赖于名为 "parser_driver" 的某些类型。<p>Parser Driver 包含了 TiDB 的类型,但不幸的是,TiDB 不打算将与 TiDB 紧密相关的 MySQL 类型作为独立的 Go 包移出。GitHub issue:16381<p>在我看来,TiDB 本身将所有开源模块混合在一起,形成了一个非常主观的整体。<p>我正在将 MIST 移植到 WASM 二进制文件,而 TiDB 的系统调用将被愚蠢地包含、编译,并在针对 WASM 时导致静态链接失败。<p>因此,我花了几天时间提取现有的解析器包和 parser driver,并将纠缠在一起的 TiDB 类型重新导出到一个真正可跨平台且准备好移植到 WASM 的 MySQL 解析器 Go 包中。<p>仓库:<a href="https://github.com/abbychau/mysql-parser">https://github.com/abbychau/mysql-parser</a>
交互式解析器演示:<a href="https://abbychau.github.io/mysql-parser/" rel="nofollow">https://abbychau.github.io/mysql-parser/</a>