1.7 KiB
V3 Experimental
Changes
Rename Oid to OID in accordance with Go naming conventions.
Rename Json(b) to JSON(B) in accordance with Go naming conventions.
Rename Pid to PID in accordance with Go naming conventions.
Rename Uuid to UUID in accordance with Go naming conventions.
Logger interface reduced to single Log method.
Replace BeginIso with BeginEx. BeginEx adds support for read/write mode and deferrable mode.
Transaction isolation level constants are now typed strings instead of bare strings.
Conn.Pid changed to accessor method Conn.PID()
Remove Conn.TxStatus
TODO / Possible / Investigate
Organize errors better
Optionally use Go 1.7 context / cancel and timeouts could be implemented this way
Remove circular dependency between Conn and ConnPool such that ConnPool depends on Conn, but Conn doesn't know anything about ConnPool
Extract types Null* and Hstore to separate package
Remove names from prepared statements - use database/sql style objects
Better way of handling text/binary protocol choice than pgx.DefaultTypeFormats or manually editing a PreparedStatement. Possibly an optional part of preparing a statement is specifying the format and/or a decoder. Or maybe it is part of a QueryEx call... Could be very interesting to make encoding and decoding possible without being a method of the type. This could drastically clean up those huge type switches.
Copy protocol support (this potentially ties in with text/binary protocol) ValueReader / msgReader cleanup
Make easier / possible to mock Conn or ConnPool (https://github.com/jackc/pgx/pull/162)
Every field that should not be set by user should be replaced by accessor method (e.g. Conn.PID, Conn.SecretKey)