PQntuples гарантированно будет равным 1 с PQsetSingleRowMode? - PullRequest
0 голосов
/ 16 мая 2019

Я начал использовать PQsetSingleRowMode, чтобы иметь возможность лучше контролировать данные при их потоковой передаче после PQsendQueryParams. Вам нужно позвонить PQgetResult намного больше, но действительно ли гарантировано, что вы будете получать одну запись каждый раз, и, таким образом, PQntuples возвращает 1?

Я спрашиваю, потому что я не уверен, что на 100% безопасно отбросить код, который проверяет на PQntuples и повторяет это много раз. Кроме того, я не возражаю против того, чтобы значение было больше 1. Или если бы был отдельный режим & ldquo; пожарного шланга & rdquo; где вы получаете любые записи, которые были полностью переданы по сети с момента предыдущего PQgetresult ...

1 Ответ

0 голосов
/ 17 мая 2019

В режиме с одной строкой PQgetResult всегда будет давать результат с не более чем одной строкой.Помните, что последний возвращенный PGresult * будет пустым.

Если вы хотите, чтобы результирующий набор состоял из кусков, состоящих более чем из одной строки, вам придется использовать курсоры и FETCH.

...