PQendcopy
功能描述
与服务器同步。
接口原型
int PQendcopy(PGconn *conn);
参数说明
参数 | 描述 |
---|---|
conn | 建立连接时返回的连接结构体指针,该指针用于标识某个特定连接。 |
返回值
这个函数将等待直到服务器完成拷贝。你可以在用PQputline 向服务器发送完最后一个字符串后或者用PGgetline 从服务器获取最后一行字符串后调用它。我们必须调用这个函数,否则服务器可能会和前端 “不同步”。在这个函数返回后,服务器就已经准备好接收下一个 SQL 命令了。 成功时返回0,否则返回非零值。(如果返回值为非 0,用PQerrorMessage检索细节)。
其他
在使用PQgetResult时,应用应该对PGRES_COPY_OUT 的结果做出反应:重复调用PQgetline,并且在收到结束行时调用 PQendcopy。然后应该返回到PQgetResult 循环直到PQgetResult返回空指针。类似地,PGRES_COPY_IN 结果是用一系列PQputline调用最后跟着PQendcopy, 然后返回到PQgetResult循环。这样的排列将保证嵌入到一系列 SQL命令里的COPY命令将被正确执行。
旧的应用大多通过PQexec提交一个COPY 命令并且假设在PQendcopy后事务完成。这样只有在COPY 是命令字串里的唯一的SQL命令时才能正确工作。
此方法目前已废弃,但还可以使用。