Greetings,
I'm working with pqlib in asynchronous mode and I have a question about
PQgetResult. I have this situation:
submit a query via PQsendQuery()
flush to the backend with PQflush()
set my read descriptor on the socket and enter a select()
select returns read_ready on the socket, so call PGconsumeInput()
PQisBusy() returns zero, so call PQgetResult()
PQgetResult() returns a pointer so do whatever with the result
call PQclear() on the result
Now what do I do? The docs say that in async mode that PQgetResult() must
be called until it returns NULL. But, how do I know that calling
PQgetResult() a second, third, fourth, etc. time will not block? When
PQisBusy() returns zero, does that mean that PQgetResult() is guaranteed
not to block for all results, i.e. until it returns NULL and a new query is
issued?
Thanks,
Matthew
---------------------------(end of broadcast)---------------------------
TIP 4: Don't 'kill -9' the postmaster