使用 PQsetSingleRowMode 是否保证 PQntuples 为 1?

Is PQntuples guaranteed to be 1 with PQsetSingleRowMode?

我已经开始使用 PQsetSingleRowMode 以便能够更好地控制在 PQsendQueryParams 之后流式传输的数据。您需要更多地调用 PQgetResult ,但实际上是否保证您每次都会获得一条记录,因此 PQntuples returns 1?

我问是因为我不确定删除检查 PQntuples 并循环那么多次的代码是否 100% 安全。此外,如果它大于 1,我也不介意。或者如果有一个单独的“消防水龙带模式”,您可以获得 any 记录,这些记录自上次 PQgetresult...

在单行模式下 PQgetResult 将始终生成最多一行的结果。请注意,返回的最后 PGresult * 将为空。

如果您希望结果集超过一行,则必须使用游标和 FETCH