on 00a36f5 help sign in
rel8/src/Rel8/Type/String.hs
37 lines 809 B history raw
1{-# language FlexibleInstances #-}
2{-# language StandaloneKindSignatures #-}
4module Rel8.Type.String
5 ( DBString
6 )
7where
9-- base
10import Data.Kind ( Constraint, Type )
11import Prelude ()
13-- bytestring
14import Data.ByteString ( ByteString )
15import qualified Data.ByteString.Lazy as Lazy ( ByteString )
17-- case-insensitive
18import Data.CaseInsensitive ( CI )
20-- rel8
21import Rel8.Type ( DBType )
23-- text
24import Data.Text ( Text )
25import qualified Data.Text.Lazy as Lazy ( Text )
28-- | The class of data types that support the @string_agg()@ aggregation
29-- function.
30type DBString :: Type -> Constraint
31class DBType a => DBString a
32instance DBString Text
33instance DBString Lazy.Text
34instance DBString (CI Text)
35instance DBString (CI Lazy.Text)
36instance DBString ByteString
37instance DBString Lazy.ByteString