一个客户端应用可以使用本节描述的函数请求取消一个仍在被服务器处理的命令。
PQgetCancel
创建一个数据结构,这个数据结构包含取消一个通过特定数据库连接发出的命令所需要的信息。
PGcancel *PQgetCancel(PGconn *conn);
PQgetCancel
创建一个PGcancel
对象,给出一个 PGconn
连接对象。 他将返回NULL
,如果给出的conn
为 NULL
或是一个无效的连接。 The PGcancel
对象是一个不透明结构,不应该被应用所直接访问。它只能够传递到
PQcancel
或 PQfreeCancel
。
PQfreeCancel
释放一个由PQgetCancel
创建的数据结构。
void PQfreeCancel(PGcancel *cancel);
PQfreeCancel
释放一个之前由PQgetCancel
创建的数据对象。
PQcancel
要求服务器放弃当前命令的处理。
int PQcancel(PGcancel *cancel, char *errbuf, int errbufsize);
如果取消请求成功发送,则返回值为 1,否则为 0。如果不成功,则errbuf
会被填充一个解释性的错误消息。errbuf
必须是一个尺寸为errbufsize
的字符数组(推荐尺寸为 256 字节)。,解释为何不成功。errbuf必须是 一个大小为errbufsize的
char 数组(建议大小为 256 字节)。
不过,成功的发送并不保证请求会有任何效果。如果取消有效,那么当前的命令将提前终止并且返回一个错误结果。如果取消失败(也就是说, 因为服务器已经完成命令的处理),那么就根本不会有可见的结果。
如果errbuf
是信号处理器中的一个局部变量,PQcancel
可以从一个信号处理器中安全地调用。 在PGcancel
有关的范围内,
PQcancel
都是只读的,因此也可以在一个从操纵PGconn
对象的线程中独立出来的线程中调用它。
PQrequestCancel
PQrequestCancel
是PQcancel
的一个被废弃的变体。
int PQrequestCancel(PGconn *conn);
要求服务器放弃当前命令的处理。它直接在PGconn
对象上进行操作, 并且如果失败,就会在PGconn
对象里存储错误消息(因此可以用PQerrorMessage
检索出来)。 尽管功能相同,这个方法在多线程程序里和信号处理器里会带来危险,因为它可能
覆盖PGconn
的错误消息,进而将当前连接上正在处理的操作搞乱。
Style backgroundAttachment 属性 Style 对象定义和用法backgroundAttachment 属性设置或返回背景图像是否固定或者随着页面的其...
Style backgroundColor 属性 Style 对象实例设置文档的背景颜色:document.body.style.backgroundColor="#f3f3f3";定义和用法bac...
Style columnCount 属性 Style 对象实例把 div 元素中的文本分为三列:document.getElementById(myDIV).style.columnCount=3;定...
Style listStyleImage 属性 Style 对象定义和用法listStyleImage 属性设置或返回作为列表项标记的图像。语法设置 listStyleImage...
数据库中的集合操作可以把多个查询的结果组合成一个结果集。集合操作主要包含:UNIONINTERSECTEXCEPT/MINUS这里需要注意的是...