Netezza 7.2 UDF实例化方法称为两次



在我注册Netezza UDF后,我有一个使用UDF的选择语句。我发现,对于该选择的语句,UDF的实例化方法称为两次。知道为什么?

样本选择STMT:

select my_udf(somecolumn, 'some parm info') from evtest;

我认为UDF的实例只能为此选择一次,但这被称为两次,这使我感到困惑。

谢谢

好吧,我认为我已经解决了这个谜。

我相信在语句准备过程中调用了实例化方法,然后在实际执行语句工作时再次调用。

我的理由:我在构造函数中添加了一个logMSG STMT,并且看到两个调用中的每一个,日志消息都输入了两个不同的日志文件。该实验不是使用_v_dual完成的,而是完成的。

我的logmsg呼叫都没有访问/nz/kit/log/dbos/dbos.log,它适用于在主机上运行的用户定义函数。

我的日志消息中只有一条访问/nz/kit/log/postgres/pg.log,它是用于在系统目录或语句准备时间

上运行的功能

我的两条日志消息都去了/nz/kit/log/sysmgr/sysmgr.log,用于在SPU上运行的功能。

我认为这回答了我最初的问题。

最新更新