1{-# language FlexibleContexts #-}
2{-# language FlexibleInstances #-}
3{-# language MultiParamTypeClasses #-}
4{-# language StandaloneKindSignatures #-}
5{-# language UndecidableInstances #-}
13import Data.Kind ( Constraint, Type )
17import Data.ByteString ( ByteString )
18import qualified Data.ByteString.Lazy as Lazy ( ByteString )
21import Data.CaseInsensitive ( CI )
24import Rel8.Schema.Nullability ( HasNullability, Unnullify, Sql )
25import Rel8.Type ( DBType )
28import Data.Text ( Text )
29import qualified Data.Text.Lazy as Lazy ( Text )
32-- | The class of data types that support the @string_agg()@ aggregation
34type DBString :: Type -> Constraint
35class DBType a => DBString a
37instance DBString Lazy.Text
38instance DBString (CI Text)
39instance DBString (CI Lazy.Text)
40instance DBString ByteString
41instance DBString Lazy.ByteString
44instance {-# INCOHERENT #-} (HasNullability a, DBString (Unnullify a)) =>
keysesc to close
- j k
- move down, up
- enter
- open
- esc
- back, or up a level
- 1 2 3 4
- readme, files, commits, refs
- /
- filter
- y
- copy the clone command
- c
- compare the chosen commit with another (or shift-click both)
- ?
- show or hide this list