mirror of
https://github.com/jackc/pgx.git
synced 2025-09-04 19:37:10 +00:00
47 lines
2.1 KiB
Markdown
47 lines
2.1 KiB
Markdown
# 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)
|
|
|
|
Investigate strongly typed queries. i.e. Some sort of interface where varargs of Query, Exec, and Scan wouldn't happen. Need to be some low-level interface where (probably generated) functions could (more or less) directly read and write to the connection.
|
|
|
|
Reject scanning non-string like things into a string (e.g. binary encoded timestamptz to string). See https://github.com/jackc/pgx/issues/223
|