Repository navigation
Added
-
Added
Rel8.TH.deriveRel8ableandRel8.TH.deriveRel8ablesfor derivingRel8ableinstances usingTemplateHaskell.
This can be significantly faster than usingGenerics. In testing, we have seen 80% reductions in build time! -
Expose all
rel8internal modules from therel8-internalpackage. -
Added new
ConflictandIndextypes.Conflictrepresents aconflict_targetin anON CONFLICT. It can be either a named constraint (ON CONSTRAINT) or a anIndex. -
Added
Index.Indexis a description of a unique index which PostgreSQL can use for unique index inference. This is an alternative to specifying an explicit named constraint in aconflict_target. -
Add
notElemandnotElem1toRel8.Array -
Added preliminary support for PostgreSQL ranges.
-
Support GHC-9.14 and
semialign >= 1.4. -
Added
notElemandnotElem1toRel8.Array. -
Added
DBType Aeson.Objectinstance. -
Bumped a variety of bounds.
Changed
-
The
Upserttype was changed. Previously it had the columns (index,predicate) of what is now theIndextype baked into its record. It now instead has a singleconflictcolumn (of typeConflict, which can be either anIndexor a named constraint). -
The
DoNothingconstructor ofOnConflictwas changed to also take an optionalConflictvalue. Even thoughON CONFLICT DO NOTHINGdoes not generally require aconflict_target, there are cases where it can be necessary, e.g., if you have table that has both deferrable and non-deferrable constraints. -
rel8now requires at least version0.10.8.0ofopaleye
Fixed
-
elemandelem1now useIS NOT DISTINCT FROMsemantics (matching(==.)) when the element type is nullable, sonullis found in an array containingnull. Previously they were implemented with the array containment operator<@, which never matchesnull. -
Fixed some issues around the truncation of long column names.
-
Improved documentation.