use a compatibility class
This commit is contained in:
parent
91ea0b0fca
commit
dbf53c31fb
@ -53,6 +53,11 @@ import qualified Data.ByteString as B
|
|||||||
import qualified Data.Text as T
|
import qualified Data.Text as T
|
||||||
import qualified Data.Text.Lazy as TL
|
import qualified Data.Text.Lazy as TL
|
||||||
|
|
||||||
|
class BackendCompatible sup sub
|
||||||
|
|
||||||
|
instance BackendCompatible SqlBackend SqlBackend
|
||||||
|
instance BackendCompatible SqlBackend SqlReadBackend
|
||||||
|
instance BackendCompatible SqlBackend SqlWriteBackend
|
||||||
|
|
||||||
-- | Finally tagless representation of @esqueleto@'s EDSL.
|
-- | Finally tagless representation of @esqueleto@'s EDSL.
|
||||||
class (Functor query, Applicative query, Monad query) =>
|
class (Functor query, Applicative query, Monad query) =>
|
||||||
@ -72,12 +77,12 @@ class (Functor query, Applicative query, Monad query) =>
|
|||||||
-- @JOIN@.
|
-- @JOIN@.
|
||||||
fromStart
|
fromStart
|
||||||
:: ( PersistEntity a
|
:: ( PersistEntity a
|
||||||
, PersistEntityBackend a ~ backend )
|
, BackendCompatible backend (PersistEntityBackend a) )
|
||||||
=> query (expr (PreprocessedFrom (expr (Entity a))))
|
=> query (expr (PreprocessedFrom (expr (Entity a))))
|
||||||
-- | (Internal) Same as 'fromStart', but entity may be missing.
|
-- | (Internal) Same as 'fromStart', but entity may be missing.
|
||||||
fromStartMaybe
|
fromStartMaybe
|
||||||
:: ( PersistEntity a
|
:: ( PersistEntity a
|
||||||
, PersistEntityBackend a ~ backend )
|
, BackendCompatible backend (PersistEntityBackend a) )
|
||||||
=> query (expr (PreprocessedFrom (expr (Maybe (Entity a)))))
|
=> query (expr (PreprocessedFrom (expr (Maybe (Entity a)))))
|
||||||
-- | (Internal) Do a @JOIN@.
|
-- | (Internal) Do a @JOIN@.
|
||||||
fromJoin
|
fromJoin
|
||||||
@ -1041,13 +1046,13 @@ class Esqueleto query expr backend => FromPreprocess query expr backend a where
|
|||||||
|
|
||||||
instance ( Esqueleto query expr backend
|
instance ( Esqueleto query expr backend
|
||||||
, PersistEntity val
|
, PersistEntity val
|
||||||
, PersistEntityBackend val ~ backend
|
, BackendCompatible backend (PersistEntityBackend val)
|
||||||
) => FromPreprocess query expr backend (expr (Entity val)) where
|
) => FromPreprocess query expr backend (expr (Entity val)) where
|
||||||
fromPreprocess = fromStart
|
fromPreprocess = fromStart
|
||||||
|
|
||||||
instance ( Esqueleto query expr backend
|
instance ( Esqueleto query expr backend
|
||||||
, PersistEntity val
|
, PersistEntity val
|
||||||
, PersistEntityBackend val ~ backend
|
, BackendCompatible backend (PersistEntityBackend val)
|
||||||
) => FromPreprocess query expr backend (expr (Maybe (Entity val))) where
|
) => FromPreprocess query expr backend (expr (Maybe (Entity val))) where
|
||||||
fromPreprocess = fromStartMaybe
|
fromPreprocess = fromStartMaybe
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user