groundhog-0.10.0: Type-safe datatype-database mapping library.

Safe HaskellNone
LanguageHaskell98

Database.Groundhog.Instances

Contents

Documentation

data family Selector v :: * -> * #

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

Defined in Database.Groundhog.Instances

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

Defined in Database.Groundhog.Instances

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

Defined in Database.Groundhog.Instances

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

Defined in Database.Groundhog.Instances

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

Orphan instances

ToJSON PersistValue # 
Instance details

FromJSON PersistValue # 
Instance details

PrimitivePersistField Bool # 
Instance details

PrimitivePersistField Double # 
Instance details

PrimitivePersistField Int # 
Instance details

PrimitivePersistField Int8 # 
Instance details

PrimitivePersistField Int16 # 
Instance details

PrimitivePersistField Int32 # 
Instance details

PrimitivePersistField Int64 # 
Instance details

PrimitivePersistField Word8 # 
Instance details

PrimitivePersistField Word16 # 
Instance details

PrimitivePersistField Word32 # 
Instance details

PrimitivePersistField Word64 # 
Instance details

PrimitivePersistField ByteString # 
Instance details

PrimitivePersistField ByteString # 
Instance details

PrimitivePersistField Text # 
Instance details

PrimitivePersistField UTCTime # 
Instance details

PrimitivePersistField Value # 
Instance details

PrimitivePersistField Text # 
Instance details

PrimitivePersistField String # 
Instance details

PrimitivePersistField ZonedTime # 
Instance details

PrimitivePersistField TimeOfDay # 
Instance details

PrimitivePersistField Day # 
Instance details

PurePersistField () # 
Instance details

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

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

PersistField Bool # 
Instance details

PersistField Double # 
Instance details

PersistField Int # 
Instance details

PersistField Int8 # 
Instance details

PersistField Int16 # 
Instance details

PersistField Int32 # 
Instance details

PersistField Int64 # 
Instance details

PersistField Word8 # 
Instance details

PersistField Word16 # 
Instance details

PersistField Word32 # 
Instance details

PersistField Word64 # 
Instance details

PersistField () # 
Instance details

Methods

persistName :: () -> String #

toPersistValues :: PersistBackend m => () -> m ([PersistValue] -> [PersistValue]) #

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

dbType :: DbDescriptor db => proxy db -> () -> DbType #

PersistField ByteString # 
Instance details

PersistField ByteString # 
Instance details

PersistField Text # 
Instance details

PersistField UTCTime # 
Instance details

PersistField Value # 
Instance details

PersistField Text # 
Instance details

PersistField String # 
Instance details

PersistField ZonedTime # 
Instance details

PersistField TimeOfDay # 
Instance details

PersistField Day # 
Instance details

NeverNull Bool # 
Instance details

NeverNull Double # 
Instance details

NeverNull Int # 
Instance details

NeverNull Int8 # 
Instance details

NeverNull Int16 # 
Instance details

NeverNull Int32 # 
Instance details

NeverNull Int64 # 
Instance details

NeverNull Word8 # 
Instance details

NeverNull Word16 # 
Instance details

NeverNull Word32 # 
Instance details

NeverNull Word64 # 
Instance details

NeverNull ByteString # 
Instance details

NeverNull ByteString # 
Instance details

NeverNull Text # 
Instance details

NeverNull UTCTime # 
Instance details

NeverNull Value # 
Instance details

NeverNull Text # 
Instance details

NeverNull String # 
Instance details

NeverNull ZonedTime # 
Instance details

NeverNull TimeOfDay # 
Instance details

NeverNull Day # 
Instance details

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

Methods

entityConstrNum :: proxy v -> c a -> Int #

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

PersistField a => PersistField [a] # 
Instance details

Methods

persistName :: [a] -> String #

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

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

dbType :: DbDescriptor db => proxy db -> [a] -> DbType #

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

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

Methods

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

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

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

Associated Types

type ProjectionDb (u (UniqueMarker v)) db :: Constraint #

type ProjectionRestriction (u (UniqueMarker v)) r :: Constraint #

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

Show (Key v u) => ToJSON (Key v u) # 
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) # 
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) # 
Instance details

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

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

Methods

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

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

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

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

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

NeverNull (KeyForBackend db v) # 
Instance details

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

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

Associated Types

data Selector (a', b') a :: Type #

Methods

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

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

Methods

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

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

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

Associated Types

type ProjectionDb (AutoKeyField v c) db :: Constraint #

type ProjectionRestriction (AutoKeyField v c) r :: Constraint #

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

Associated Types

type ProjectionDb (Cond db r) db :: Constraint #

type ProjectionRestriction (Cond db r) r :: Constraint #

Methods

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

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

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

Associated Types

type ProjectionDb (a1, a2) db :: Constraint #

type ProjectionRestriction (a1, a2) r :: Constraint #

Methods

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

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

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

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

Methods

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

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

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

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

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

Associated Types

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

Methods

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

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

Methods

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

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

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

Associated Types

type ProjectionDb (Expr db r a) db :: Constraint #

type ProjectionRestriction (Expr db r a) r :: Constraint #

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] #

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

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

Associated Types

type ProjectionDb (Field v c a) db :: Constraint #

type ProjectionRestriction (Field v c a) r :: Constraint #

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] #

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

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

Associated Types

type ProjectionDb (a1, a2, a3) db :: Constraint #

type ProjectionRestriction (a1, a2, a3) r :: Constraint #

Methods

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

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

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

Methods

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

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

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

Methods

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

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

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

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

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

Associated Types

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

Methods

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

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

Methods

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

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

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

Associated Types

type ProjectionDb (SubField db v c a) db :: Constraint #

type ProjectionRestriction (SubField db v c a) r :: Constraint #

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] #

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

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

Associated Types

type ProjectionDb (a1, a2, a3, a4) db :: Constraint #

type ProjectionRestriction (a1, a2, a3, a4) r :: Constraint #

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] #

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

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

Methods

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

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

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

Methods

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

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

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

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

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

Associated Types

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

Methods

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

(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') # 
Instance details

Associated Types

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

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

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] #

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