Hi,
While I'm trying to figure out the point of PQsetnonblocking() call,
confused so much on blocking/nonblocking mechanism.
Sync. Connect » Async. Query
Async. Connect » Sync. Query
Both of above flows work without any PQsetnonblocking() call.
Therefore sync/async connection and sync/async query execution are not
dependent to each other. (Right?) If so, what's the point of
PQsetnonblocking() function? When do we require it and when should we
use it?
As I saw from src/interfaces/libpq/fe-exec.c, PQsetnonblocking() only
assigns True or False to conn->nonblocking variable. When I searched
for "->nonblocking" under libpq directory, I found that it's used
while creating an empty PGconn and while closing PGconn. This didn't
help me too.
I'd be so appreciated for a comprehensive "specialized for dummies" answer.
Regards.
P.S. Documentation pointers will be accepted with pleasure too.