tediousjs / node-mssql

Microsoft SQL Server client for Node.js
https://tediousjs.github.io/node-mssql
MIT License
2.23k stars 465 forks source link

feat: add ability to set per-request requestTimeout #1530

Open dhensby opened 1 year ago

dhensby commented 1 year ago

What this does:

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:

  1. 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:

Related issues:

Closes #1529

Pre/Post merge checklist: