pg insert into 表字段展开

pg insert 语句用于插入数据,比如
insert into t values (1,'a') ;

insert into t select 1,'a';


在解析该语句时,会将 t 的所有字段进行展开,以便于后面做数据类型校验等,该逻辑位于源码中的位置如下:
pg 源码版本:pg14.3
pg 源码文件:src/backend/parser/parse_target.c

函数名称:checkInsertTargets()


List *

checkInsertTargets(ParseState *pstate, List *cols, List **attrnos);


函数调用关系如下:
exec_simple_query()
pg_analyze_and_rewrite()
parse_analyze()
transformTopLevelStmt()
transformOptionalSelectInto()
transformStmt()
transformInsertStmt()
checkInsertTargets()

免责声明:

1、本站资源由自动抓取工具收集整理于网络。

2、本站不承担由于内容的合法性及真实性所引起的一切争议和法律责任。

3、电子书、小说等仅供网友预览使用,书籍版权归作者或出版社所有。

4、如作者、出版社认为资源涉及侵权,请联系本站,本站将在收到通知书后尽快删除您认为侵权的作品。

5、如果您喜欢本资源,请您支持作者,购买正版内容。

6、资源失效,请下方留言,欢迎分享资源链接

文章评论

0条评论