Cleanup ToAliasRefernce; Add isReference meta to value reference even though that info isnt currently used anywhere
This commit is contained in:
parent
2d09ae1fe8
commit
01407d256b
@ -5,7 +5,7 @@
|
|||||||
module Database.Esqueleto.Experimental.ToAliasReference
|
module Database.Esqueleto.Experimental.ToAliasReference
|
||||||
where
|
where
|
||||||
|
|
||||||
import Database.Esqueleto.Experimental.ToAlias
|
import Data.Coerce
|
||||||
import Database.Esqueleto.Internal.Internal hiding (From, from, on)
|
import Database.Esqueleto.Internal.Internal hiding (From, from, on)
|
||||||
import Database.Esqueleto.Internal.PersistentImport
|
import Database.Esqueleto.Internal.PersistentImport
|
||||||
|
|
||||||
@ -18,7 +18,7 @@ class ToAliasReference a where
|
|||||||
|
|
||||||
instance ToAliasReference (SqlExpr (Value a)) where
|
instance ToAliasReference (SqlExpr (Value a)) where
|
||||||
toAliasReference aliasSource (ERaw m _)
|
toAliasReference aliasSource (ERaw m _)
|
||||||
| Just alias <- sqlExprMetaAlias m = pure $ ERaw m $ \_ info ->
|
| Just alias <- sqlExprMetaAlias m = pure $ ERaw m{sqlExprMetaIsReference = True} $ \_ info ->
|
||||||
(useIdent info aliasSource <> "." <> useIdent info alias, [])
|
(useIdent info aliasSource <> "." <> useIdent info alias, [])
|
||||||
toAliasReference _ e = pure e
|
toAliasReference _ e = pure e
|
||||||
|
|
||||||
@ -30,12 +30,8 @@ instance ToAliasReference (SqlExpr (Entity a)) where
|
|||||||
toAliasReference _ e = pure e
|
toAliasReference _ e = pure e
|
||||||
|
|
||||||
instance ToAliasReference (SqlExpr (Maybe (Entity a))) where
|
instance ToAliasReference (SqlExpr (Maybe (Entity a))) where
|
||||||
-- FIXME: Code duplication because the compiler doesnt like half final encoding
|
toAliasReference aliasSource e =
|
||||||
toAliasReference aliasSource (ERaw m _)
|
coerce <$> toAliasReference aliasSource (coerce e :: SqlExpr (Entity a))
|
||||||
| Just _ <- sqlExprMetaAlias m, False <- sqlExprMetaIsReference m =
|
|
||||||
pure $ ERaw m{sqlExprMetaIsReference = True} $ \_ info ->
|
|
||||||
(useIdent info aliasSource, [])
|
|
||||||
toAliasReference s e = pure e
|
|
||||||
|
|
||||||
|
|
||||||
instance (ToAliasReference a, ToAliasReference b) => ToAliasReference (a, b) where
|
instance (ToAliasReference a, ToAliasReference b) => ToAliasReference (a, b) where
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user