Sometimes you can get an error even if you’ve followed some simple and standard rules! 😦
Look at some connection issues. Imagine they’re not tracked in the DB log and the error at the low level of a network protocol is still too vague.
A couple of ideas now!
0) be assertive, stick to causality. For instance, if you don’t see a timeout… maybe it is nothing but a bug 😉
1) categorize, divide, delegate. Example, a remote temporary table layer will simplify your client issue.
2) well, finally back to the low level protocol. Assume it looks like a memory leak and you find a sort of buffer overflow. Believe in your analysis, follow peer review suggestions and then implement your workaround, like a functional cycle of controlled blocks.
Anyway, the day after you’ll discover that the definitive solution is to upgrade the Provider’s library to the latest version 🙂