groundhog-0.12.0: Type-safe datatype-database mapping library.
Safe HaskellNone
LanguageHaskell2010

Database.Groundhog.Instances

Documentation

data family Selector v :: Type -> Type Source #

Instances

Instances details
data Selector (a', b') constr Source # 
Instance details

Defined in Database.Groundhog.Instances

data Selector (a', b') constr where
data Selector (a', b', c') constr Source # 
Instance details

Defined in Database.Groundhog.Instances

data Selector (a', b', c') constr where
data Selector (a', b', c', d') constr Source # 
Instance details

Defined in Database.Groundhog.Instances

data Selector (a', b', c', d') constr where
data Selector (a', b', c', d', e') constr Source # 
Instance details

Defined in Database.Groundhog.Instances

data Selector (a', b', c', d', e') constr where

Orphan instances

ToJSON PersistValue Source # 
Instance details

FromJSON PersistValue Source # 
Instance details

PrimitivePersistField Bool Source # 
Instance details

PrimitivePersistField Double Source # 
Instance details

PrimitivePersistField Int Source # 
Instance details

PrimitivePersistField Int8 Source # 
Instance details

PrimitivePersistField Int16 Source # 
Instance details

PrimitivePersistField Int32 Source # 
Instance details

PrimitivePersistField Int64 Source # 
Instance details

PrimitivePersistField Word8 Source # 
Instance details

PrimitivePersistField Word16 Source # 
Instance details

PrimitivePersistField Word32 Source # 
Instance details

PrimitivePersistField Word64 Source # 
Instance details

PrimitivePersistField String Source # 
Instance details

PrimitivePersistField ByteString Source # 
Instance details

PrimitivePersistField ByteString Source # 
Instance details

PrimitivePersistField UTCTime Source # 
Instance details

PrimitivePersistField Text Source # 
Instance details

PrimitivePersistField Value Source # 
Instance details

PrimitivePersistField Text Source # 
Instance details

PrimitivePersistField ZonedTime Source # 
Instance details

PrimitivePersistField TimeOfDay Source # 
Instance details

PrimitivePersistField Day Source # 
Instance details

PurePersistField () Source # 
Instance details

(PersistField a, PrimitivePersistField a) => PurePersistField a Source # 
Instance details

(PersistField a, PrimitivePersistField a) => SinglePersistField a Source # 
Instance details

PersistField Bool Source # 
Instance details

PersistField Double Source # 
Instance details

PersistField Int Source # 
Instance details

PersistField Int8 Source # 
Instance details

PersistField Int16 Source # 
Instance details

PersistField Int32 Source # 
Instance details

PersistField Int64 Source # 
Instance details

PersistField Word8 Source # 
Instance details

PersistField Word16 Source # 
Instance details

PersistField Word32 Source # 
Instance details

PersistField Word64 Source # 
Instance details

PersistField () Source # 
Instance details

PersistField String Source # 
Instance details

PersistField ByteString Source # 
Instance details

PersistField ByteString Source # 
Instance details

PersistField UTCTime Source # 
Instance details

PersistField Text Source # 
Instance details

PersistField Value Source # 
Instance details

PersistField Text Source # 
Instance details

PersistField ZonedTime Source # 
Instance details

PersistField TimeOfDay Source # 
Instance details

PersistField Day Source # 
Instance details

NeverNull Bool Source # 
Instance details

NeverNull Double Source # 
Instance details

NeverNull Int Source # 
Instance details

NeverNull Int8 Source # 
Instance details

NeverNull Int16 Source # 
Instance details

NeverNull Int32 Source # 
Instance details

NeverNull Int64 Source # 
Instance details

NeverNull Word8 Source # 
Instance details

NeverNull Word16 Source # 
Instance details

NeverNull Word32 Source # 
Instance details

NeverNull Word64 Source # 
Instance details

NeverNull String Source # 
Instance details

NeverNull ByteString Source # 
Instance details

NeverNull ByteString Source # 
Instance details

NeverNull UTCTime Source # 
Instance details

NeverNull Text Source # 
Instance details

NeverNull Value Source # 
Instance details

NeverNull Text Source # 
Instance details

NeverNull ZonedTime Source # 
Instance details

NeverNull TimeOfDay Source # 
Instance details

NeverNull Day Source # 
Instance details

(PersistEntity v, EntityConstr' (IsSumType v) c) => EntityConstr v c Source # 
Instance details

Methods

entityConstrNum :: forall proxy (a :: Type -> Type). proxy v -> c a -> Int Source #

(PrimitivePersistField a, NeverNull a) => PrimitivePersistField (Maybe a) Source # 
Instance details

PersistField a => PersistField [a] Source # 
Instance details

(PersistField a, NeverNull a) => PersistField (Maybe a) Source # 
Instance details

(PersistEntity v, IsUniqueKey k, k ~ Key v (Unique u)) => FieldLike (u (UniqueMarker v)) k Source # 
Instance details

Methods

fieldChain :: (DbDescriptor db, ProjectionDb (u (UniqueMarker v)) db) => proxy db -> u (UniqueMarker v) -> FieldChain Source #

(PersistEntity v, IsUniqueKey k, k ~ Key v (Unique u)) => Assignable (u (UniqueMarker v)) k Source # 
Instance details

(PersistEntity v, IsUniqueKey k, k ~ Key v (Unique u)) => Projection (u (UniqueMarker v)) k Source # 
Instance details

Associated Types

type ProjectionDb (u (UniqueMarker v)) db Source #

type ProjectionRestriction (u (UniqueMarker v)) r Source #

EntityConstr v c => Projection (c (ConstructorMarker v)) v Source # 
Instance details

Show (Key v u) => ToJSON (Key v u) Source # 
Instance details

Methods

toJSON :: Key v u -> Value #

toEncoding :: Key v u -> Encoding #

toJSONList :: [Key v u] -> Value #

toEncodingList :: [Key v u] -> Encoding #

Read (Key v u) => FromJSON (Key v u) Source # 
Instance details

Methods

parseJSON :: Value -> Parser (Key v u) #

parseJSONList :: Value -> Parser [Key v u] #

(DbDescriptor db, PersistEntity v, PersistField v) => PrimitivePersistField (KeyForBackend db v) Source # 
Instance details

(PurePersistField a, PurePersistField b) => PurePersistField (a, b) Source # 
Instance details

(PersistField a, PersistField b) => PersistField (a, b) Source # 
Instance details

Methods

persistName :: (a, b) -> String Source #

toPersistValues :: PersistBackend m => (a, b) -> m ([PersistValue] -> [PersistValue]) Source #

fromPersistValues :: PersistBackend m => [PersistValue] -> m ((a, b), [PersistValue]) Source #

dbType :: DbDescriptor db => proxy db -> (a, b) -> DbType Source #

(DbDescriptor db, PersistEntity v, PersistField v) => PersistField (KeyForBackend db v) Source # 
Instance details

NeverNull (KeyForBackend db v) Source # 
Instance details

PrimitivePersistField (Key v u) => NeverNull (Key v u) Source # 
Instance details

(PersistField a', PersistField b') => Embedded (a', b') Source # 
Instance details

Associated Types

data Selector (a', b') :: Type -> Type Source #

Methods

selectorNum :: Selector (a', b') a -> Int Source #

(EntityConstr v c, a ~ AutoKey v) => FieldLike (AutoKeyField v c) a Source # 
Instance details

Methods

fieldChain :: (DbDescriptor db, ProjectionDb (AutoKeyField v c) db) => proxy db -> AutoKeyField v c -> FieldChain Source #

(EntityConstr v c, a ~ AutoKey v) => Assignable (AutoKeyField v c) a Source # 
Instance details

(EntityConstr v c, a ~ AutoKey v) => Projection (AutoKeyField v c) a Source # 
Instance details

Associated Types

type ProjectionDb (AutoKeyField v c) db Source #

type ProjectionRestriction (AutoKeyField v c) r Source #

a ~ Bool => Projection (Cond db r) a Source # 
Instance details

Associated Types

type ProjectionDb (Cond db r) db Source #

type ProjectionRestriction (Cond db r) r Source #

Methods

projectionExprs :: (DbDescriptor db0, ProjectionDb (Cond db r) db0, ProjectionRestriction (Cond db r) r0) => Cond db r -> [UntypedExpr db0 r0] -> [UntypedExpr db0 r0] Source #

projectionResult :: PersistBackend m => Cond db r -> [PersistValue] -> m (a, [PersistValue]) Source #

(Projection a1 a1', Projection a2 a2') => Projection (a1, a2) (a1', a2') Source # 
Instance details

Associated Types

type ProjectionDb (a1, a2) db Source #

type ProjectionRestriction (a1, a2) r Source #

Methods

projectionExprs :: (DbDescriptor db, ProjectionDb (a1, a2) db, ProjectionRestriction (a1, a2) r) => (a1, a2) -> [UntypedExpr db r] -> [UntypedExpr db r] Source #

projectionResult :: PersistBackend m => (a1, a2) -> [PersistValue] -> m ((a1', a2'), [PersistValue]) Source #

(PurePersistField a, PurePersistField b, PurePersistField c) => PurePersistField (a, b, c) Source # 
Instance details

(PersistField a, PersistField b, PersistField c) => PersistField (a, b, c) Source # 
Instance details

Methods

persistName :: (a, b, c) -> String Source #

toPersistValues :: PersistBackend m => (a, b, c) -> m ([PersistValue] -> [PersistValue]) Source #

fromPersistValues :: PersistBackend m => [PersistValue] -> m ((a, b, c), [PersistValue]) Source #

dbType :: DbDescriptor db => proxy db -> (a, b, c) -> DbType Source #

(PersistField a', PersistField b', PersistField c') => Embedded (a', b', c') Source # 
Instance details

Associated Types

data Selector (a', b', c') :: Type -> Type Source #

Methods

selectorNum :: Selector (a', b', c') a -> Int Source #

(EntityConstr v c, PersistField a) => FieldLike (Field v c a) a Source # 
Instance details

Methods

fieldChain :: (DbDescriptor db, ProjectionDb (Field v c a) db) => proxy db -> Field v c a -> FieldChain Source #

(EntityConstr v c, PersistField a) => Assignable (Field v c a) a Source # 
Instance details

PersistField a => Projection (Expr db r a) a Source # 
Instance details

Associated Types

type ProjectionDb (Expr db r a) db Source #

type ProjectionRestriction (Expr db r a) r Source #

Methods

projectionExprs :: (DbDescriptor db0, ProjectionDb (Expr db r a) db0, ProjectionRestriction (Expr db r a) r0) => Expr db r a -> [UntypedExpr db0 r0] -> [UntypedExpr db0 r0] Source #

projectionResult :: PersistBackend m => Expr db r a -> [PersistValue] -> m (a, [PersistValue]) Source #

(EntityConstr v c, PersistField a) => Projection (Field v c a) a Source # 
Instance details

Associated Types

type ProjectionDb (Field v c a) db Source #

type ProjectionRestriction (Field v c a) r Source #

Methods

projectionExprs :: (DbDescriptor db, ProjectionDb (Field v c a) db, ProjectionRestriction (Field v c a) r) => Field v c a -> [UntypedExpr db r] -> [UntypedExpr db r] Source #

projectionResult :: PersistBackend m => Field v c a -> [PersistValue] -> m (a, [PersistValue]) Source #

(Projection a1 a1', Projection a2 a2', Projection a3 a3') => Projection (a1, a2, a3) (a1', a2', a3') Source # 
Instance details

Associated Types

type ProjectionDb (a1, a2, a3) db Source #

type ProjectionRestriction (a1, a2, a3) r Source #

Methods

projectionExprs :: (DbDescriptor db, ProjectionDb (a1, a2, a3) db, ProjectionRestriction (a1, a2, a3) r) => (a1, a2, a3) -> [UntypedExpr db r] -> [UntypedExpr db r] Source #

projectionResult :: PersistBackend m => (a1, a2, a3) -> [PersistValue] -> m ((a1', a2', a3'), [PersistValue]) Source #

(PurePersistField a, PurePersistField b, PurePersistField c, PurePersistField d) => PurePersistField (a, b, c, d) Source # 
Instance details

(PersistField a, PersistField b, PersistField c, PersistField d) => PersistField (a, b, c, d) Source # 
Instance details

Methods

persistName :: (a, b, c, d) -> String Source #

toPersistValues :: PersistBackend m => (a, b, c, d) -> m ([PersistValue] -> [PersistValue]) Source #

fromPersistValues :: PersistBackend m => [PersistValue] -> m ((a, b, c, d), [PersistValue]) Source #

dbType :: DbDescriptor db => proxy db -> (a, b, c, d) -> DbType Source #

(PersistField a', PersistField b', PersistField c', PersistField d') => Embedded (a', b', c', d') Source # 
Instance details

Associated Types

data Selector (a', b', c', d') :: Type -> Type Source #

Methods

selectorNum :: Selector (a', b', c', d') a -> Int Source #

(EntityConstr v c, PersistField a) => FieldLike (SubField db v c a) a Source # 
Instance details

Methods

fieldChain :: (DbDescriptor db0, ProjectionDb (SubField db v c a) db0) => proxy db0 -> SubField db v c a -> FieldChain Source #

(EntityConstr v c, PersistField a) => Assignable (SubField db v c a) a Source # 
Instance details

(EntityConstr v c, PersistField a) => Projection (SubField db v c a) a Source # 
Instance details

Associated Types

type ProjectionDb (SubField db v c a) db Source #

type ProjectionRestriction (SubField db v c a) r Source #

Methods

projectionExprs :: (DbDescriptor db0, ProjectionDb (SubField db v c a) db0, ProjectionRestriction (SubField db v c a) r) => SubField db v c a -> [UntypedExpr db0 r] -> [UntypedExpr db0 r] Source #

projectionResult :: PersistBackend m => SubField db v c a -> [PersistValue] -> m (a, [PersistValue]) Source #

(Projection a1 a1', Projection a2 a2', Projection a3 a3', Projection a4 a4') => Projection (a1, a2, a3, a4) (a1', a2', a3', a4') Source # 
Instance details

Associated Types

type ProjectionDb (a1, a2, a3, a4) db Source #

type ProjectionRestriction (a1, a2, a3, a4) r Source #

Methods

projectionExprs :: (DbDescriptor db, ProjectionDb (a1, a2, a3, a4) db, ProjectionRestriction (a1, a2, a3, a4) r) => (a1, a2, a3, a4) -> [UntypedExpr db r] -> [UntypedExpr db r] Source #

projectionResult :: PersistBackend m => (a1, a2, a3, a4) -> [PersistValue] -> m ((a1', a2', a3', a4'), [PersistValue]) Source #

(PurePersistField a, PurePersistField b, PurePersistField c, PurePersistField d, PurePersistField e) => PurePersistField (a, b, c, d, e) Source # 
Instance details

Methods

toPurePersistValues :: (a, b, c, d, e) -> [PersistValue] -> [PersistValue] Source #

fromPurePersistValues :: [PersistValue] -> ((a, b, c, d, e), [PersistValue]) Source #

(PersistField a, PersistField b, PersistField c, PersistField d, PersistField e) => PersistField (a, b, c, d, e) Source # 
Instance details

Methods

persistName :: (a, b, c, d, e) -> String Source #

toPersistValues :: PersistBackend m => (a, b, c, d, e) -> m ([PersistValue] -> [PersistValue]) Source #

fromPersistValues :: PersistBackend m => [PersistValue] -> m ((a, b, c, d, e), [PersistValue]) Source #

dbType :: DbDescriptor db => proxy db -> (a, b, c, d, e) -> DbType Source #

(PersistField a', PersistField b', PersistField c', PersistField d', PersistField e') => Embedded (a', b', c', d', e') Source # 
Instance details

Associated Types

data Selector (a', b', c', d', e') :: Type -> Type Source #

Methods

selectorNum :: Selector (a', b', c', d', e') a -> Int Source #

(Projection a1 a1', Projection a2 a2', Projection a3 a3', Projection a4 a4', Projection a5 a5') => Projection (a1, a2, a3, a4, a5) (a1', a2', a3', a4', a5') Source # 
Instance details

Associated Types

type ProjectionDb (a1, a2, a3, a4, a5) db Source #

type ProjectionRestriction (a1, a2, a3, a4, a5) r Source #

Methods

projectionExprs :: (DbDescriptor db, ProjectionDb (a1, a2, a3, a4, a5) db, ProjectionRestriction (a1, a2, a3, a4, a5) r) => (a1, a2, a3, a4, a5) -> [UntypedExpr db r] -> [UntypedExpr db r] Source #

projectionResult :: PersistBackend m => (a1, a2, a3, a4, a5) -> [PersistValue] -> m ((a1', a2', a3', a4', a5'), [PersistValue]) Source #