- Revised the settings construction exposing a tree of modules
- Added a global prepared statements setting
To introduce the new global prepared statements setting and to make the settings API ready for extension without backward compatibility breakage.
Replace
Hasql.Connection.acquire connectionString
with
Hasql.Connection.acquire
[ Hasql.Connection.Setting.connection (Hasql.Connection.Setting.Connection.string connectionString)
]
Replace
Hasql.Connection.acquire (Hasql.Connection.settings host port user password dbname)
with
Hasql.Connection.acquire
[ Hasql.Connection.Setting.connection
( Hasql.Connection.Setting.Connection.params
[ Hasql.Connection.Setting.Connection.Param.host host,
Hasql.Connection.Setting.Connection.Param.port port,
Hasql.Connection.Setting.Connection.Param.user user,
Hasql.Connection.Setting.Connection.Param.password password,
Hasql.Connection.Setting.Connection.Param.dbname dbname
]
)
]
- In case of exceptions thrown by user from inside of Session, the connection status gets checked to be out of transaction and unless it is the connection gets reset.
- Move to "iproute" from "network-ip" for the "inet" datatype (#163).
- Decidable instance on
Encoders.Params
removed. It was useless and limited the design. QueryError
type renamed toSessionError
.PipelineError
constructor added to theSessionError
type.
- Moved to "postgresql-libpq-0.10"
- Added
unknownEnum
encoder
- Added composite encoder
- Added
oid
andname
encoders
- Added
jsonLazyBytes
andjsonbLazyBytes
- Added position to
ServerError
(breaking change). - Disabled failure on empty query.
- Added column number to
RowError
(breaking change). - Added
MonadReader Connection
instance for Session.