如果我开一个psql窗口,来输入sql文,它在数据库的何处被解析?在何处被"真正"处理?
postgres.c 的 int PostgresMain(int argc, char *argv[], const char *username)函数中,
在 PostgresMain 的 for 循环中,
调用 static void exec_simple_query(const char *query_string),来构建语法树,并完成SQL 处理。
“纯”语法树由 pg_parse_query 来生成,生成后,由 exec_simple_query的其它部分来利用执行访问数据库。
调用 void ReadyForQuery(CommandDest dest) 来向终端显示结果。
本文转自健哥的数据花园博客园博客,原文链接:http://www.cnblogs.com/gaojian/archive/2013/05/21/3090965.html,如需转载请自行联系原作者