rethinkdb-2.2.0.6: A driver for RethinkDB 2.2

Safe HaskellNone
LanguageHaskell98

Database.RethinkDB.ReQL

Description

Building RQL queries in Haskell

Synopsis

Documentation

data ReQL Source #

A ReQL Term

Constructors

ReQL 

Instances

Floating ReQL Source # 

Methods

pi :: ReQL #

exp :: ReQL -> ReQL #

log :: ReQL -> ReQL #

sqrt :: ReQL -> ReQL #

(**) :: ReQL -> ReQL -> ReQL #

logBase :: ReQL -> ReQL -> ReQL #

sin :: ReQL -> ReQL #

cos :: ReQL -> ReQL #

tan :: ReQL -> ReQL #

asin :: ReQL -> ReQL #

acos :: ReQL -> ReQL #

atan :: ReQL -> ReQL #

sinh :: ReQL -> ReQL #

cosh :: ReQL -> ReQL #

tanh :: ReQL -> ReQL #

asinh :: ReQL -> ReQL #

acosh :: ReQL -> ReQL #

atanh :: ReQL -> ReQL #

log1p :: ReQL -> ReQL #

expm1 :: ReQL -> ReQL #

log1pexp :: ReQL -> ReQL #

log1mexp :: ReQL -> ReQL #

Fractional ReQL Source # 

Methods

(/) :: ReQL -> ReQL -> ReQL #

recip :: ReQL -> ReQL #

fromRational :: Rational -> ReQL #

Num ReQL Source # 

Methods

(+) :: ReQL -> ReQL -> ReQL #

(-) :: ReQL -> ReQL -> ReQL #

(*) :: ReQL -> ReQL -> ReQL #

negate :: ReQL -> ReQL #

abs :: ReQL -> ReQL #

signum :: ReQL -> ReQL #

fromInteger :: Integer -> ReQL #

Show ReQL Source # 

Methods

showsPrec :: Int -> ReQL -> ShowS #

show :: ReQL -> String #

showList :: [ReQL] -> ShowS #

IsString ReQL Source # 

Methods

fromString :: String -> ReQL #

Expr ReQL Source # 

Methods

expr :: ReQL -> ReQL Source #

exprList :: [ReQL] -> ReQL Source #

OptArgs ReQL Source # 

Methods

ex :: ReQL -> [Attribute Static] -> ReQL Source #

((~) * a ReQL, (~) * b ReQL, (~) * c ReQL, (~) * d ReQL, (~) * e ReQL) => Expr (a -> b -> c -> d -> e -> ReQL) Source # 

Methods

expr :: (a -> b -> c -> d -> e -> ReQL) -> ReQL Source #

exprList :: [a -> b -> c -> d -> e -> ReQL] -> ReQL Source #

((~) * a ReQL, (~) * b ReQL, (~) * c ReQL, (~) * d ReQL) => Expr (a -> b -> c -> d -> ReQL) Source # 

Methods

expr :: (a -> b -> c -> d -> ReQL) -> ReQL Source #

exprList :: [a -> b -> c -> d -> ReQL] -> ReQL Source #

((~) * a ReQL, (~) * b ReQL, (~) * c ReQL) => Expr (a -> b -> c -> ReQL) Source # 

Methods

expr :: (a -> b -> c -> ReQL) -> ReQL Source #

exprList :: [a -> b -> c -> ReQL] -> ReQL Source #

((~) * a ReQL, (~) * b ReQL) => Expr (a -> b -> ReQL) Source # 

Methods

expr :: (a -> b -> ReQL) -> ReQL Source #

exprList :: [a -> b -> ReQL] -> ReQL Source #

(~) * a ReQL => Expr (a -> ReQL) Source # 

Methods

expr :: (a -> ReQL) -> ReQL Source #

exprList :: [a -> ReQL] -> ReQL Source #

op :: Arr a => TermType -> a -> ReQL Source #

Build a term with no optargs

op' :: Arr a => TermType -> a -> [Attribute Static] -> ReQL Source #

Build a term

data Term Source #

Internal representation of a ReQL Term

Constructors

Term 
Datum 

Fields

Note 

Fields

Instances

Eq Term Source # 

Methods

(==) :: Term -> Term -> Bool #

(/=) :: Term -> Term -> Bool #

Show Term Source # 

Methods

showsPrec :: Int -> Term -> ShowS #

show :: Term -> String #

showList :: [Term] -> ShowS #

Expr Term Source # 

Methods

expr :: Term -> ReQL Source #

exprList :: [Term] -> ReQL Source #

class Expr e where Source #

Convert other types into ReQL expressions

Methods

expr :: e -> ReQL Source #

expr :: ToDatum e => e -> ReQL Source #

exprList :: [e] -> ReQL Source #

Instances

Expr Bool Source # 

Methods

expr :: Bool -> ReQL Source #

exprList :: [Bool] -> ReQL Source #

Expr Char Source # 

Methods

expr :: Char -> ReQL Source #

exprList :: [Char] -> ReQL Source #

Expr Double Source # 
Expr Float Source # 
Expr Int Source # 

Methods

expr :: Int -> ReQL Source #

exprList :: [Int] -> ReQL Source #

Expr Int8 Source # 

Methods

expr :: Int8 -> ReQL Source #

exprList :: [Int8] -> ReQL Source #

Expr Int16 Source # 
Expr Int32 Source # 
Expr Int64 Source # 
Expr Integer Source # 
Expr Word Source # 

Methods

expr :: Word -> ReQL Source #

exprList :: [Word] -> ReQL Source #

Expr Word8 Source # 
Expr Word16 Source # 
Expr Word32 Source # 
Expr Word64 Source # 
Expr () Source # 

Methods

expr :: () -> ReQL Source #

exprList :: [()] -> ReQL Source #

Expr ByteString Source # 
Expr ByteString Source # 
Expr Text Source # 

Methods

expr :: Text -> ReQL Source #

exprList :: [Text] -> ReQL Source #

Expr UTCTime Source # 
Expr Value Source # 
Expr Text Source # 

Methods

expr :: Text -> ReQL Source #

exprList :: [Text] -> ReQL Source #

Expr ZonedTime Source # 
Expr LonLat Source # 
Expr Datum Source # 
Expr Table Source # 
Expr Database Source # 
Expr ReQL Source # 

Methods

expr :: ReQL -> ReQL Source #

exprList :: [ReQL] -> ReQL Source #

Expr Term Source # 

Methods

expr :: Term -> ReQL Source #

exprList :: [Term] -> ReQL Source #

Expr Unit Source # 

Methods

expr :: Unit -> ReQL Source #

exprList :: [Unit] -> ReQL Source #

Expr ConflictResolution Source # 
Expr Durability Source # 
Expr PaginationStrategy Source # 
Expr HttpMethod Source # 
Expr HttpResultFormat Source # 
Expr a => Expr [a] Source # 

Methods

expr :: [a] -> ReQL Source #

exprList :: [[a]] -> ReQL Source #

Expr a => Expr (Maybe a) Source # 

Methods

expr :: Maybe a -> ReQL Source #

exprList :: [Maybe a] -> ReQL Source #

Expr (Ratio Integer) Source # 
Expr a => Expr (Set a) Source # 

Methods

expr :: Set a -> ReQL Source #

exprList :: [Set a] -> ReQL Source #

Expr a => Expr (Vector a) Source # 

Methods

expr :: Vector a -> ReQL Source #

exprList :: [Vector a] -> ReQL Source #

Expr a => Expr (Bound a) Source # 

Methods

expr :: Bound a -> ReQL Source #

exprList :: [Bound a] -> ReQL Source #

Expr (Attribute a) Source # 
((~) * a ReQL, (~) * b ReQL, (~) * c ReQL, (~) * d ReQL, (~) * e ReQL) => Expr (a -> b -> c -> d -> e -> ReQL) Source # 

Methods

expr :: (a -> b -> c -> d -> e -> ReQL) -> ReQL Source #

exprList :: [a -> b -> c -> d -> e -> ReQL] -> ReQL Source #

((~) * a ReQL, (~) * b ReQL, (~) * c ReQL, (~) * d ReQL) => Expr (a -> b -> c -> d -> ReQL) Source # 

Methods

expr :: (a -> b -> c -> d -> ReQL) -> ReQL Source #

exprList :: [a -> b -> c -> d -> ReQL] -> ReQL Source #

((~) * a ReQL, (~) * b ReQL, (~) * c ReQL) => Expr (a -> b -> c -> ReQL) Source # 

Methods

expr :: (a -> b -> c -> ReQL) -> ReQL Source #

exprList :: [a -> b -> c -> ReQL] -> ReQL Source #

((~) * a ReQL, (~) * b ReQL) => Expr (a -> b -> ReQL) Source # 

Methods

expr :: (a -> b -> ReQL) -> ReQL Source #

exprList :: [a -> b -> ReQL] -> ReQL Source #

(~) * a ReQL => Expr (a -> ReQL) Source # 

Methods

expr :: (a -> ReQL) -> ReQL Source #

exprList :: [a -> ReQL] -> ReQL Source #

(Expr a, Expr b) => Expr (Either a b) Source # 

Methods

expr :: Either a b -> ReQL Source #

exprList :: [Either a b] -> ReQL Source #

(Expr a, Expr b) => Expr (a, b) Source # 

Methods

expr :: (a, b) -> ReQL Source #

exprList :: [(a, b)] -> ReQL Source #

Expr a => Expr (HashMap [Char] a) Source # 

Methods

expr :: HashMap [Char] a -> ReQL Source #

exprList :: [HashMap [Char] a] -> ReQL Source #

(Expr k, Expr v) => Expr (HashMap k v) Source # 

Methods

expr :: HashMap k v -> ReQL Source #

exprList :: [HashMap k v] -> ReQL Source #

Expr a => Expr (HashMap Text a) Source # 
Expr a => Expr (Map [Char] a) Source # 

Methods

expr :: Map [Char] a -> ReQL Source #

exprList :: [Map [Char] a] -> ReQL Source #

Expr a => Expr (Map Text a) Source # 

Methods

expr :: Map Text a -> ReQL Source #

exprList :: [Map Text a] -> ReQL Source #

(Expr a, Expr b, Expr c) => Expr (a, b, c) Source # 

Methods

expr :: (a, b, c) -> ReQL Source #

exprList :: [(a, b, c)] -> ReQL Source #

(Expr a, Expr b, Expr c, Expr d) => Expr (a, b, c, d) Source # 

Methods

expr :: (a, b, c, d) -> ReQL Source #

exprList :: [(a, b, c, d)] -> ReQL Source #

(Expr a, Expr b, Expr c, Expr d, Expr e) => Expr (a, b, c, d, e) Source # 

Methods

expr :: (a, b, c, d, e) -> ReQL Source #

exprList :: [(a, b, c, d, e)] -> ReQL Source #

str :: String -> ReQL Source #

A shortcut for inserting strings into ReQL expressions Useful when OverloadedStrings makes the type ambiguous

num :: Double -> ReQL Source #

A shortcut for inserting numbers into ReQL expressions

data Attribute a where Source #

A key/value pair used for building objects

Constructors

(:=) :: Expr e => Text -> e -> Attribute a infix 0 
(::=) :: (Expr k, Expr v) => k -> v -> Attribute Dynamic 
NoAttribute :: Attribute a 

Instances

class OptArgs a where Source #

An operation that accepts optional arguments

Minimal complete definition

ex

Methods

ex :: a -> [Attribute Static] -> a Source #

Extend an operation with optional arguments

Instances

OptArgs ReQL Source # 

Methods

ex :: ReQL -> [Attribute Static] -> ReQL Source #

OptArgs b => OptArgs (a -> b) Source # 

Methods

ex :: (a -> b) -> [Attribute Static] -> a -> b Source #

cons :: Expr e => e -> ArgList -> ArgList Source #

data Bound a Source #

An upper or lower bound for between and during

Constructors

Open

An inclusive bound

Fields

Closed

An exclusive bound

Fields

DefaultBound 

Fields

MinVal 
MaxVal 

Instances

Functor Bound Source # 

Methods

fmap :: (a -> b) -> Bound a -> Bound b #

(<$) :: a -> Bound b -> Bound a #

Num a => Num (Bound a) Source # 

Methods

(+) :: Bound a -> Bound a -> Bound a #

(-) :: Bound a -> Bound a -> Bound a #

(*) :: Bound a -> Bound a -> Bound a #

negate :: Bound a -> Bound a #

abs :: Bound a -> Bound a #

signum :: Bound a -> Bound a #

fromInteger :: Integer -> Bound a #

Expr a => Expr (Bound a) Source # 

Methods

expr :: Bound a -> ReQL Source #

exprList :: [Bound a] -> ReQL Source #

empty :: ReQL Source #

An empty object

newtype WireQuery Source #

Constructors

WireQuery 

Fields

newtype WireBacktrace Source #

Constructors

WireBacktrace 

Fields

note :: String -> ReQL -> ReQL Source #

Add a note a a ReQL Term

This note does not get sent to the server. It is used to annotate backtraces and help debugging.

(?:=) :: Expr e => Text -> Maybe e -> Attribute a Source #

class Arr a where Source #

Build arrays of exprs

Minimal complete definition

arr

Methods

arr :: a -> ArgList Source #

Instances

Arr () Source # 

Methods

arr :: () -> ArgList Source #

Expr a => Arr [a] Source # 

Methods

arr :: [a] -> ArgList Source #

(Expr a, Expr b) => Arr (a, b) Source # 

Methods

arr :: (a, b) -> ArgList Source #

(Expr a, Expr b, Expr c) => Arr (a, b, c) Source # 

Methods

arr :: (a, b, c) -> ArgList Source #

(Expr a, Expr b, Expr c, Expr d) => Arr (a, b, c, d) Source # 

Methods

arr :: (a, b, c, d) -> ArgList Source #