PostgreSQL查询SQL的语法分析(1)——词法分析

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PostgreSQL查询SQL的语法分析(1)——词法分析相关的知识,希望对你有一定的参考价值。

参考技术A postgreSQL命令的词法分析和语法分析是由Unix工具Yacc和Lex制作的。使用的是 Bison 和
Flex。

词法分析和语法分析依赖的文件定义在src\backend\parser下的scan.l和gram.y。其中:

在raw_parser函数(在src/backend/parser/parser.c下)中,主要通过调用Lex和Yacc配合生成的base_yyparse函数来实现词法分析和语法分析的工作。

其他的重要源码文件:

辅助脚本:

SQL关键字定义及查找函数

SQL关键字列表
因为查找是采用二分查找法。如果添加关键字,需要保持name的顺序。

以上是关于PostgreSQL查询SQL的语法分析(1)——词法分析的主要内容,如果未能解决你的问题,请参考以下文章

TDSQL-A PostgreSQL 产品概述 功能

一次PostgreSQL行估算偏差导致的慢查询分析

带子查询的redshift sql查询中的语法错误

带有子查询的 redshift sql 查询中的语法错误

PostgreSQL---语义分析

查询语句执行的5个阶段