Tatsuo Ishii <ishii(at)postgresql(dot)org> writes:
> Strange thing is, it seems PQexecPrepared() sends B(bind), Describe,
> Execute and Sync at once without checking the result of Bind
> message. Is this leagal from a point of view of the frontend/backend
> protocol?
Yes. If we failed to do this then every query would involve multiple
network round-trips, which would be catastrophic for performance.
The Sync message is used to make error recovery well-defined.
regards, tom lane