1{-# language FlexibleContexts #-}
2{-# language FlexibleInstances #-}
3{-# language MultiParamTypeClasses #-}
4{-# language StandaloneKindSignatures #-}
5{-# language UndecidableInstances #-}
14import Data.Int ( Int16, Int32, Int64 )
15import Data.Kind ( Constraint, Type )
16import Data.List.NonEmpty ( NonEmpty )
20import Data.ByteString ( ByteString )
21import qualified Data.ByteString.Lazy as Lazy ( ByteString )
24import Data.CaseInsensitive ( CI )
27import Rel8.Opaque ( Opaque )
28import Rel8.Schema.Nullability ( Unnullify, Sql, HasNullability )
29import Rel8.Type.Eq ( DBEq )
32import Data.Scientific ( Scientific )
35import Data.Text ( Text )
36import qualified Data.Text.Lazy as Lazy ( Text )
39import Data.Time.Calendar ( Day )
40import Data.Time.Clock ( DiffTime, NominalDiffTime, UTCTime )
41import Data.Time.LocalTime ( TimeOfDay, LocalTime )
44import Data.UUID ( UUID )
47-- | The class of database types that support the @<@, @<=@, @>@ and @>=@
49type DBOrd :: Type -> Constraint
50class DBEq a => DBOrd a
58instance DBOrd Scientific
61instance DBOrd LocalTime
62instance DBOrd TimeOfDay
63instance DBOrd DiffTime
64instance DBOrd NominalDiffTime
66instance DBOrd Lazy.Text
67instance DBOrd (CI Text)
68instance DBOrd (CI Lazy.Text)
69instance DBOrd ByteString
70instance DBOrd Lazy.ByteString
72instance Sql DBOrd a => DBOrd [a]
73instance Sql DBOrd a => DBOrd (NonEmpty a)
74instance {-# OVERLAPPING #-} DBOrd Opaque
77instance {-# INCOHERENT #-} (HasNullability a, DBOrd (Unnullify a)) =>
81-- | The class of database types that support the @max@ aggregation function.
82type DBMax :: Type -> Constraint
83class DBOrd a => DBMax a
91instance DBMax Scientific
94instance DBMax LocalTime
95instance DBMax TimeOfDay
96instance DBMax DiffTime
97instance DBMax NominalDiffTime
99instance DBMax Lazy.Text
100instance DBMax (CI Text)
101instance DBMax (CI Lazy.Text)
102instance DBMax ByteString
103instance DBMax Lazy.ByteString
104instance Sql DBMax a => DBMax [a]
105instance Sql DBMax a => DBMax (NonEmpty a)
108instance {-# INCOHERENT #-} (HasNullability a, DBMax (Unnullify a)) =>
112-- | The class of database types that support the @min@ aggregation function.
113type DBMin :: Type -> Constraint
114class DBOrd a => DBMin a
122instance DBMin Scientific
123instance DBMin UTCTime
125instance DBMin LocalTime
126instance DBMin TimeOfDay
127instance DBMin DiffTime
128instance DBMin NominalDiffTime
130instance DBMin Lazy.Text
131instance DBMin (CI Text)
132instance DBMin (CI Lazy.Text)
133instance DBMin ByteString
134instance DBMin Lazy.ByteString
135instance Sql DBMin a => DBMin [a]
136instance Sql DBMin a => DBMin (NonEmpty a)
139instance {-# INCOHERENT #-} (HasNullability a, DBMin (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