Changelog History
Page 1
-
v0.5.3.0 Changes
May 15, 2017Refactored some rudimentary cursor handling code out of the implementation of the fold operators, into a new
Database.PostgreSQL.Simple.Cursor
module, thanks to Bardur Arantsson.Made the
FromField
instance forChar
compatible with postgresql'sbpchar
type. Thanks to Ivan Lazar Miljenovic for reporting the issue.Added
Show
andEq
instances forNotification
, thanks to Matvey Aksenov.Fixed some example code, thanks to Matvey Aksenov.
Fixed a problem with using
conversionError
to throw exceptions of typeSomeException
. Previously, the exception would be wrapped in a secondSomeException
dynamic constructor which would cause normal GHC typecase idioms overSomeException
to fail.
-
v0.5.2.1 Changes
June 29, 2016Bumped the lower bound for
base
to 4.6. Thanks to Herbert Valerio Riedel for reporting the issue.Added an
Eq
instance forSqlError
, thanks to Chris AllenFixed a bug where a all-caps
"NULL"
text value inside a postgresql array would get parsed as the SQL null value. Thanks goes to Edgar Gomes and Silk for finding and fixing this mistake.Modified
withTransaction
and friends to ignoreIOError
s when attempting to roll back the transaction. This fixes a buggy interaction betweenwithTransaction
and async exceptions (e.g.System.Timeout
) on unix platforms. Thanks goes to Erik Hesselink and Silk for providing the test case that exposed this issue.Added the
testTimeout
regression test for the problem above.
-
v0.5.2.0 Changes
May 25, 2016Significantly improved the error reporting from
Copy.putCopyData
, thanks to Ben Gamari.Moved the test suite to use
tasty
, with a big thanks to Ben Gamari.Added
FromField.optionalField
, and updated the documentation ofFromField.fromJSONField
, as inspired by an email conversation with Ian Wagner.Updated all links in the haddocks to use https, and added a link to the documentation of
connectPostgreSQL
.Added a truncated changelog to the source distribution.
-
v0.5.1.3 Changes
April 30, 2016Implemented the Monad of No Return proposal, future-proofing postgresql-simple against future releases of GHC.
Fixed a rare and usually benign race condition where
getNotification
could end up waiting on a newly reallocated file descriptor index, potentially leading to deadlock if the descriptor does not become readable promptly. This fix only applies to GHC 7.8 or later, as it depends onthreadWaitReadSTM
.Tweaked the time parsers to accept times of day of the form
hh:mm
, omitting seconds, following changes made to aeson.Updated the documentation of the
In
type to point out a gotcha when using the SQL fragment... NOT IN ?
withIn []
. Thanks goes to Simon Michael and Dan Haraj for bringing this issue to my attention.
-
v0.5.1.2 Changes
December 14, 2015The syntax generated for empty arrays was changed so that postgresql's type inference would work better, thanks to Amit Levy.
Further revision and expansion of the new Time documentation.
-
v0.5.1.1 Changes
December 02, 2015This is a documentation-only release
The documentation of the
Time
module has been completely rewritten, and is far longer and more informative. It contains a brief overview of civil time, the semantics of postgresql's time types, and their relation to Haskell's time types via postgresql-simple.The documentation of
connectPostgreSQL
has been modified to mention the effects of environment variables on the connection string parameters.The documentation of
HStore.Internal
has been unhidden from haddock.A typo in example code was fixed courtesy of Levi Notik.
-
v0.5.1.0 Changes
October 22, 2015Optimized the implementation of the streaming operators to avoid creating intermediate lists of rows, thanks to Timo von Holtz.
Added default instances for
ToRow
andFromRow
that depend on Generics, thanks to Alexey Khudyakov.Fixed support for bytestring-0.9 and GHC 7.4.
-
v0.5.0.1 Changes
September 21, 2015- Fixed a bug when printing a
ZonedTime
with a negative offset that is not a whole number of hours.
- Fixed a bug when printing a
-
v0.5.0.0 Changes
September 19, 2015Removed the deprecated
BuiltinTypes
module.Modified the SQL quasiquoter so that it returns a
Query
, not an overloaded string, and so that theOverloadedStrings
language extension is no longer necessary, thanks to Mike Ledger.Moved away from
blaze-builder
in favor ofbytestring-builder
. This shouldn't affect very many people, but does reduce the transitive dependencies.Rewrote the timestamp printers to use the new
Prim
infrastructure inbytestring-builder
. The new printers should be a fair bit faster.Added support for exclusion violations to the
ConstraintViolation
type in the Errors module, thanks to João Cristóvão.Moved away from the
uuid
package in favor of theuuid-types
package, thanks to Bardur Arantsson. This shouldn't affect anybody, but does reduce the transitive dependencies.Postgresql-simple now explicitly assumes the UTF8 character encoding for communication between the client and server. All database encodings support UTF8 except for Mule Internal Code, the Multilingual Extensions for Emacs. An exception should be raised upon connecting to a database by the backend if the backend cannot accomodate this requirement.
Added
Eq
andTypeable
instances forConnection
.Added the
foldWith
,forEachWith
, andreturningWith
families of functions courtesy of Travis Staton.Support for Ranged types, with thanks to Leonid Onokhov for his contributions.
The
FromField
instance for JSON now allows for top-level values that are not objects or arrays, thanks to Sam Rijs.The timestamp parsers have been replaced with those now in Aeson. Janne Hellsten adapted the old parsers from postgresql-simple for inclusion in Aeson; Bryan O'Sullivan rewrote those parsers to be faster, with some tweaks contributed by myself. And now to bring the effort full circle, the result has been brought back to postgresql-simple, with some adaptations.
Fixed a bug in the typeinfo system where postgresql's
_record
type was being reported as a basic type and not an array type. Thanks to Nickolay Kolev for helping to expose this issue.Fixed a bug with the
typeInfo
operator, thanks to Timmy Tofu. In the case of parsing subfields of arrays and composites, it would fetch theTypeInfo
of the array or composite type and not the subtype.
-
v0.4.10.0 Changes
February 26, 2015Added a blurb about SSL/TLS in the documentation for connectPostgreSQL
Moved some functions into the Internal module, courtesy of Aleksey Uimanov.