From 01407d256bd00223bd78a0fd49fab40730b08b82 Mon Sep 17 00:00:00 2001 From: belevy Date: Wed, 20 Jan 2021 21:35:56 -0600 Subject: [PATCH] Cleanup ToAliasRefernce; Add isReference meta to value reference even though that info isnt currently used anywhere --- .../Esqueleto/Experimental/ToAliasReference.hs | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/src/Database/Esqueleto/Experimental/ToAliasReference.hs b/src/Database/Esqueleto/Experimental/ToAliasReference.hs index c3f2d11..72ac475 100644 --- a/src/Database/Esqueleto/Experimental/ToAliasReference.hs +++ b/src/Database/Esqueleto/Experimental/ToAliasReference.hs @@ -5,7 +5,7 @@ module Database.Esqueleto.Experimental.ToAliasReference where -import Database.Esqueleto.Experimental.ToAlias +import Data.Coerce import Database.Esqueleto.Internal.Internal hiding (From, from, on) import Database.Esqueleto.Internal.PersistentImport @@ -18,7 +18,7 @@ class ToAliasReference a where instance ToAliasReference (SqlExpr (Value a)) where 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, []) toAliasReference _ e = pure e @@ -30,12 +30,8 @@ instance ToAliasReference (SqlExpr (Entity a)) where toAliasReference _ e = pure e instance ToAliasReference (SqlExpr (Maybe (Entity a))) where - -- FIXME: Code duplication because the compiler doesnt like half final encoding - toAliasReference aliasSource (ERaw m _) - | Just _ <- sqlExprMetaAlias m, False <- sqlExprMetaIsReference m = - pure $ ERaw m{sqlExprMetaIsReference = True} $ \_ info -> - (useIdent info aliasSource, []) - toAliasReference s e = pure e + toAliasReference aliasSource e = + coerce <$> toAliasReference aliasSource (coerce e :: SqlExpr (Entity a)) instance (ToAliasReference a, ToAliasReference b) => ToAliasReference (a, b) where