Safe Haskell | None |
---|---|
Language | Haskell2010 |
- class IsQuery q where
- newtype Q db s a = Q {
- runQ :: State QueryBuilder a
- newtype TopLevelQ db s a = TopLevelQ (Q db s a)
- data QueryBuilder = QueryBuilder {
- qbNextTblRef :: Int
- qbFrom :: Maybe SQLFrom
- qbWhere :: QExpr Bool
- qbLimit :: Maybe Integer
- qbOffset :: Maybe Integer
- qbOrdering :: [SQLOrdering]
- qbGrouping :: Maybe SQLGrouping
- data QField = QField {
- qFieldTblName :: Text
- qFieldTblOrd :: Maybe Int
- qFieldName :: Text
- newtype QExpr t = QExpr (SQLExpr' QField)
- class Projectible a where
- tableVal :: Table tbl => tbl Identity -> tbl QExpr
Documentation
Q | |
|
data QueryBuilder Source
QueryBuilder | |
|
MonadState QueryBuilder (Q db s) Source |
QExpr type
QField | |
|
Eq (QExpr t) Source | |
Show (QExpr t) Source | |
Table t => Projectible (t QExpr) Source | |
Typeable * a => Projectible (QExpr a) Source | |
Table tbl => SqlValable (tbl QExpr) Source | |
Convertible a SqlValue => SqlValable (QExpr a) Source | |
Table tbl => SqlValable (PrimaryKey tbl QExpr) Source | |
type QExprToIdentity (table QExpr) = table Identity Source | |
type QExprToIdentity (QExpr a) = a Source | |
type HaskellLiteralForQExpr (table QExpr) = table Identity Source | |
type HaskellLiteralForQExpr (QExpr a) = a Source |
Sql Projections
class Projectible a where Source
Table t => Projectible (t QExpr) Source | |
Typeable * a => Projectible (QExpr a) Source | |
(Projectible a, Projectible b) => Projectible (a, b) Source | |
(Projectible a, Projectible b, Projectible c) => Projectible (a, b, c) Source | |
(Projectible a, Projectible b, Projectible c, Projectible d) => Projectible (a, b, c, d) Source | |
(Projectible a, Projectible b, Projectible c, Projectible d, Projectible e) => Projectible (a, b, c, d, e) Source |