Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/python-2.7/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用C中的用户定义函数中止Postgres查询_C_Postgresql - Fatal编程技术网

使用C中的用户定义函数中止Postgres查询

使用C中的用户定义函数中止Postgres查询,c,postgresql,C,Postgresql,当我中止使用C编写的用户定义函数的postgres查询时,上下文不会跳到中止Transaction,直到我完成了对用户定义函数的一次调用 为了测试这一点,我们可以在函数中放入类似sleep或while的内容,并检查当我们在这个函数中时,它不会中止处理,对此有什么解释吗?或者这是出乎意料的?您能详细说明一下吗?好吧,假设它应该在用户函数仍在执行时跳转-您认为它应该如何跳转?创建另一个线程?在同一线程中并行执行两个代码流?请重新编排。刚才我只能发现所描述的行为是预期的,并且设计得很好,而您想要的东西

当我中止使用C编写的用户定义函数的postgres查询时,上下文不会跳到中止Transaction,直到我完成了对用户定义函数的一次调用


为了测试这一点,我们可以在函数中放入类似sleep或while的内容,并检查当我们在这个函数中时,它不会中止处理,对此有什么解释吗?或者这是出乎意料的?

您能详细说明一下吗?好吧,假设它应该在用户函数仍在执行时跳转-您认为它应该如何跳转?创建另一个线程?在同一线程中并行执行两个代码流?请重新编排。刚才我只能发现所描述的行为是预期的,并且设计得很好,而您想要的东西太奇怪了。C中的用户定义函数是动态加载库的一部分,所以不应该在那里处理SIGINT吗?您是否建议函数在单独的线程中执行,因此不能中断?在psql中发出控件C的正常情况下,只有当我在C函数中时,控件才会跳到中止事务处理程序。