Changelog for persistent-postgresql-2.14.0.0
Changelog for persistent-postgresql
2.14.0.0
- #1604
- Changed the representation of intervals to use the
Intervaltype from thepostgresql-simple-intervalpackage. This changes the behavior ofPgIntervalfor very small and very large values. - Previously
PgInterval 0.000_000_9would be rounded to0.000_001seconds, but now it is truncated to 0 seconds. - Previously
PgInterval 9_223_372_036_854.775_808would overflow and throw a SQL error, but now it saturates to9_223_372_036_854.775_807seconds. - The SQL representation of
PgIntervalnow always includes theintervalprefix, likeinterval '1 second'.
- Changed the representation of intervals to use the
2.13.7.0
- #1600
- Add
migrateStructuredtoDatabase.Persist.Postgresql.Internal. This allows you to access a structured representation of the proposed migrations for use in your application.
- Add
- #1547
- Bump
libpqbounds
- Bump
2.13.6.2
- #1536
- Build with GHC 9.10
2.13.6.1
- #1518
- Normalize postgres type aliases to prevent noop migrations
2.13.6
- #1511
- Add the
createPostgresqlPoolTailoredfunction to support creating connection pools with a custom connection creation function. - Expose
getServerVersionandcreateBackendfor user's convenience.
- Add the
- #1516
- Support postgresql-simple 0.7 and postgresql-libpq 0.10
2.13.5.2
- #1471
- Explicitly import
Control.Monad.Trans.liftto support mtl-2.3.
- Explicitly import
2.13.5.1
- #1459
- Make use of
CautiousMigrationtype alias for clarity.
- Make use of
2.13.5.0
- #1362
- Define
withPostgresqlPoolModifiedWithVersion
- Define
2.13.4.1
2.13.4.0
- #1341
- Add
SqlBackendHooksto allow for instrumentation of queries.
- Add
- #1327
- Update backend to support new
StatementCacheinterface
- Update backend to support new
2.13.3.0
- #1349
- Add
BackendCompatible (RawPostgresql b) (RawPostgresql b)instance.
- Add
2.13.2.2
- #1351
- Support
aeson-2.0in test suite.
- Support
2.13.2.1
- #1331
- Fixes a bug where
upsertWherewould fail on a database table withMigrationOnlyfields.
- Fixes a bug where
2.13.2.0
- #1316
- Expose some internals in the new
Database.Persist.Postgresql.Internalmodule. This gives access to thePnewtype, which is used for de-serializingPersistValues frompostgresql-simplecode.
- Expose some internals in the new
2.13.1.0
- #1305
- Add
RawPostgresqlwrapper, which exposes the underlying Postgres connection used to construct aSqlBackend.
- Add
2.13.0.3
- #1290
- Fix the code path for adding references to previously defined columns.
2.13.0.2
- Actually release the SafeTORemove fix
2.13.0.1
- #1275
- Fix
SafeToRemove
- Fix
2.13.0.0
- #1225
- Support
persistent-2.13.0.0making SQlBackend internal
- Support
2.12.1.1
- #1235
upsertWhereandupsertManyWhereonly worked in cases where aPrimarykey was defined on a record, and no other uniqueness constraints. They have been fixed to only work with records that have a single Uniqueness constraint defined.
2.12.1.0
- Added
upsertWhereandupsertManyWheretopersistent-postgresql. #1222.
2.12.0.0
- Decomposed
HaskellNameintoConstraintNameHS,EntityNameHS,FieldNameHS. DecomposedDBNameintoConstraintNameDB,EntityNameDB,FieldNameDBrespectively. #1174 - Fix XML conversion #1192
2.11.0.1
- Fix foreign key migrations [#1167] https://github.com/yesodweb/persistent/pull/1167
- Fix a bug where a foreign key of a field to its table was ignored.
- Fix a bug where a altering details of a foreign key didn't trigger a migration
2.11.0.0
- Foreign Key improvements [#1121] https://github.com/yesodweb/persistent/pull/1121
- It is now supported to refer to a table with an auto generated Primary Kay
- It is now supported to refer to non-primary fields, using the keyword
References
- Implement interval support. #1053
- #1060
- The QuasiQuoter now supports
OnDeleteandOnUpdatecascade options.
- The QuasiQuoter now supports
- Handle foreign key constraint names over 63 characters. See #996 for details.
- Fix a bug in
upsertSqlquery which had not been discovered previously because the query wasn't actually used. #856 - #1072 Refactored
test/JSONTest.hsto usehspec- added
runConn_to run a db connection and return result - Renamed
dbtorunConnAssertintest/PgInit.hsfor clarity - Ran
test/ArrayAggTest.hs(which was previously written but not being run)
- added
- Remove unnecessary deriving of Typeable #1114
- Add support for configuring the number of stripes and idle timeout for connection pools #1098
PostgresConfhas two new fields to configure these values.- Its
FromJSONinstance will default stripes to 1 and idle timeout to 600 seconds - If you're constructing a
PostgresConfmanually, this is a breaking change
- Its
- Add
createPostgresqlPoolWithConfandwithPostgresqlPoolWithConf, which take aPostgresConffor the new configuration.
2.10.1.2
- Fix issue with multiple foreign keys on single column. #1010
2.10.1.1
- Compatibility with latest persistent-template for test suite #1002
2.10.1
- Added support for the
constraint=attribute to the Postgresql backend. #979
2.10.0
- Added question mark operators (
(?.), (?|.), (?&.)) toDatabase.Persist.Postgresql.JSON#863 - Changes to certain types:
PersistValue: addedPersistArraydata constructorFilter: Changed thefilterValue :: Either a [a]tofilterValue :: FilterValue
2.9.1
- Add
openSimpleConnWithVersionfunction. #883
2.9.0
- Added support for SQL isolation levels to via SqlBackend. [#812]
- Fix 832:
repsertManynow matchesmapM_ (uncurry repsert)and is atomic.
2.8.2
Added module Database.Persist.Postgresql.JSON #793
PersistFieldandPersistFieldSqlinstances forData.Aeson.Value- Filter operators
(@>.)and(<@.)to filter on JSON values
2.8.1.1
- Added a more detailed error message when a
numericcolumn's scale and precision can't be parsed. #781
2.8.1
- Implemented
connPutManySqlto utilize batchedputMany. #770
2.8.0
- Switch from
MonadBaseControltoMonadUnliftIO
2.6.3
- Added new function
migrateEnableExtension, to enable Postgres extensions in migrations.
2.6.2.2
- Because
textandvarcharare synonyms in Postgresql, don't attempt to migrate between them. #762
2.6.2.1
- Fix bug where, if a custom column width was set, the field would be migrated every time #742
2.6.2
- Expose new functions:
withPostgresqlPoolWithVersion,withPostgresqlConnWithVersionandcreatePostgresqlPoolModifiedWithVersion.
2.6.1
- Match changes in persistent
- Clean up warnings
2.6
- Atomic upsert support for postgreSQL backend
2.5
- changes for read/write typeclass split
2.2.2
- Postgresql primary key is Int4, not Int8 #519
2.2.1.2
- Allow postgresql-simple 0.5
2.2.1.1
Query pg_catalog instead of information_schema for metadata. This helps with permission issues as reported in issue #501
2.2.1
-
Fix treatment of
NULLs inside arrays. For example, now you can usearray_aggon a nullable column. -
New derived instances for
PostgresConf:Read,DataandTypeable. -
New
mockMigrationfunction. Works likeprintMigrationbut doesn't need a database connection. -
Fix typo on error message of the
FromJSONinstance ofPostgresConf.
2.2
- Optimize the
insertManyfunction to insert all rows and retrieve their keys in one SQL query. #407
2.1.6
- Postgresql exceptions #353
2.1.5.3
Migrations for custom primary keys
2.1.5.2
Support foreign key references to composite primary keys #389
2.1.5
- Allow timestamp value in database to be serialized (presumes UTC timezone) Yesod #391
2.1.4
- Treat unknown extension types as PersistDbSpecific values #385
2.1.3
- Added a
Showinstance forPostgresConf. createPostgresqlPoolModifiedadded, see relevant mailing list discussion
2.1.2.1
Documentation typo fix
2.1.1
Added FromJSON instance for PostgresConf.