@@ -29,11 +29,9 @@ import Prelude
29import Rel8.Aggregate ( Aggregate, Aggregator, foldInputs )
29import Rel8.Aggregate ( Aggregate, Aggregator, foldInputs )
30import Rel8.Expr ( Expr )
30import Rel8.Expr ( Expr )
31import Rel8.Expr.Opaleye ( fromPrimExpr )
31import Rel8.Expr.Opaleye ( fromPrimExpr )
32−import Rel8.Schema.Dict ( Dict( Dict ) )
33import Rel8.Schema.Name ( Name( Name ) )
32import Rel8.Schema.Name ( Name( Name ) )
34−import Rel8.Schema.Null ( Sql, mapSql )
33+import Rel8.Schema.Null ( Sql )
35import Rel8.Type.Monoid ( DBMonoid )
34import Rel8.Type.Monoid ( DBMonoid )
36−import Rel8.Type.Semigroup ( DBSemigroup )
39type Tag :: Symbol -> Type -> Type
37type Tag :: Symbol -> Type -> Type
@@ -54,8 +52,7 @@ instance Sql DBMonoid a => Taggable a where
54 tappend :: forall label. KnownSymbol label
52 tappend :: forall label. KnownSymbol label
55 => Tag label a -> Tag label a -> Tag label a
53 => Tag label a -> Tag label a -> Tag label a
56 tappend a b = Tag
54 tappend a b = Tag
57− { expr = case mapSql dbSemigroupFromDBMonoid (Dict @_ @a) of
58− Dict -> expr a <> expr b
55+ { expr = expr a <> expr b
59 , aggregator = aggregator a <|> aggregator b
56 , aggregator = aggregator a <|> aggregator b
60 , name = case (name a, symbolVal (Proxy @label)) of
57 , name = case (name a, symbolVal (Proxy @label)) of
61 (Name x, y)
58 (Name x, y)
@@ -98,7 +95,3 @@ fromExpr expr = (tempty @a @label) {expr}
99fromName :: forall a label. Taggable a => Name a -> Tag label a
96fromName :: forall a label. Taggable a => Name a -> Tag label a
100fromName name = (tempty @a @"") {name}
97fromName name = (tempty @a @"") {name}
103−dbSemigroupFromDBMonoid :: Dict DBMonoid a -> Dict DBSemigroup a
104−dbSemigroupFromDBMonoid Dict = Dict