## Turso 的 1GB SQLite 之谜被 LLM 解决
Turso,一个基于 Rust 的 SQLite 重写版本,遇到一个奇怪的数据损坏问题:任何超过 1GB 的数据库,在下一次写入时都会失败完整性检查。 最初的确定性模拟测试未能发现根本原因,因为测试总是在达到 1GB 阈值*之前*触发失败。
进一步调查发现,数据库实际上并没有以传统意义上损坏——数据仍然可读且完整,创造了一个悖论的“薛定谔的数据库”。解决方案来自 Turso 开发者 Nikita Sivukhin,他发现了一个特殊的 SQLite 行为:超过 1GB 后,一个带有唯一字节的特殊页面会被插入到数据库的 B-Tree 中。
Turso 的实现中没有包含这个页面,导致 SQLite 将数据库标记为已损坏。 值得注意的是,Nikita 似乎“知道”这个细节,这归功于 SQLite 源代码存在于他的训练数据中——因此他获得了“大型语言模型 Nikita”(LLN)的绰号。 这凸显了隐式、未记录的行为如何成为系统规范的一部分,以及 LLM 如何帮助解读复杂的代码库。 该修复现在已经实施,展示了将严格测试与大型语言模型中嵌入的知识相结合的力量。