* add insertSelectWithConflict to allow insert with conflict resolution
* insertSelectWithConflictCount does nothing when no updates given and add tests
* no longer require undefined for insertSelectWithConflict
* Update src/Database/Esqueleto/PostgreSQL.hs
Co-Authored-By: Matt Parsons <parsonsmatt@gmail.com>
* Update src/Database/Esqueleto/PostgreSQL.hs
Co-Authored-By: Matt Parsons <parsonsmatt@gmail.com>
* Update src/Database/Esqueleto/PostgreSQL.hs
Co-Authored-By: Matt Parsons <parsonsmatt@gmail.com>
* Update src/Database/Esqueleto/PostgreSQL.hs
Co-Authored-By: Matt Parsons <parsonsmatt@gmail.com>
* Move non postgres related functions out of postgres module to internal.
* add entry to changelog
Aggregate functions like array_agg and string_agg will return NULL instead of
empty arrays and empty strings resp. when run on zero rows. This change reflects
that in the haskell types. It also adds a "maybeArray" function that
coalesces NULL into an empty array, because currently there is no way to write
an empty array literal (`val []` does not work)