DuckDB v2.0 弃用 PostgreSQL 解析器
DuckDB V2 PEG-based SQL parser
DuckDB v2.0 迎来重大升级,彻底替换了沿用多年的 PostgreSQL 衍生 SQL 解析器,转而采用基于 PEG(Parsing Expression Grammar)的新架构。这一变革旨在解决旧解析器在扩展语法时面临的 LALR(1) 冲突难题,让 DuckSQL 的演进更加灵活。新解析器不仅完整支持现有的 DuckSQL 方言,还引入了 Packrat Parsing 技术,有效避免了处理畸形查询时的性能陷阱。借助这一新基础,DuckDB 能够更轻松地添加如表达式语句、CONNECT 指令等新语法,并为未来扩展自定义解析规则铺平了道路,让数据库系统的语法扩展变得前所未有的简单。
在 DuckDB 中,我们的目标之一是让使用数据库系统变得尽可能简单。