* Prevent double release with callback
When using the callback instead of client.release, double releasing
a client was possible causing clients to be re-added multiple times.
* Remove idleListener when client is in-use
When a client is in-use, the error handling should be done by the
consumer and not by the pool itself as this otherwise might cause
errors to be handled multiple times.
* Handle verify failures
* Test queued checkout after a connection failure
Co-authored-by: Johannes Würbach <johannes.wuerbach@googlemail.com>
* Fix queued checkout after a connection failure
Co-authored-by: Johannes Würbach <johannes.wuerbach@googlemail.com>
* Add connection & query timeout if all clients are checked out
This addresses [pg#1390](https://github.com/brianc/node-postgres/issues/1390).
Ensure connection timeout applies both for new connections and on an exhuasted pool. I also made the library return an error when passing a function as the first param to `pool.query` - previosuly this threw a sync type error.
* Add pg-cursor to dev deps
* Initial work
* Make progress on custom pool
* Make all original tests pass
* Fix test race
* Fix test when DNS is missing
* Test more error conditions
* Add test for byop
* Add BYOP tests for errors
* Add test for idle client error expunging
* Fix typo
* Replace var with const/let
* Remove var usage
* Fix linting
* Work on connection timeout
* Work on error condition tests
* Remove logging
* Add connection timeout
* Add idle timeout
* Test for returning to client to pool after error
fixes#48
* Add idleTimeout support to native client
* Add pg as peer dependency
fixes#45
* Rename properties
* Fix lint
* use strict
* Add draining to pool.end
* Ensure ending pools drain properly
* Remove yarn.lock
* Remove object-assign
* Remove node 8
* Remove closure for waiter construction
* Ensure client.connect is never sync
* Fix lint
* Change to es6 class
* Code cleanup & lint fixes