--- FAIL: TestPoolWithAcquireExContextTimeoutSet (2.03s)
conn_pool_test.go:353: Expected connection allocation time to be at least 2s, instead it was '1.999691391s'
These failures were caused by setting the timeout and then measuring how
long an acquire took.
Original implementation: 2d9d8dc52ac211c6191c08e050c03588aa633038 by
Joshua Barone <joshua.barone@gmail.com>.
Also changed DSN tests to use "dbname" as key rather than "database" as
that is what the PostgreSQL documentation specifies. "database" still
actually works but it should not be encouraged as it is non-standard.
Add ext type for https://github.com/gofrs/uuid uuid type.
Change test and README from github.com/satori/go.uuid to
github.com/gofrs/uuid. The reason is due to this issue:
https://github.com/satori/go.uuid/issues/73. This was taken on board and
fixed in the community project of gofrs. The gofrs implementation has
the same interface as the original.
This allows handling queries where it is unknown if there will be a
result set or not. If it is not a result set returning query the
command tag will still be available.
ParameterOIDs passed to ConnPool.PrepareEx are used to prepare the statement
on existing connections in the pool. If additional connections are later
created ParameterOIDs are omitted, potentially causing query failures.
Methods defined on T are also available on *T. This change makes Value
consistent with database/sql Value implementations. It also makes Value,
EncodeBinary, and EncodeText more convenient to use because you can
pass T or *T as an argument to a query.
The MarshalJSON change is even more significant because without it
json.Marshal would generate the "%v" format instead of the implemented
MarshalJSON.
Thought this technically changes the interface, because *T will be
automatically dereferenced as needed it shouldn't be a breaking change.
See: https://github.com/jackc/pgx/issues/538 for initial discussion.