c:792
#3 0x0000000000757c88 in ProcessUtility (parsetree=0x17e9b40, queryString=0x17e90b0 "drop table t1;", context=PROCESS_UTILITY_TOPLEVEL, params=0x0, dest=0x17e9ea0,
completionTag=0x7fff06aee670 "") at utility.c:310
#4 0x0000000000756e92 in PortalRunUtility (portal=0x1822d70, utilityStmt=0x17e9b40, isTopLevel=1 '\001', dest=0x17e9ea0, completionTag=0x7fff06aee670 "")
at pquery.c:1187
#5 0x0000000000757048 in PortalRunMulti (portal=0x1822d70, isTopLevel=1 '\001', dest=0x17e9ea0, altdest=0x17e9ea0, completionTag=0x7fff06aee670 "") at pquery.c:1318
#6 0x000000000075661c in PortalRun (portal=0x1822d70, count=9223372036854775807, isTopLevel=1 '\001', dest=0x17e9ea0, altdest=0x17e9ea0,
completionTag=0x7fff06aee670 "") at pquery.c:816
#7 0x0000000000750944 in exec_simple_query (query_string=0x17e90b0 "drop table t1;") at postgres.c:1045
#8 0x0000000000754967 in PostgresMain (argc=1, argv=0x1784148, dbname=0x1784130 "wzy", username=0x1784110 "xiaochu.yh") at postgres.c:4004
#9 0x00000000006e80ba in BackendRun (port=0x17a3e00) at postmaster.c:4117
#10 0x00000000006e77fd in BackendStartup (port=0x17a3e00) at postmaster.c:3791
#11 0x00000000006e41b2 in ServerLoop () at postmaster.c:1570
#12 0x00000000006e392e in PostmasterMain (argc=3, argv=0x1783380) at postmaster.c:1223
#13 0x000000000064d3d3 in main (argc=3, argv=0x1783380) at main.c:225
Portal,入口的意思。Postgre中,Portal是个抽象概念,它表示一个正在运行或可运行Query的执行状态。
?
对于可以生成执行计划的SQL语句(planable SQL),都通过ProcessQuery来处理;对于不能生成执行计划的SQL语句,取名为命令型SQL(Command SQL),都通过PortalRunUtility来处理。
|