This adds an optional config object that can be passed to Request, Transaction and PreparedStatement objects to provide one-off/per-instance overrides for config settings on the pool. At the moment that is purely for requestTimeout, but does provide the foundation to add other options too.
Things to think about:
Should Transaction classes accept this option given that it is non-trivial in tedious to actually set the timeout on the begin/end/commit transaction queries (because tedious creates their own request without exposing it when starting/commiting transactions)? If we don't we end up with a bit of a mis-matched API and perhaps we should add it, but it is then applied to a transactions requests unless overridden again...
Still to do:
[ ] Write tests
[ ] Add docs to Readme
[ ] Add support for transaction requests (or not?!)
What this does:
This adds an optional config object that can be passed to
Request
,Transaction
andPreparedStatement
objects to provide one-off/per-instance overrides for config settings on the pool. At the moment that is purely forrequestTimeout
, but does provide the foundation to add other options too.Things to think about:
Transaction
classes accept this option given that it is non-trivial in tedious to actually set the timeout on the begin/end/commit transaction queries (because tedious creates their own request without exposing it when starting/commiting transactions)? If we don't we end up with a bit of a mis-matched API and perhaps we should add it, but it is then applied to a transactions requests unless overridden again...Still to do:
Related issues:
Closes #1529
Pre/Post merge checklist: