[PostgreSQL]分析器

$PostgreSQL: pgsql/src/backend/parser/README,v 1.11 2009/10/31 01:41:31 tgl Exp $

 

分析器

======

这个目录中的程序不仅仅是对SQL查询进行词法分析和语法分析.它们还会为各种各样的复杂查询创建查询结构体,然后将这些结构体传给优化器,然后是执行器.

 

parser.c 所有的操作从这里开始

scan.l 对查询进行词法分析

scansup.c 处理输入字符串中的转义字符(escapes)

kwlookup.c 将关键字转换为特定的符号(tokens)

keywords.c 标准关键字表(传给kwlookup.c)

gram.y 对词法分析输出的字符进行语法分析,并且产生一个"原生"("raw")的语法分析树

analyze.c 优化查询的最高层级的语法分析

parse_agg.c 处理聚集函数,例如SUM(col1),  AVG(col2), ...

parse_clause.c 处理查询子句(clauses),例如WHERE, ORDER BY, GROUP BY, ...

parse_coerce.c 处理表达式中不同数据类型的强制转换

parse_cte.c 处理通常的表的表达式(Common Table Expressions), (WITH子句)

parse_expr.c 处理表达式,例如 col, col + 3, x = 3 or x = 4

parse_func.c 处理函数, table.column and column 的标识符

parse_node.c 创建不同结构体的node

parse_oper.c 处理表达式中的运算符

parse_param.c 处理参数(对于在后台进程中使用的情况)

parse_relation.c 表和列处理的支持例程

parse_target.c 处理查询的结果列表

parse_type.c 数据类型处理的支持例程

parse_utilcmd.c 命令的分析处理(在执行期完成)

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值