博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
PostgreSQL 的 语法分析的理解(六)
阅读量:5860 次
发布时间:2019-06-19

本文共 778 字,大约阅读时间需要 2 分钟。

对于 gram.y 中, target_list 进一步理解:

其中有如下一段:

| a_expr IDENT                        {                        $$ = makeNode(ResTarget);                    $$->name = $2;                    $$->indirection = NIL;                    $$->val = (Node *)$1;                    $$->location = @1;                }

把它改动一下:

| a_expr IDENT                        {                        $$ = makeNode(ResTarget);                    $$->name = $2;                    $$->indirection = NIL;                    $$->val = (Node *)$1;                    $$->location = @1;        fprintf(stderr,"In a_expr IDENT\n");                }

然后,在psql 中执行如下的语句:

select id myid from a6;

在后台,就会看到:In a_expr IDENT 

也就是说 select col alias from table 这样的,都会被当作  a_expr IDENT 来处理。

换句话说,alias 在语法分析中,被认定为 identifier。

转载地址:http://rmejx.baihongyu.com/

你可能感兴趣的文章
OSI七层模型基础知识及各层常见应用
查看>>
实战:上亿数据如何秒查
查看>>
事故清单中的人
查看>>
mysql explain用法和结果的含义
查看>>
Maven入门指南10:Maven的生命周期和插件
查看>>
spark内存概述
查看>>
monkey源码分析之事件注入方法变化
查看>>
Linux学习记录--文件系统简介
查看>>
Windows hosts文件内容示例
查看>>
如何为Android应用程序添加社会化分享
查看>>
我的友情链接
查看>>
SUN V880 PCI I/O FAN tray 故障处理方案
查看>>
01-嵌入式入门-如何看原理图
查看>>
05-ARM体系结构与常用汇编指令
查看>>
C++ vector sort greater
查看>>
清理你***后的三个重要痕迹
查看>>
java 对 ThreadPoolExecutor一点理解
查看>>
自己封装一个js的StringBuffer类
查看>>
LNMP - Nginx禁止指定user_agent
查看>>
LAMP系列之一Apache服务器、MySQL服务器和PHP服务器实现互通
查看>>