on dev help sign in
alias labels
commit1f40b4d9220c63997c5b3ad6c324425242e66b3e authorEitan Chatav <eitan.chatav@gmail.com> dateSat 22 Apr 2017, 10:03 (10 years ago) parent35fe7cc
1 file changed+6−8
squeel-postgresql/src/Squeel/PostgreSQL/Query.hs+6−8
squeel-postgresql/src/Squeel/PostgreSQL/Query.hs+6−8
@@ -61,14 +61,16 @@ data Alias label = Alias
6161data Aliased obj labeled where
6262 As :: obj x -> Alias label -> Aliased obj '(label, x)
6363instance IsLabel label (Alias label) where fromLabel _ = Alias
64+instance IsLabel label (obj x)
65+ => IsLabel label (Aliased obj '(label, x)) where
66+ fromLabel p = fromLabel p `As` fromLabel p
67+
68+alias :: Aliased obj '(label, x) -> Alias label
69+alias _ = Alias
6470
6571unalias :: Aliased obj '(label, x) -> obj x
6672unalias (obj `As` _) = obj
6773
68−instance HasField label xs x =>
69− IsLabel label (Aliased (Expression ps xs) '(label, x)) where
70− fromLabel p = fromLabel p `As` fromLabel p
71−
7274renderAliased
7375 :: KnownSymbol label
7476 => (obj x -> ByteString)
@@ -153,10 +155,6 @@ instance HasField label xss xs
153155 fromLabel _ = UnsafeRelation $
154156 fieldName (Proxy @label) (Proxy @xss) (Proxy @xs)
155157
156−instance HasField label xss xs
157− => IsLabel label (Aliased (Relation ps xss) '(label, xs)) where
158− fromLabel p = fromLabel p `As` fromLabel p
159−
160158data Selection ps xss xs ys = Selection
161159 { projection :: Projection ps xs ys
162160 , relation :: Relation ps xss xs