* 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>
56 lines
1.8 KiB
Plaintext
56 lines
1.8 KiB
Plaintext
cabal-version: 1.12
|
|
|
|
-- This file has been generated from package.yaml by hpack version 0.31.2.
|
|
--
|
|
-- see: https://github.com/sol/hpack
|
|
--
|
|
-- hash: 2bf9103f4701fb3c063743dbb88970ee68ecbeaeb87eea96ca21096da1264968
|
|
|
|
name: new-join-compiler-errors
|
|
version: 0.1.0.0
|
|
description: Please see the README on GitHub at <https://github.com/bitemyapp/esqueleto/test/new-join-compiler-errors#readme>
|
|
homepage: https://github.com/bitemyapp/esqueleto#readme
|
|
bug-reports: https://github.com/bitemyapp/esqueleto/issues
|
|
author: Ben Levy
|
|
maintainer: benjaminlevy007@gmail.com
|
|
copyright: 2020 Ben Levy
|
|
license: BSD3
|
|
build-type: Simple
|
|
extra-source-files:
|
|
README.md
|
|
|
|
source-repository head
|
|
type: git
|
|
location: https://github.com/bitemyapp/esqueleto
|
|
|
|
library
|
|
exposed-modules:
|
|
Lib
|
|
other-modules:
|
|
Paths_new_join_compiler_errors
|
|
hs-source-dirs:
|
|
src
|
|
default-extensions: FlexibleContexts FlexibleInstances GADTs GeneralizedNewtypeDeriving MultiParamTypeClasses NoMonomorphismRestriction OverloadedStrings QuasiQuotes ScopedTypeVariables StandaloneDeriving TemplateHaskell TypeFamilies
|
|
build-depends:
|
|
base >=4.7 && <5
|
|
, esqueleto
|
|
, persistent
|
|
, persistent-template
|
|
default-language: Haskell2010
|
|
|
|
executable bad-errors
|
|
main-is: Main.hs
|
|
other-modules:
|
|
Paths_new_join_compiler_errors
|
|
hs-source-dirs:
|
|
bad-errors
|
|
default-extensions: FlexibleContexts FlexibleInstances GADTs GeneralizedNewtypeDeriving MultiParamTypeClasses NoMonomorphismRestriction OverloadedStrings QuasiQuotes ScopedTypeVariables StandaloneDeriving TemplateHaskell TypeFamilies
|
|
ghc-options: -threaded -rtsopts -with-rtsopts=-N
|
|
build-depends:
|
|
base >=4.7 && <5
|
|
, esqueleto
|
|
, new-join-compiler-errors
|
|
, persistent
|
|
, persistent-template
|
|
default-language: Haskell2010
|