* It works? * Add multiple return values back in * Allow order by alias * Support groupBy and count, Returning value from a fromQuery now will make it into an alias * Eliminate Alias type, TODO: finish implementing all the functions on Value for the alias constructors * Add entity support to subqueries * Cleanup duplication; Cleanup warnings and finish implementing all the cases for aliased values and entities. * Cleanup fromQuery and add comments * Modify EValueReference to support aliased entity fields instead of having to use opaque ERaw in field access * Implement SQL Set Operations * Add test to show novel use of fromQuery * Cleanup unsafe case statements * Add type annotations to helper queries to satisfy the typechecker on older GHC * New syntax for joins, using placeholder names with ' in them to avoid name conflict with existing join types. New api properly enforces Maybe on outer joins and requires an on clause for all joins in their construction. * Add some more test queries using the new syntax * Add test to verify that delete works with the new syntax * Add cross join and implicit cross join using comma examples to test code for new from syntax * Comment out use of CrossJoin in common tests since postgres cant handle it with the current implementation of the CrossJoin kind * Add typeclass machinery to support the use of the old Join data types used in the existing from clause * Fix bug with CrossJoin and add on_ syntax sugar * move new from syntax into Database.Esqueleto.Experimental * Merge subqueries and unions with the new join syntax, they all seem to play nicely together * Cleanup somehow copies of ToAlias ended up staying in Internal and a swp file made it in to the branch. * Fix compilation errors * Swith tuple to using a TypeOperator * Make operator only 2 characters * added up to 8-tuple instances for ToMaybe, ToAlias, and ToAliasReference * Add compiler error tests for new syntax to support making better errors * Use closed data families to allow for catching missing on statements in joins. * Convert ToAliasReferenceT to be a closed type family matching the other classes in the Experimental module * added Esqueleto.Experimental documentation: added introduction and several examples of old vs. new syntax * added more usage examples to module introduction; added documentation to SqlSetOperation, From, on, from, and (:&) * Update (^.) to only treat natural keys with more than one component as ECompositeKey. Fixes #176. * Update article metadata test to ensure the correct response was being returned instead of just check if an exception was thrown * Add article metadata to cleanDB before deleting all articles to fix foreign key constraint errors * Bump version number and add changelog entry * Fix issue with ToMaybeT for Values, Maybe was going in the wrong place compared to the rest of the library. Add test to prove that Left joining into a subquery that returns a maybe flattens the maybe properly to avoid needing to call joinV. * Fix common test for postgres, needed to add dogCounts to the group by since postgres is strict on only agregates for non grouped columns; I really need to set up a local postgresql * Revert ToFromT changes. Only accept functions that return a SqlExpr (Value Bool) in ToFromT * escaped use of '@' in TypeApplications in documentation * Add more specific type signature to `on` per parsonsmatt review suggestion. Improves type inference significantly. Co-Authored-By: Matt Parsons <parsonsmatt@gmail.com> Co-authored-by: charukiewicz <c.charukiewicz@gmail.com> Co-authored-by: Matt Parsons <parsonsmatt@gmail.com> |
||
|---|---|---|
| .. | ||
| bad-errors | ||
| src | ||
| new-join-compiler-errors.cabal | ||
| package.yaml | ||
| README.md | ||
| stack.yaml | ||
expected-compile-failures
This subdirectory contains a stack project for expected compilation failures. To
add a new "test case", create a new executable stanza in the package.yaml
file. The Travis CI test script (test.sh) will attempt to compile
the executable and will exit with an error if it successfully compiled.