使用 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
。
我已经开始使用 PQsetSingleRowMode
以便能够更好地控制在 PQsendQueryParams
之后流式传输的数据。您需要更多地调用 PQgetResult
,但实际上是否保证您每次都会获得一条记录,因此 PQntuples
returns 1?
我问是因为我不确定删除检查 PQntuples
并循环那么多次的代码是否 100% 安全。此外,如果它大于 1,我也不介意。或者如果有一个单独的“消防水龙带模式”,您可以获得 any 记录,这些记录自上次 PQgetresult
...
在单行模式下 PQgetResult
将始终生成最多一行的结果。请注意,返回的最后 PGresult *
将为空。
如果您希望结果集超过一行,则必须使用游标和 FETCH
。