Safe Haskell | None |
---|
Building RQL queries in Haskell
- data ReQL = ReQL {
- baseReQL :: State QuerySettings BaseReQL
- op :: (Arr a, Obj o) => TermType -> a -> o -> ReQL
- data BaseReQL = BaseReQL {
- termType :: TermType
- termDatum :: Maybe Datum
- termArgs :: BaseArray
- termOptArgs :: [BaseAttribute]
- data BaseAttribute = BaseAttribute Text BaseReQL
- buildQuery :: ReQL -> Int64 -> Database -> (Query, BaseReQL)
- type BaseArray = [BaseReQL]
- type Backtrace = [Frame]
- convertBacktrace :: Backtrace -> Backtrace
- class Expr e where
- data QuerySettings = QuerySettings {}
- newVarId :: State QuerySettings Int
- str :: String -> ReQL
- num :: Double -> ReQL
- data Attribute = forall e . Expr e => Text := e
- cons :: Expr e => e -> Array -> Array
- arr :: Arr a => a -> Array
- baseArray :: Array -> State QuerySettings BaseArray
- withQuerySettings :: (QuerySettings -> ReQL) -> ReQL
- data Object = Object {
- baseObject :: State QuerySettings [BaseAttribute]
- class Obj o where
- returnVals :: ReQL -> ReQL
- canReturnVals :: ReQL -> ReQL
- reqlToProtobuf :: ReQL -> Query
Documentation
An RQL term
ReQL | |
|
BaseReQL | |
|
Convert other types into ReqL expressions
Expr Bool | |
Expr Double | |
Expr Int | |
Expr Int64 | |
Expr Integer | |
Expr Rational | |
Expr () | |
Expr Text | |
Expr UTCTime | |
Expr Value | |
Expr ZonedTime | |
Expr Datum | |
Expr Table | |
Expr Database | |
Expr Object | |
Expr BaseReQL | |
Expr ReQL | |
Expr ZonedTime | |
Expr UTCTime | |
Expr a => Expr [a] | |
Expr x => Expr (Vector x) | |
Expr (ReQL -> ReQL -> ReQL) | |
Expr (ReQL -> ReQL) | |
Expr e => Expr (HashMap Text e) |
newVarId :: State QuerySettings IntSource
A shortcut for inserting strings into ReQL expressions Useful when OverloadedStrings makes the type ambiguous
A key/value pair used for building objects
baseArray :: Array -> State QuerySettings BaseArraySource
withQuerySettings :: (QuerySettings -> ReQL) -> ReQLSource
A list of key/value pairs
Object | |
|
Convert into a ReQL object
returnVals :: ReQL -> ReQLSource
Include the value of single write operations in the returned object
canReturnVals :: ReQL -> ReQLSource
reqlToProtobuf :: ReQL -> QuerySource