Close is used to release a named portal (which isn't used by pg-cursor) or when you're early-terminating a cursor on the unnamed portal. Sending 'close' on an connection which has already sent 'readyForQuery' results in the connection responding with a _second_ 'readyForQuery' which causes a lot of issues within node-postgres as 'readyForQuery' is the signal to indicate the client has gone back into the idle state.
* Work on converting lib to standard
* Finish updating lib
* Finish linting lib
* Format test files
* Add .eslintrc with standard format
* Supply full path to eslint bin
* Move lint command to package.json
* Add eslint as dev dependency
This is a small change and is _kinda_ backwards compatible since the old behavior was to throw an error, but if someone was relying on anything with `.map` working as values it would break them, so it's in a major semver bump.
Clients are not reusable. This changes the client to raise errors whenever you try to reconnect a client that's already been used. They're cheap to create: just instantiate a new one (or use the pool) 😉.
Closes#1352
* 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