* Also export ValidOnClauseValue
This is a constraint on `on`, but not exported, so you have to go into the source to see what it does. Exporting makes this easier.
* add to ChangeLog and bumped version
* Simplify ToFromT. Converted most closed type families to be associated type families with the exception of IsLateral, Nullable and the two new FromOnClause and FromCrossJoin type families that handle the overlaps instead of ToFromT
* Use type families instead of empty classes
* It's not possible to expand a closed type family.
Co-authored-by: Matt Parsons <parsonsmatt@gmail.com>
Co-authored-by: Matt Parsons <parsonsmatt@gmail.com>
* Make ToAliasT and ToAliasReferenceT associated types of the corresponding classes
* Update changelog
* Remove ToAliasT and ToAliasReferenceT
* Update changelog and deprecate type families instead of deleting them
* Apply suggestions from code review
Co-authored-by: Ben Levy <benjaminlevy007@gmail.com>
Co-authored-by: Ben Levy <benjaminlevy007@gmail.com>
* 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>
* Fix issue with extra characters. Extra parens in valueList caused issues in mysql. Extra backticks in value reference names
* update changelog and bump version number
* Fix issue caused by toAliasReference failing to reindex an alias reference by its new alias source
* Add support for SqlExpr (Maybe (Entity a))) to aliasing in Experimental. Fix#193
* Update changelog with new PR name. Fix name shadowing in test.
* Fix binary operations(i.e. ==.) on aliased values.
* no need for version bump since 3.3.3.3 hasnt been released yet
Co-authored-by: Matt Parsons <parsonsmatt@gmail.com>
* Add new SetOperation constructor for parenthesized query. Automatically detect when parentheses are needed on SelectQuery usage (only works for MySQL).
* Add Parens to SelectQueryP and create a pattern synonym for SelectQuery. SelectQueryP is hidden as end users should only be using SelectQuery.