* Initial attempt at Lateral joins * Fix lateral queries for Inner and Left joins. Remove for Full and Right as this is apparently illegal(who knew). Add TypeError on Full and Right joins. Update on clause to use a custom constraint instead of relying on ToFrom. * Fix typo leading to erroneous ToFrom instance * Implement non-recursive CTE's * add withRecursive; cleanup whitespace * Fix multiple recursive CTEs. Apparently the spec just wants RECURSIVE if any of the queries are recursive. * Add test to verify that a CTE can reference a previously defined CTE * Update with/Recursive to return an element of a from clause to allow for joins against CTEs * Modify set operations to use a custom data type + typeclass + typefamily to allow direct use of SqlQuery a in set operation and to allow recursive cte's to unify syntax with SqlSetOperation. Added lowercase names for set operations. If we can migrate off the constructor names we may be able to simplify the implementation. * Fixed haddock documentation issue from v3.3.4.0 and added documentation for new features introduced by v3.4.0.0 * fixed comments that were changed while debugging haddock build * Cleanup formatting in From per PR. Cleanup ValidOnClause, added documentation and reduced the number of instances * Update src/Database/Esqueleto/Experimental.hs Co-authored-by: charukiewicz <charukiewicz@protonmail.com> Co-authored-by: Matt Parsons <parsonsmatt@gmail.com>
6.7 KiB
6.7 KiB
3.4.0.0
- @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 tagSqlQueryvalues - 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
3.3.4.1
- @maxgabriel
- #214
- Add suggested hlint rules for proper
isNothingusage
- Add suggested hlint rules for proper
- #214
3.3.4.0
- @parsonsmatt
- #205
-
More documentation on the
Experimentalmodule -
Database.Esqueleto.Experimentalnow reexportsDatabase.Esqueleto, so the new "approved" import syntax is less verbose. Before, you'd write:import Database.Esqueleto hiding (from, on) import Database.Esqueleto.ExperimentalNow you can merely write:
import Database.Esqueleto.ExperimentalUsers will get 'redundant import' warnings if they followed the original syntax, the solution is evident from the error message provided.
-
- #205
3.3.3.3
- @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
3.3.3.2
- @maxgabriel
- #190 Further document and test
ToBaseId
- #190 Further document and test
3.3.3.1
- @belevy
- #189 - Fix bug in function calls with aliased values introduced by SubQuery joins.
3.3.3.0
- @belevy
- #172 - Introduce new experimental module for joins, set operations (eg UNION), and safer queries from outer joins.
3.3.2
- @belevy
- #177 Fix natural key handling in (^.)
3.3.1.1
- @parsonsmatt
- #170 Add documentation to
groupByto explain tuple nesting.
- #170 Add documentation to
3.3.1
- @charukiewicz, @belevy, @joemalin95
- #167: Exposed functions that were added in
3.3.0
- #167: Exposed functions that were added in
3.3.0
- @charukiewicz, @belevy, @joemalin95
- #166: Add several common SQL string functions:
upper_,trim_,ltrim_,rtrim_,length_,left_,right_
- #166: Add several common SQL string functions:
3.2.3
- @hdgarrood
- #163: Allow
unsafeSqlFunctionto take up to 10 arguments without needing to nest tuples.
- #163: Allow
3.2.2
- @parsonsmatt
- #161: Fix an issue where nested joins didn't get the right on clause.
3.2.1
- @parsonsmatt
- #159: Add an instance of
UnsafeSqlFunction ()for 0-argument SQL functions.
- #159: Add an instance of
3.2.0
- @parsonsmatt
- #153: Deprecate
sub_selectand introducesubSelect,subSelectMaybe, andsubSelectUnsafe.
- #153: Deprecate
- @parsonsmatt
- #156: Remove the
restriction that
onclauses must appear in reverse order to the joining tables.
- #156: Remove the
restriction that
3.1.3
- @JoseD92
- #155: Added
insertSelectWithConflictpostgres function.
- #155: Added
3.1.2
- @tippenein
- #149: Added
associateJoinquery helpers.
- #149: Added
3.1.1
-
@JoseD92
- #149: Added
upsertsupport.
- #149: Added
-
@parsonsmatt
- #133: Added
renderQueryToTextand related functions.
- #133: Added
3.1.0
- @Vlix
- #128: Added
Database.Esqueleto.PostgreSQL.JSONmodule with JSON operators andJSONBdata type.
- #128: Added
- @ibarrae
- #127: Added
betweenand support for composite keys inunsafeSqlBinOp.
- #127: Added
3.0.0
- @parsonsmatt
- #122: Support
persistent-2.10.0. This is a breaking change due to the removal of deprecated exports from thepersistentlibrary. - #113: Remove the
esqueletotype class. To migrate here, useSqlExpr,SqlQuery, andSqlBackendinstead of using the polymorphicEsqueleto sqlExpr sqlQuery sqlBackend => ...types.
- #122: Support
2.7.0
- @parsonsmatt
- #117: Removed
sqlQQandexecuteQQfunctions from export, fixing doc build and building withpersistent>= 2.9
- #117: Removed
2.6.1
- @ChrisCoffey
- #114: Fix Haddock by working around an upstream bug.
2.6.0
- @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
arrayAggDistinctandarrayRemove.
- Added support for
- @mheinzel
- Fixed JOIN syntax in the documentation https://github.com/bitemyapp/esqueleto/pull/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