1. start portal
在上一篇文章(【0309】VACUUM 命令 之 建立 portal query(5))中,讲解了Postgres内核通过函数PortalDefineQuery()将原始SQL文本、commandTag、pg_plan_queries()重写后的List初始化到CreatePortal()函数创建的portal变量中实现过程。
本文将分享Postgres内核启动portal的底层实现原理。该过程由函数PortalStart()
完成(这里没有参数)。
函数原型如下:
///< 准备一个执行portal。
void PortalStart(Portal portal, ParamListInfo params