分享更有价值
被信任是一种快乐

怎么使用PostgreSQL的ExprEvalStep

文章页正文上

本篇内容介绍了“怎么使用PostgreSQL的ExprEvalStep”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!ExprEvalStep
表达式解析步骤结构体FmgrInfo
在函数通过fmgr调用前,该结构体持有系统目录(字典)信息,用于检索相关信息.
如果相同的函数将被调用多次,检索只需要完成一次即可,该结构体会缓存多次使用.Functio免费主机域名nCallInfoData
该结构体存储了实际传递给fmgr-called函数的参数ExecInitFunc函数为类函数表达式的执行配置步骤,在*state的steps中追加参数解析步骤,同时设置*scratch以便可以push到步骤中.
其主要逻辑如下:
1.检查调用函数的权限
2.检查nargs是否合法
3.为该调用分配函数检索数据和参数空间
4.配置主要的fmgr检索信息
5.初始化函数调用参数结构体
6.解析参数直接存储到fcinfo结构体中
7.根据函数的严格性和统计级别插入相应的opcode测试脚本设置断点,跟踪输入参数1.检查调用函数的免费主机域名权限2.检查nargs是否合法3.为该调用分配函数检索数据和参数空间4.配置主要的fmgr检索信息5.初始化函数调用参数结构体6.循环解析参数args直接存储到fcinfo结构体中
第1个参数,是常量1第2个参数,是Var,递归调用ExecInitExprRec解析7.根据函数的严格性和统计级别插入相应的opcode完成调用“怎么使用PostgreSQL的ExprEvalStep”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注云技术网站,小编将为大家输出更多高质量的实用文章!

相关推荐: 数据库中如何一条语句删除多张表

这篇文章主要介绍数据库中如何一条语句删除多张表,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完! 第一种方法:SCOTT@PROD> select ‘drop table ‘|| table_name ||’;’ from user_…

文章页内容下
赞(0) 打赏
版权声明:本站采用知识共享、学习交流,不允许用于商业用途;文章由发布者自行承担一切责任,与本站无关。
文章页正文下
文章页评论上

云服务器、web空间可免费试用

宝塔面板主机、支持php,mysql等,SSL部署;安全高速企业专供99.999%稳定,另有高防主机、不限制内容等类型,具体可咨询QQ:360163164,Tel同微信:18905205712

主机选购导航云服务器试用

登录

找回密码

注册