- @9999years
- #350
- Add
GetFirstTable
,getTable
,getTableMaybe
helpers for selecting tables from:&
chains
- Add
- #350
- @josephsumabat
- #339
- Add
forUpdateOf
,forShareOf
locking kinds for postgres
- Add
- #339
- @parsonsmatt
- #342
- Create a
TypeError
instance forFunctor SqlExpr
, adding documentation and work arounds for the need.
- Create a
- #342
- @9999years
- #327
- Fixed a Haddock typo causing documentation to render incorrectly
- #327
- @belevy
- #336
- Fix bug with multiple nested subqueries introduced in 3.5.7.1
- Set operations will now only reuse variable names within the context of the set operation. a subquery that references the set operation will correctly pick up where the subquery left off 3.5.8.0 =======
- #336
- @ivanbakel
- #331
- Add
deriveEsqueletoRecordWith
to derive Esqueleto instances for records using custom deriving settings. - Add
DeriveEsqueletoRecordSettings
to control how Esqueleto record instances are derived. - Add
sqlNameModifier
to control how Esqueleto record instance deriving generates the SQL record type name. - Add
sqlFieldModifier
to control how Esqueleto record instance deriving generates the SQL record fields.
- Add
- #331
- @belevy
- #334
- Fix alias name bug with union and subselect
- #334
-
@ivanbakel
- #329
- Add
ToAlias
andToAliasReference
instances to the type produced byderiveEsqueletoRecord
, allowing in-SQL records to be used in CTEs
- Add
- #329
-
@9999years
- #324
- Add ability to use nested records with
deriveEsqueletoRecord
- Add ability to use nested records with
- #324
- @9999years
- #323
- Add ability to derive esqueleto instances for records
- #323
- @parsonsmatt
- #317
- Add
Eq
andShow
instances to:&
- Add
- #317
- @parsonsmatt
- #318
- Remove use of
SqlReadT
andSqlWriteT
type alias so that Simplified Subsumption doesn't bite end users
- Remove use of
- #318
- @parsonsmatt
- #312
- Support
persistent-2.14.0.0
- Support
- #312
- @parsonsmatt
- #310
- Add instances of
HasField
forSqlExpr (Entity rec)
andSqlExpr (Maybe (Entity rec))
. These instances allow you to use theOverloadedRecordDot
language extension in GHC 9.2 with SQL representations of database entities.
- Add instances of
- #310
- @parsonsmatt
- #309
- Bump
time
version bound
- Bump
- #309
- @jappeace
- #303
- Added docs for delete function for new experimental API.
- #303
- @m4dc4p
- #291
- Added
ToAlias
andToAliasReference
instaces to the:&
type, mirroring the tuple instances for the same classes. See Issue #290 for discussion.
- #291
- Added
- @NikitaRazmakhnin
- #284 - Add PostgreSQL-specific support of VALUES(..) literals
- @NikitaRazmakhnin
- #278
- Fix generating of bad sql using nexted expressions with
distinctOnOrderBy
.
- #278
- Fix generating of bad sql using nexted expressions with
- @cdparks
- #273
- Avoid generating an empty list as the left operand to
NOT IN
.
- #273
- Avoid generating an empty list as the left operand to
- @ivanbakel
- #268
- Added
SqlSelect
instance for(:&)
, allowing it to be returned from queries just like(,)
tuples.
- #268
- Added
- @ibarrae
- #265
- Added
selectOne
- #265
- Added
- @belevy
- #228 - Destroy all GADTs; Removes the From GADT and SqlExpr GADT - From GADT is replaced with a From data type and FromRaw - SqlExpr is now all defined in terms of ERaw - Modified ERaw to contain a SqlExprMeta with any extra information that may be needed - Experimental top level is now strictly for documentation and all the implementation details are in Experimental.* modules
- @parsonsmatt
- #259
- Create the
Database.Esqueleto.Legacy
module. TheDatabase.Esqueleto
module now emits a warning, directing users to either importDatabase.Esqueleto.Legacy
to keep the old behavior or to importDatabase.Esqueleto.Experimental
to opt in to the new behavior. - Deleted the deprecated modules
Database.Esqueleto.Internal.{Language,Sql}
. Please useDatabase.Esqueleto.Internal.Internal
instead, or ideally post what you need from the library so we can support you safely. - Support GHC 9
- Create the
- #259
- @parsonsmatt
- #255
- Fix a bug where a composite primary key in a
groupBy
clause would break.
- Fix a bug where a composite primary key in a
- #255
- @parsonsmatt
- #245
- Support
persistent-2.13
- Support
- #245
- @parsonsmatt
- #243
- Support
persistent-2.12
- Support
- #243
- @MaxGabriel
- #240
- Improve recommend hlint to avoid doing
x = NULL
SQL queries
- Improve recommend hlint to avoid doing
- #240
- @arthurxavierx
- #238
- Fix non-exhaustive patterns in
unsafeSqlAggregateFunction
- Fix non-exhaustive patterns in
- #238
- @Vlix
- #232
- Export the
ValidOnClauseValue
type family
- Export the
- #232
- @arthurxavierx
- #221
- Deprecate
ToAliasT
andToAliasReferenceT
- Deprecate
- #221
- @parsonsmatt
- #226
- Support
persistent-2.11
- Support
- #226
- @belevy
- #225
- Simplify
ToFromT
extracting the overlapping and type error instances - Make
ToFromT
and associated type family ofToFrom
- Simplify
- #225
- @belevy, @charukiewicz
- #215
- Added support for common table expressions (
with
,withRecursive
) - Added support for lateral JOINs with updated example (Example #6)
- Deprecated
SelectQuery
, removing the neccessity to tagSqlQuery
values - Deprecated use of data constructors for SQL set operations (replaced with functions)
- Refactored module structure to fix haddock build (fixes build from
3.3.4.0
)
- Added support for common table expressions (
- #215
- @maxgabriel
- #214
- Add suggested hlint rules for proper
isNothing
usage
- Add suggested hlint rules for proper
- #214
- @parsonsmatt
- #205
-
More documentation on the
Experimental
module -
Database.Esqueleto.Experimental
now reexportsDatabase.Esqueleto
, so the new "approved" import syntax is less verbose. Before, you'd write:import Database.Esqueleto hiding (from, on) import Database.Esqueleto.Experimental
Now you can merely write:
import Database.Esqueleto.Experimental
Users will get 'redundant import' warnings if they followed the original syntax, the solution is evident from the error message provided.
-
- #205
- @belevy
- #191 - Bugfix rollup: Fix issue with extra characters in generated SQL; Fix ToAliasReference for already referenced values; Fix Alias/Reference for Maybe Entity
- @maxgabriel
- #203 Document
isNothing
- #203 Document
- @sestrella
- #198 - Allow PostgreSQL aggregate functions to take a filter clause
- @maxgabriel
- #190 Further document and test
ToBaseId
- #190 Further document and test
- @belevy
- #189 - Fix bug in function calls with aliased values introduced by SubQuery joins.
- @belevy
- #172 - Introduce new experimental module for joins, set operations (eg UNION), and safer queries from outer joins.
- @belevy
- #177 Fix natural key handling in (^.)
- @parsonsmatt
- #170 Add documentation to
groupBy
to explain tuple nesting.
- #170 Add documentation to
- @charukiewicz, @belevy, @joemalin95
- #167: Exposed functions that were added in
3.3.0
- #167: Exposed functions that were added in
- @charukiewicz, @belevy, @joemalin95
- #166: Add several common SQL string functions:
upper_
,trim_
,ltrim_
,rtrim_
,length_
,left_
,right_
- #166: Add several common SQL string functions:
- @hdgarrood
- #163: Allow
unsafeSqlFunction
to take up to 10 arguments without needing to nest tuples.
- #163: Allow
- @parsonsmatt
- #161: Fix an issue where nested joins didn't get the right on clause.
- @parsonsmatt
- #159: Add an instance of
UnsafeSqlFunction ()
for 0-argument SQL functions.
- #159: Add an instance of
- @parsonsmatt
- #153: Deprecate
sub_select
and introducesubSelect
,subSelectMaybe
, andsubSelectUnsafe
.
- #153: Deprecate
- @parsonsmatt
- #156: Remove the
restriction that
on
clauses must appear in reverse order to the joining tables.
- #156: Remove the
restriction that
- @JoseD92
- #155: Added
insertSelectWithConflict
postgres function.
- #155: Added
- @tippenein
- #149: Added
associateJoin
query helpers.
- #149: Added
-
@JoseD92
- #149: Added
upsert
support.
- #149: Added
-
@parsonsmatt
- #133: Added
renderQueryToText
and related functions.
- #133: Added
- @Vlix
- #128: Added
Database.Esqueleto.PostgreSQL.JSON
module with JSON operators andJSONB
data type.
- #128: Added
- @ibarrae
- #127: Added
between
and support for composite keys inunsafeSqlBinOp
.
- #127: Added
- @parsonsmatt
- #122: Support
persistent-2.10.0
. This is a breaking change due to the removal of deprecated exports from thepersistent
library. - #113: Remove the
esqueleto
type class. To migrate here, useSqlExpr
,SqlQuery
, andSqlBackend
instead of using the polymorphicEsqueleto sqlExpr sqlQuery sqlBackend => ...
types.
- #122: Support
- @parsonsmatt
- #117: Removed
sqlQQ
andexecuteQQ
functions from export, fixing doc build and building withpersistent
>= 2.9
- #117: Removed
- @ChrisCoffey
- #114: Fix Haddock by working around an upstream bug.
- @bitemyapp
- Reorganized dependencies, decided to break compatibility for Conduit 1.3, Persistent 2.8, and
unliftio
. - Moved tests for
random()
into database-specific test suites. - Deprecated Language
random_
, split it into database-specific modules.
- Reorganized dependencies, decided to break compatibility for Conduit 1.3, Persistent 2.8, and
- @parsonsmatt
- Added support for
PersistQueryRead
/PersistQueryWrite
, enabling type-safe differentation of read and write capabilities.
- Added support for
- @sestrella
- Added support for
arrayAggDistinct
andarrayRemove
.
- Added support for
- @mheinzel
- Fixed JOIN syntax in the documentation bitemyapp#60
- @illmade
- Added instructions for running database specific tests
- @FintanH
- Removed CPP from the test suite, split the database-specific tests into their own respective modules.
- Added support for PostgreSQL's
now()
- Added a comprehensive examples project to make practical application of Esqueleto easier.
- @EdwardBetts
- Fixed a spelling error