rethinkdb 0.1.0.0 → 1.8.0.0
raw patch · 74 files changed
+3400/−5025 lines, 74 filesdep +protocol-buffers-descriptordep +timedep +utf8-stringdep ~aesondep ~attoparsecdep ~basePVP ok
version bump matches the API change (PVP)
Dependencies added: protocol-buffers-descriptor, time, utf8-string, vector
Dependency ranges changed: aeson, attoparsec, base, bytestring, containers, data-default, ghc-prim, mtl, network, protocol-buffers, text, unordered-containers
API changes (from Hackage documentation)
- Database.RethinkDB: (!?) :: HasValueType a ObjectType => a -> String -> BoolExpr
- Database.RethinkDB: ArrayType :: ValueTypeKind
- Database.RethinkDB: BoolType :: ValueTypeKind
- Database.RethinkDB: Document :: Table -> Value -> Document
- Database.RethinkDB: Expr :: QueryM (MaybeView (ExprIsView (Expr t)), Term) -> Expr t
- Database.RethinkDB: Mapping :: (QueryM Mapping) -> Mapping
- Database.RethinkDB: NoneType :: ValueTypeKind
- Database.RethinkDB: NumberType :: ValueTypeKind
- Database.RethinkDB: ObjectType :: ValueTypeKind
- Database.RethinkDB: OtherValueType :: ValueTypeKind
- Database.RethinkDB: SpotExpr :: Document -> Expr (StreamType True ObjectType)
- Database.RethinkDB: StreamType :: Bool -> ValueTypeKind -> ExprTypeKind
- Database.RethinkDB: StringType :: ValueTypeKind
- Database.RethinkDB: ValueType :: ValueTypeKind -> ExprTypeKind
- Database.RethinkDB: _tablePrimaryAttr :: Table -> Maybe String
- Database.RethinkDB: add :: HaveValueType a b NumberType => a -> b -> NumberExpr
- Database.RethinkDB: and' :: HaveValueType a b BoolType => a -> b -> BoolExpr
- Database.RethinkDB: arrayToStream :: (ToExpr e, ExprType e ~ ValueType ArrayType) => e -> Expr (StreamType False t)
- Database.RethinkDB: bind :: ToValue e => e -> (ValueExpr (ToValueType (ExprType e)) -> Expr t) -> Expr t
- Database.RethinkDB: class CanCompare (a :: ValueTypeKind)
- Database.RethinkDB: class Sequence (e :: ExprTypeKind) where type family SequenceType e (t :: ValueTypeKind) :: Constraint
- Database.RethinkDB: class ToExpr (o :: *) where type family ExprType o :: ExprTypeKind
- Database.RethinkDB: class ToMapping map where type family MappingFrom map :: ValueTypeKind type family MappingTo map :: ValueTypeKind
- Database.RethinkDB: class ToOrder a
- Database.RethinkDB: class ToBuildQuery a => ToQuery a b | a -> b
- Database.RethinkDB: class ToValue e
- Database.RethinkDB: closeConnection :: RethinkDBHandle -> IO ()
- Database.RethinkDB: concat :: (HaveValueType a b v, CanConcat v) => a -> b -> Expr (ValueType v)
- Database.RethinkDB: concatMap' :: (ToMapping m, (MappingTo m) ~ ArrayType, ToStream e, MappingFrom m HasToStreamValueOf e) => m -> e -> Expr (StreamType False t)
- Database.RethinkDB: count :: (ToExpr e, Sequence (ExprType e)) => e -> NumberExpr
- Database.RethinkDB: count' :: MapReduce ObjectType NoneType NumberType NumberType
- Database.RethinkDB: data Document
- Database.RethinkDB: data Expr (t :: ExprTypeKind)
- Database.RethinkDB: data ExprTypeKind
- Database.RethinkDB: data Mapping (from :: ValueTypeKind) (to :: ValueTypeKind)
- Database.RethinkDB: data Obj
- Database.RethinkDB: data Query (b :: Bool) a
- Database.RethinkDB: data Results a
- Database.RethinkDB: data ValueTypeKind
- Database.RethinkDB: div' :: HaveValueType a b NumberType => a -> b -> NumberExpr
- Database.RethinkDB: documentKey :: Document -> Value
- Database.RethinkDB: documentTable :: Document -> Table
- Database.RethinkDB: eq :: (HasValueType a x, HasValueType b y) => a -> b -> BoolExpr
- Database.RethinkDB: error' :: ExprTypeIsView t ~ False => String -> Expr t
- Database.RethinkDB: filter' :: (ToMapping m, ToStream e, MappingFrom m HasToStreamValueOf e) => m -> e -> Expr (ExprType e)
- Database.RethinkDB: ge :: (HaveValueType a b v, CanCompare v) => a -> b -> BoolExpr
- Database.RethinkDB: groupBy' :: (ToStream e, ObjectType HasToStreamValueOf e) => [String] -> MapReduce ObjectType b c d -> e -> Expr (StreamType False d)
- Database.RethinkDB: groupedMapReduce :: (ToValue group, ToValue value, ToValue acc, ToValueType (ExprType acc) ~ b, ToValue acc', ToValueType (ExprType acc') ~ b, ToStream e, a HasToStreamValueOf e) => (ValueExpr a -> group) -> (ValueExpr a -> value) -> acc -> (ValueExpr b -> ValueExpr v -> acc') -> e -> Expr (StreamType False b)
- Database.RethinkDB: gt :: (HaveValueType a b v, CanCompare v) => a -> b -> BoolExpr
- Database.RethinkDB: insertMany :: (ToValue a, ToValueType (ExprType a) ~ ObjectType) => Table -> [a] -> WriteQuery [Document]
- Database.RethinkDB: jsfun :: ToValue e => String -> e -> Expr (ValueType y)
- Database.RethinkDB: le :: (HaveValueType a b v, CanCompare v) => a -> b -> BoolExpr
- Database.RethinkDB: let' :: [Attribute] -> Expr t -> Expr t
- Database.RethinkDB: limit :: (ToStream e, t HasToStreamValueOf e, ToExpr n, ExprType n ~ ValueType NumberType) => e -> n -> Expr (StreamType (ExprIsView e) t)
- Database.RethinkDB: lt :: (HaveValueType a b v, CanCompare v) => a -> b -> BoolExpr
- Database.RethinkDB: map' :: (ToMapping m, ToStream e, MappingFrom m HasToStreamValueOf e) => m -> e -> Expr (StreamType False (MappingTo m))
- Database.RethinkDB: mul :: HaveValueType a b NumberType => a -> b -> NumberExpr
- Database.RethinkDB: ne :: (HasValueType a x, HasValueType b y) => a -> b -> BoolExpr
- Database.RethinkDB: nil :: ValueExpr ArrayType
- Database.RethinkDB: not' :: HasValueType a BoolType => a -> BoolExpr
- Database.RethinkDB: nth :: (ToStream e, t HasToStreamValueOf e, ToExpr n, ExprType n ~ ValueType NumberType) => e -> n -> ValueExpr t
- Database.RethinkDB: openConnection :: HostName -> Maybe PortID -> Maybe String -> IO RethinkDBHandle
- Database.RethinkDB: or' :: HaveValueType a b BoolType => a -> b -> BoolExpr
- Database.RethinkDB: pick :: HasValueType e ObjectType => [String] -> e -> ObjectExpr
- Database.RethinkDB: resultsError :: Results a -> IO (Maybe String)
- Database.RethinkDB: runBatch :: ToQuery q [a] => RethinkDBHandle -> q -> IO (Results a)
- Database.RethinkDB: runEither :: ToQuery a v => RethinkDBHandle -> a -> IO (Either String v)
- Database.RethinkDB: runJSON :: (JSONQuery (BuildViewQuery q), ToBuildQuery q) => RethinkDBHandle -> q -> IO [Value]
- Database.RethinkDB: runMaybe :: ToQuery a v => RethinkDBHandle -> a -> IO (Maybe v)
- Database.RethinkDB: runRaw :: (ToBuildQuery q, JSONQuery (BuildViewQuery q)) => RethinkDBHandle -> q -> IO Response
- Database.RethinkDB: skip :: (ToStream e, t HasToStreamValueOf e, ToExpr n, ExprType n ~ ValueType NumberType) => e -> n -> Expr (StreamType (ExprIsView e) t)
- Database.RethinkDB: streamToArray :: (ToExpr e, ExprType e ~ StreamType w t) => e -> Expr (ValueType ArrayType)
- Database.RethinkDB: sub :: HaveValueType a b NumberType => a -> b -> NumberExpr
- Database.RethinkDB: sum' :: String -> MapReduce ObjectType NumberType NumberType NumberType
- Database.RethinkDB: tablePrimaryAttr :: Table -> String
- Database.RethinkDB: toExpr :: ToExpr o => o -> Expr (ExprType o)
- Database.RethinkDB: toMapping :: ToMapping map => map -> Mapping (MappingFrom map) (MappingTo map)
- Database.RethinkDB: toOrder :: ToOrder a => a -> Order
- Database.RethinkDB: toQuery :: ToQuery a b => a -> Query (BuildViewQuery a) b
- Database.RethinkDB: toValue :: ToValue e => e -> Expr (ValueType (ToValueType (ExprType e)))
- Database.RethinkDB: type ArrayExpr = Expr (ValueType ArrayType)
- Database.RethinkDB: type ArrayStream = Expr (StreamType False ArrayType)
- Database.RethinkDB: type BoolExpr = Expr (ValueType BoolType)
- Database.RethinkDB: type BoolStream = Expr (StreamType False BoolType)
- Database.RethinkDB: type ExprIsView e = ExprTypeIsView (ExprType e)
- Database.RethinkDB: type HasValueType a v = (ToValue a, ToValueType (ExprType a) ~ v)
- Database.RethinkDB: type HaveValueType a b v = (HasValueType a v, HasValueType b v)
- Database.RethinkDB: type NumberExpr = Expr (ValueType NumberType)
- Database.RethinkDB: type NumberStream = Expr (StreamType False NumberType)
- Database.RethinkDB: type ObjectExpr = Expr (ValueType ObjectType)
- Database.RethinkDB: type ObjectStream = Expr (StreamType False ObjectType)
- Database.RethinkDB: type Selection = Expr (StreamType True ObjectType)
- Database.RethinkDB: type StringExpr = Expr (ValueType StringType)
- Database.RethinkDB: type StringStream = Expr (StreamType False StringType)
- Database.RethinkDB: type ValueExpr t = Expr (ValueType t)
- Database.RethinkDB: union' :: (ToStream a, t HasToStreamValueOf a, ToStream b, t HasToStreamValueOf b) => a -> b -> Expr (StreamType False t)
- Database.RethinkDB: unpick :: HasValueType e ObjectType => [String] -> e -> ObjectExpr
- Database.RethinkDB: upsertMany :: (ToValue a, ToValueType (ExprType a) ~ ObjectType) => Table -> [a] -> WriteQuery [Document]
- Database.RethinkDB: var :: ExprIsView (Expr t) ~ False => String -> Expr t
- Database.RethinkDB: zip' :: (ToStream e, ObjectType HasToStreamValueOf e) => e -> Expr (StreamType False ObjectType)
- Database.RethinkDB.Driver: (.?) :: FromJSON a => Value -> String -> Maybe a
- Database.RethinkDB.Driver: (:=) :: String -> e -> Attribute
- Database.RethinkDB.Driver: Database :: String -> Database
- Database.RethinkDB.Driver: Document :: Table -> Value -> Document
- Database.RethinkDB.Driver: ErrorBadQuery :: ErrorCode
- Database.RethinkDB.Driver: ErrorBrokenClient :: ErrorCode
- Database.RethinkDB.Driver: ErrorNetwork :: ErrorCode
- Database.RethinkDB.Driver: ErrorResponse :: ErrorCode -> String -> [String] -> Response
- Database.RethinkDB.Driver: ErrorRuntime :: ErrorCode
- Database.RethinkDB.Driver: Expr :: QueryM (MaybeView (ExprIsView (Expr t)), Term) -> Expr t
- Database.RethinkDB.Driver: Mapping :: (QueryM Mapping) -> Mapping
- Database.RethinkDB.Driver: NoView :: MaybeView False
- Database.RethinkDB.Driver: Obj :: [Attribute] -> Obj
- Database.RethinkDB.Driver: Proxy :: Proxy t
- Database.RethinkDB.Driver: Query :: QueryM Query -> ([Value] -> Either String a) -> Query False a
- Database.RethinkDB.Driver: QuerySettings :: Int64 -> Database -> [String] -> Bool -> QuerySettings
- Database.RethinkDB.Driver: QueryViewPair :: Query w a -> MaybeView w -> QueryViewPair a
- Database.RethinkDB.Driver: Results :: IORef (Maybe (RethinkDBHandle, Int64)) -> IORef (Seq a) -> IORef (Maybe String) -> QueryViewPair [a] -> Results a
- Database.RethinkDB.Driver: RethinkDBHandle :: Handle -> IORef Int64 -> Database -> RethinkDBHandle
- Database.RethinkDB.Driver: SpotExpr :: Document -> Expr (StreamType True ObjectType)
- Database.RethinkDB.Driver: SuccessEmpty :: SuccessCode
- Database.RethinkDB.Driver: SuccessJson :: SuccessCode
- Database.RethinkDB.Driver: SuccessPartial :: SuccessCode
- Database.RethinkDB.Driver: SuccessResponse :: SuccessCode -> [ByteString] -> Response
- Database.RethinkDB.Driver: SuccessStream :: SuccessCode
- Database.RethinkDB.Driver: Table :: Maybe Database -> String -> Maybe String -> Table
- Database.RethinkDB.Driver: TableCreateOptions :: Maybe String -> Maybe Int64 -> TableCreateOptions
- Database.RethinkDB.Driver: ViewOf :: Table -> MaybeView True
- Database.RethinkDB.Driver: ViewQuery :: QueryM (Table, Query) -> ([(Document, Value)] -> Either String a) -> Query True a
- Database.RethinkDB.Driver: WriteQuery :: QueryM WriteQuery -> ([Value] -> Either String a) -> WriteQuery a
- Database.RethinkDB.Driver: _queryBuild :: Query False a -> QueryM Query
- Database.RethinkDB.Driver: _queryDB :: QuerySettings -> Database
- Database.RethinkDB.Driver: _queryExtract :: Query False a -> [Value] -> Either String a
- Database.RethinkDB.Driver: _queryToken :: QuerySettings -> Int64
- Database.RethinkDB.Driver: _queryUseOutdated :: QuerySettings -> Bool
- Database.RethinkDB.Driver: _queryVars :: QuerySettings -> [String]
- Database.RethinkDB.Driver: _resultsError :: Results a -> IORef (Maybe String)
- Database.RethinkDB.Driver: _tablePrimaryAttr :: Table -> Maybe String
- Database.RethinkDB.Driver: _viewQueryBuild :: Query True a -> QueryM (Table, Query)
- Database.RethinkDB.Driver: _viewQueryExtract :: Query True a -> [(Document, Value)] -> Either String a
- Database.RethinkDB.Driver: activeDB :: QueryM Database
- Database.RethinkDB.Driver: addDoc :: Table -> Value -> Either String (Document, Value)
- Database.RethinkDB.Driver: apply :: Builtin -> [QueryM Term] -> QueryM Term
- Database.RethinkDB.Driver: arrayToStream :: (ToExpr e, ExprType e ~ ValueType ArrayType) => e -> Expr (StreamType False t)
- Database.RethinkDB.Driver: buildQuery :: ToBuildQuery a => a -> ([If (BuildViewQuery a) (Document, Value) Value] -> Either String b) -> Query (BuildViewQuery a) b
- Database.RethinkDB.Driver: class CanCompare (a :: ValueTypeKind)
- Database.RethinkDB.Driver: class ExtractValue t v | t -> v
- Database.RethinkDB.Driver: class JSONQuery (b :: Bool)
- Database.RethinkDB.Driver: class Sequence (e :: ExprTypeKind) where type family SequenceType e (t :: ValueTypeKind) :: Constraint
- Database.RethinkDB.Driver: class ToBuildQuery a where type family BuildViewQuery a :: Bool
- Database.RethinkDB.Driver: class ToExpr (o :: *) where type family ExprType o :: ExprTypeKind
- Database.RethinkDB.Driver: class ToMapping map where type family MappingFrom map :: ValueTypeKind type family MappingTo map :: ValueTypeKind
- Database.RethinkDB.Driver: class ToBuildQuery a => ToQuery a b | a -> b
- Database.RethinkDB.Driver: class ToExpr e => ToStream e
- Database.RethinkDB.Driver: class ToValue e
- Database.RethinkDB.Driver: closeConnection :: RethinkDBHandle -> IO ()
- Database.RethinkDB.Driver: collect :: Results a -> IO [a]
- Database.RethinkDB.Driver: comparison :: ExprTypeIsView t ~ False => Comparison -> [QueryM Term] -> Expr t
- Database.RethinkDB.Driver: convert :: FromJSON a => Value -> Maybe a
- Database.RethinkDB.Driver: convertResponse :: Either String Response -> Response
- Database.RethinkDB.Driver: data Attribute
- Database.RethinkDB.Driver: data Database
- Database.RethinkDB.Driver: data Document
- Database.RethinkDB.Driver: data ErrorCode
- Database.RethinkDB.Driver: data Expr (t :: ExprTypeKind)
- Database.RethinkDB.Driver: data Mapping (from :: ValueTypeKind) (to :: ValueTypeKind)
- Database.RethinkDB.Driver: data MaybeView (w :: Bool)
- Database.RethinkDB.Driver: data Obj
- Database.RethinkDB.Driver: data Proxy t
- Database.RethinkDB.Driver: data Query (b :: Bool) a
- Database.RethinkDB.Driver: data QuerySettings
- Database.RethinkDB.Driver: data QueryViewPair a
- Database.RethinkDB.Driver: data Response
- Database.RethinkDB.Driver: data Results a
- Database.RethinkDB.Driver: data RethinkDBHandle
- Database.RethinkDB.Driver: data SuccessCode
- Database.RethinkDB.Driver: data Table
- Database.RethinkDB.Driver: data TableCreateOptions
- Database.RethinkDB.Driver: data WriteQuery a
- Database.RethinkDB.Driver: databaseName :: Database -> String
- Database.RethinkDB.Driver: db :: String -> Database
- Database.RethinkDB.Driver: dbCreate :: String -> Query False Database
- Database.RethinkDB.Driver: dbDrop :: Database -> Query False ()
- Database.RethinkDB.Driver: dbList :: Query False [Database]
- Database.RethinkDB.Driver: decodeAny :: FromJSON a => ByteString -> Maybe a
- Database.RethinkDB.Driver: defaultPrimaryAttr :: Utf8
- Database.RethinkDB.Driver: delete :: (ToExpr sel, ExprIsView sel ~ True) => sel -> WriteQuery ()
- Database.RethinkDB.Driver: documentKey :: Document -> Value
- Database.RethinkDB.Driver: documentTable :: Document -> Table
- Database.RethinkDB.Driver: dumpExpr :: ToExpr e => e -> String
- Database.RethinkDB.Driver: dumpTermPart :: Data a => String -> a -> String
- Database.RethinkDB.Driver: errorBacktrace :: Response -> [String]
- Database.RethinkDB.Driver: errorCode :: Response -> ErrorCode
- Database.RethinkDB.Driver: errorMessage :: Response -> String
- Database.RethinkDB.Driver: expr :: ToExpr e => e -> QueryM Term
- Database.RethinkDB.Driver: exprToQLQuery :: Expr t -> QueryM (MaybeView (ExprTypeIsView t), Query)
- Database.RethinkDB.Driver: exprV :: ToExpr e => e -> QueryM (MaybeView (ExprIsView e), Term)
- Database.RethinkDB.Driver: exprViewQuery :: ExprTypeIsView t ~ True => ([Value] -> Either String [a]) -> Expr t -> Query True [(Document, a)]
- Database.RethinkDB.Driver: extractListOf :: ExtractValue t a => Proxy t -> [Value] -> Maybe [a]
- Database.RethinkDB.Driver: extractTerm :: ToExpr e => e -> Term
- Database.RethinkDB.Driver: extractValue :: ExtractValue t v => Proxy t -> Value -> Maybe v
- Database.RethinkDB.Driver: get :: (ToExpr e, ExprType e ~ StreamType True ObjectType, ToValue k) => e -> k -> ObjectExpr
- Database.RethinkDB.Driver: getNewToken :: RethinkDBHandle -> IO Int64
- Database.RethinkDB.Driver: getToken :: QueryM Int64
- Database.RethinkDB.Driver: initialVars :: [String]
- Database.RethinkDB.Driver: insert :: (ToValue a, ToValueType (ExprType a) ~ ObjectType) => Table -> a -> WriteQuery Document
- Database.RethinkDB.Driver: insertMany :: (ToValue a, ToValueType (ExprType a) ~ ObjectType) => Table -> [a] -> WriteQuery [Document]
- Database.RethinkDB.Driver: insert_or_upsert :: (ToValue a, ToValueType (ExprType a) ~ ObjectType) => Table -> [a] -> Bool -> WriteQuery [Document]
- Database.RethinkDB.Driver: instance (IsString a, FromJSON a) => ExtractValue ValueTypeKind 'StringType a
- Database.RethinkDB.Driver: instance (Num a, FromJSON a) => ExtractValue ValueTypeKind 'NumberType a
- Database.RethinkDB.Driver: instance (ToValue b, a ~ Expr ('ValueType t)) => ToMapping (a -> b)
- Database.RethinkDB.Driver: instance CanCompare 'NumberType
- Database.RethinkDB.Driver: instance CanCompare 'StringType
- Database.RethinkDB.Driver: instance Default QuerySettings
- Database.RethinkDB.Driver: instance Default TableCreateOptions
- Database.RethinkDB.Driver: instance Eq Database
- Database.RethinkDB.Driver: instance Eq Document
- Database.RethinkDB.Driver: instance Eq Table
- Database.RethinkDB.Driver: instance ExtractValue ValueTypeKind 'BoolType Bool
- Database.RethinkDB.Driver: instance ExtractValue ValueTypeKind 'NoneType ()
- Database.RethinkDB.Driver: instance ExtractValue ValueTypeKind v a => ToQuery (Expr ('StreamType 'False v)) [a]
- Database.RethinkDB.Driver: instance ExtractValue ValueTypeKind v a => ToQuery (Expr ('StreamType 'True v)) [(Document, a)]
- Database.RethinkDB.Driver: instance ExtractValue ValueTypeKind v a => ToQuery (Expr ('ValueType v)) a
- Database.RethinkDB.Driver: instance Fractional (Expr ('ValueType 'NumberType))
- Database.RethinkDB.Driver: instance FromJSON a => ExtractValue ValueTypeKind 'ArrayType a
- Database.RethinkDB.Driver: instance FromJSON a => ExtractValue ValueTypeKind 'ObjectType a
- Database.RethinkDB.Driver: instance FromJSON a => ExtractValue ValueTypeKind 'OtherValueType a
- Database.RethinkDB.Driver: instance FromJSON a => ToQuery Document a
- Database.RethinkDB.Driver: instance FromJSON a => ToQuery Table [(Document, a)]
- Database.RethinkDB.Driver: instance Functor (Query w)
- Database.RethinkDB.Driver: instance Functor WriteQuery
- Database.RethinkDB.Driver: instance JSONQuery 'False
- Database.RethinkDB.Driver: instance JSONQuery 'True
- Database.RethinkDB.Driver: instance Num (Expr ('ValueType 'NumberType))
- Database.RethinkDB.Driver: instance Ord Database
- Database.RethinkDB.Driver: instance Ord Table
- Database.RethinkDB.Driver: instance Sequence ('StreamType w t)
- Database.RethinkDB.Driver: instance Show Database
- Database.RethinkDB.Driver: instance Show Document
- Database.RethinkDB.Driver: instance Show ErrorCode
- Database.RethinkDB.Driver: instance Show Response
- Database.RethinkDB.Driver: instance Show SuccessCode
- Database.RethinkDB.Driver: instance Show Table
- Database.RethinkDB.Driver: instance ToBuildQuery (Expr ('StreamType 'False v))
- Database.RethinkDB.Driver: instance ToBuildQuery (Expr ('StreamType 'True v))
- Database.RethinkDB.Driver: instance ToBuildQuery (Expr ('ValueType v))
- Database.RethinkDB.Driver: instance ToBuildQuery (Query w a)
- Database.RethinkDB.Driver: instance ToBuildQuery (WriteQuery a)
- Database.RethinkDB.Driver: instance ToBuildQuery Document
- Database.RethinkDB.Driver: instance ToBuildQuery Table
- Database.RethinkDB.Driver: instance ToExpr ()
- Database.RethinkDB.Driver: instance ToExpr (Expr t)
- Database.RethinkDB.Driver: instance ToExpr Char
- Database.RethinkDB.Driver: instance ToExpr Document
- Database.RethinkDB.Driver: instance ToExpr Double
- Database.RethinkDB.Driver: instance ToExpr Int
- Database.RethinkDB.Driver: instance ToExpr Integer
- Database.RethinkDB.Driver: instance ToExpr Obj
- Database.RethinkDB.Driver: instance ToExpr Table
- Database.RethinkDB.Driver: instance ToExpr Text
- Database.RethinkDB.Driver: instance ToExpr a => ToExpr [a]
- Database.RethinkDB.Driver: instance ToExpr a => ToStream [a]
- Database.RethinkDB.Driver: instance ToExpr a => ToValue [a]
- Database.RethinkDB.Driver: instance ToMapping (Expr ('ValueType t))
- Database.RethinkDB.Driver: instance ToMapping Obj
- Database.RethinkDB.Driver: instance ToMapping Value
- Database.RethinkDB.Driver: instance ToQuery (Query w a) a
- Database.RethinkDB.Driver: instance ToQuery (WriteQuery a) a
- Database.RethinkDB.Driver: instance ToStream (Expr ('StreamType w t))
- Database.RethinkDB.Driver: instance ToStream (Expr ('ValueType 'ArrayType))
- Database.RethinkDB.Driver: instance ToStream Document
- Database.RethinkDB.Driver: instance ToStream Table
- Database.RethinkDB.Driver: instance ToValue ()
- Database.RethinkDB.Driver: instance ToValue (Expr ('StreamType w t))
- Database.RethinkDB.Driver: instance ToValue (Expr ('ValueType t))
- Database.RethinkDB.Driver: instance ToValue Document
- Database.RethinkDB.Driver: instance ToValue Double
- Database.RethinkDB.Driver: instance ToValue Int
- Database.RethinkDB.Driver: instance ToValue Integer
- Database.RethinkDB.Driver: instance ToValue Obj
- Database.RethinkDB.Driver: instance ToValue Table
- Database.RethinkDB.Driver: instance ToValue Text
- Database.RethinkDB.Driver: instance a ~ 'ArrayType => Sequence ('ValueType a)
- Database.RethinkDB.Driver: jsonQuery :: JSONQuery b => (forall a. ([If b (Document, Value) Value] -> Either String a) -> Query b a) -> Query b [Value]
- Database.RethinkDB.Driver: mapMSnd :: Monad m => (a -> m b) -> [(c, a)] -> m [(c, b)]
- Database.RethinkDB.Driver: mapping :: ToMapping m => m -> QueryM Mapping
- Database.RethinkDB.Driver: mappingToPredicate :: Mapping -> Predicate
- Database.RethinkDB.Driver: metaQuery :: QueryM MetaQuery -> QueryM Query
- Database.RethinkDB.Driver: mkExpr :: ExprIsView (Expr t) ~ False => QueryM Term -> Expr t
- Database.RethinkDB.Driver: mkView :: ExprIsView (Expr t) ~ True => Table -> QueryM Term -> Expr t
- Database.RethinkDB.Driver: newVar :: QueryM String
- Database.RethinkDB.Driver: next :: Results a -> IO (Maybe a)
- Database.RethinkDB.Driver: obj :: [Attribute] -> Obj
- Database.RethinkDB.Driver: op :: BuiltinType -> Builtin
- Database.RethinkDB.Driver: openConnection :: HostName -> Maybe PortID -> Maybe String -> IO RethinkDBHandle
- Database.RethinkDB.Driver: packUInt :: Int -> ByteString
- Database.RethinkDB.Driver: primaryAttr :: (ToExpr e, ExprTypeIsView (ExprType e) ~ True) => e -> String -> Expr (ExprType e)
- Database.RethinkDB.Driver: queryBuild :: Query w a -> QueryM (MaybeView w, Query)
- Database.RethinkDB.Driver: queryExtract :: Query w a -> MaybeView w -> [Value] -> Either String a
- Database.RethinkDB.Driver: queryExtractResponse :: Query w [a] -> MaybeView w -> Response -> RethinkDBHandle -> Int64 -> (Maybe (RethinkDBHandle, Int64), Seq a, Maybe String)
- Database.RethinkDB.Driver: rapply :: [QueryM Term] -> Builtin -> QueryM Term
- Database.RethinkDB.Driver: rdbDatabase :: RethinkDBHandle -> Database
- Database.RethinkDB.Driver: rdbHandle :: RethinkDBHandle -> Handle
- Database.RethinkDB.Driver: rdbToken :: RethinkDBHandle -> IORef Int64
- Database.RethinkDB.Driver: recvAll :: RethinkDBHandle -> Int -> IO ByteString
- Database.RethinkDB.Driver: replace :: (ToExpr sel, ExprIsView sel ~ True, ToJSON a) => sel -> a -> WriteQuery ()
- Database.RethinkDB.Driver: resultsError :: Results a -> IO (Maybe String)
- Database.RethinkDB.Driver: resultsHandle :: Results a -> IORef (Maybe (RethinkDBHandle, Int64))
- Database.RethinkDB.Driver: resultsQueryView :: Results a -> QueryViewPair [a]
- Database.RethinkDB.Driver: resultsSeq :: Results a -> IORef (Seq a)
- Database.RethinkDB.Driver: runBatch :: ToQuery q [a] => RethinkDBHandle -> q -> IO (Results a)
- Database.RethinkDB.Driver: runEither :: ToQuery a v => RethinkDBHandle -> a -> IO (Either String v)
- Database.RethinkDB.Driver: runJSON :: (JSONQuery (BuildViewQuery q), ToBuildQuery q) => RethinkDBHandle -> q -> IO [Value]
- Database.RethinkDB.Driver: runMaybe :: ToQuery a v => RethinkDBHandle -> a -> IO (Maybe v)
- Database.RethinkDB.Driver: runQLQuery :: RethinkDBHandle -> Query -> IO Response
- Database.RethinkDB.Driver: runQueryM :: QueryM a -> QuerySettings -> (a, QuerySettings)
- Database.RethinkDB.Driver: runRaw :: (ToBuildQuery q, JSONQuery (BuildViewQuery q)) => RethinkDBHandle -> q -> IO Response
- Database.RethinkDB.Driver: sendAll :: RethinkDBHandle -> ByteString -> IO ()
- Database.RethinkDB.Driver: setUseOutdated :: ToExpr e => Bool -> e -> Expr (ExprType e)
- Database.RethinkDB.Driver: showBacktrace :: [String] -> String
- Database.RethinkDB.Driver: simpleOp :: ExprIsView (Expr t) ~ False => BuiltinType -> [QueryM Term] -> Expr t
- Database.RethinkDB.Driver: str :: String -> Text
- Database.RethinkDB.Driver: stream :: ToStream a => a -> QueryM Term
- Database.RethinkDB.Driver: streamToArray :: (ToExpr e, ExprType e ~ StreamType w t) => e -> Expr (ValueType ArrayType)
- Database.RethinkDB.Driver: successCode :: Response -> SuccessCode
- Database.RethinkDB.Driver: successString :: Response -> [ByteString]
- Database.RethinkDB.Driver: table :: String -> Table
- Database.RethinkDB.Driver: tableCacheSize :: TableCreateOptions -> Maybe Int64
- Database.RethinkDB.Driver: tableCreate :: Table -> TableCreateOptions -> Query False Table
- Database.RethinkDB.Driver: tableDataCenter :: TableCreateOptions -> Maybe String
- Database.RethinkDB.Driver: tableDatabase :: Table -> Maybe Database
- Database.RethinkDB.Driver: tableDrop :: Table -> Query False ()
- Database.RethinkDB.Driver: tableList :: Database -> Query False [Table]
- Database.RethinkDB.Driver: tableName :: Table -> String
- Database.RethinkDB.Driver: tablePrimaryAttr :: Table -> String
- Database.RethinkDB.Driver: tableRef :: Table -> QueryM TableRef
- Database.RethinkDB.Driver: tableToTerm :: Table -> QueryM Term
- Database.RethinkDB.Driver: toExpr :: ToExpr o => o -> Expr (ExprType o)
- Database.RethinkDB.Driver: toJsonTerm :: ToJSON a => a -> Term
- Database.RethinkDB.Driver: toMapping :: ToMapping map => map -> Mapping (MappingFrom map) (MappingTo map)
- Database.RethinkDB.Driver: toQuery :: ToQuery a b => a -> Query (BuildViewQuery a) b
- Database.RethinkDB.Driver: toStream :: ToStream e => e -> Expr (StreamType (ExprIsView e) (FromMaybe a (ToStreamValue e)))
- Database.RethinkDB.Driver: toValue :: ToValue e => e -> Expr (ValueType (ToValueType (ExprType e)))
- Database.RethinkDB.Driver: type ArrayExpr = Expr (ValueType ArrayType)
- Database.RethinkDB.Driver: type ArrayStream = Expr (StreamType False ArrayType)
- Database.RethinkDB.Driver: type BoolExpr = Expr (ValueType BoolType)
- Database.RethinkDB.Driver: type BoolStream = Expr (StreamType False BoolType)
- Database.RethinkDB.Driver: type ExprIsView e = ExprTypeIsView (ExprType e)
- Database.RethinkDB.Driver: type HasToStreamValueOf a b = FromMaybe a (ToStreamValue b) ~ a
- Database.RethinkDB.Driver: type HasValueType a v = (ToValue a, ToValueType (ExprType a) ~ v)
- Database.RethinkDB.Driver: type HaveValueType a b v = (HasValueType a v, HasValueType b v)
- Database.RethinkDB.Driver: type NumberExpr = Expr (ValueType NumberType)
- Database.RethinkDB.Driver: type NumberStream = Expr (StreamType False NumberType)
- Database.RethinkDB.Driver: type ObjectExpr = Expr (ValueType ObjectType)
- Database.RethinkDB.Driver: type ObjectStream = Expr (StreamType False ObjectType)
- Database.RethinkDB.Driver: type QueryM = State QuerySettings
- Database.RethinkDB.Driver: type Selection = Expr (StreamType True ObjectType)
- Database.RethinkDB.Driver: type StringExpr = Expr (ValueType StringType)
- Database.RethinkDB.Driver: type StringStream = Expr (StreamType False StringType)
- Database.RethinkDB.Driver: type ToStreamValue e = ToStreamTypeValue (ExprType e)
- Database.RethinkDB.Driver: type ValueExpr t = Expr (ValueType t)
- Database.RethinkDB.Driver: uTableKey :: Table -> Utf8
- Database.RethinkDB.Driver: unpackUInt :: ByteString -> Int
- Database.RethinkDB.Driver: update :: (ToExpr sel, ExprType sel ~ StreamType True out, ToMapping map, MappingFrom map ~ out, MappingTo map ~ ObjectType) => sel -> map -> WriteQuery ()
- Database.RethinkDB.Driver: upsert :: (ToValue a, ToValueType (ExprType a) ~ ObjectType) => Table -> a -> WriteQuery Document
- Database.RethinkDB.Driver: upsertMany :: (ToValue a, ToValueType (ExprType a) ~ ObjectType) => Table -> [a] -> WriteQuery [Document]
- Database.RethinkDB.Driver: use :: RethinkDBHandle -> Database -> RethinkDBHandle
- Database.RethinkDB.Driver: value :: ToValue a => a -> QueryM Term
- Database.RethinkDB.Driver: viewKeyAttr :: MaybeView b -> Utf8
- Database.RethinkDB.Driver: viewTable :: MaybeView True -> Table
- Database.RethinkDB.Driver: whenSuccess :: FromJSON a => String -> (a -> Either String b) -> [Value] -> Either String b
- Database.RethinkDB.Driver: whenSuccess_ :: b -> [Value] -> Either String b
- Database.RethinkDB.Driver: withView :: MaybeView b -> QueryM Term -> QueryM (MaybeView b, Term)
- Database.RethinkDB.Driver: writeQueryBuild :: WriteQuery a -> QueryM WriteQuery
- Database.RethinkDB.Driver: writeQueryExtract :: WriteQuery a -> [Value] -> Either String a
- Database.RethinkDB.Functions: (!?) :: HasValueType a ObjectType => a -> String -> BoolExpr
- Database.RethinkDB.Functions: MapReduce :: (ValueExpr a -> ValueExpr b) -> (ValueExpr c) -> (ValueExpr c -> ValueExpr b -> ValueExpr c) -> (ValueExpr c -> ValueExpr d) -> MapReduce a b c d
- Database.RethinkDB.Functions: add :: HaveValueType a b NumberType => a -> b -> NumberExpr
- Database.RethinkDB.Functions: and :: HaveValueType a b BoolType => a -> b -> BoolExpr
- Database.RethinkDB.Functions: and' :: HaveValueType a b BoolType => a -> b -> BoolExpr
- Database.RethinkDB.Functions: bind :: ToValue e => e -> (ValueExpr (ToValueType (ExprType e)) -> Expr t) -> Expr t
- Database.RethinkDB.Functions: class CanConcat (a :: ValueTypeKind)
- Database.RethinkDB.Functions: class ToOrder a
- Database.RethinkDB.Functions: concat :: (HaveValueType a b v, CanConcat v) => a -> b -> Expr (ValueType v)
- Database.RethinkDB.Functions: concatMap' :: (ToMapping m, (MappingTo m) ~ ArrayType, ToStream e, MappingFrom m HasToStreamValueOf e) => m -> e -> Expr (StreamType False t)
- Database.RethinkDB.Functions: count :: (ToExpr e, Sequence (ExprType e)) => e -> NumberExpr
- Database.RethinkDB.Functions: count' :: MapReduce ObjectType NoneType NumberType NumberType
- Database.RethinkDB.Functions: data MapReduce a b c d
- Database.RethinkDB.Functions: div' :: HaveValueType a b NumberType => a -> b -> NumberExpr
- Database.RethinkDB.Functions: drop' :: (ToStream e, t HasToStreamValueOf e, ToExpr n, ExprType n ~ ValueType NumberType) => e -> n -> Expr (StreamType (ExprIsView e) t)
- Database.RethinkDB.Functions: eq :: (HasValueType a x, HasValueType b y) => a -> b -> BoolExpr
- Database.RethinkDB.Functions: error' :: ExprTypeIsView t ~ False => String -> Expr t
- Database.RethinkDB.Functions: filter' :: (ToMapping m, ToStream e, MappingFrom m HasToStreamValueOf e) => m -> e -> Expr (ExprType e)
- Database.RethinkDB.Functions: fold :: (ToValue z, ToValueType (ExprType z) ~ a, ToStream e, b HasToStreamValueOf e, ToExpr c, ExprIsView c ~ False) => (ValueExpr a -> ValueExpr b -> c) -> z -> e -> Expr (ExprType c)
- Database.RethinkDB.Functions: ge :: (HaveValueType a b v, CanCompare v) => a -> b -> BoolExpr
- Database.RethinkDB.Functions: groupBy' :: (ToStream e, ObjectType HasToStreamValueOf e) => [String] -> MapReduce ObjectType b c d -> e -> Expr (StreamType False d)
- Database.RethinkDB.Functions: groupedMapReduce :: (ToValue group, ToValue value, ToValue acc, ToValueType (ExprType acc) ~ b, ToValue acc', ToValueType (ExprType acc') ~ b, ToStream e, a HasToStreamValueOf e) => (ValueExpr a -> group) -> (ValueExpr a -> value) -> acc -> (ValueExpr b -> ValueExpr v -> acc') -> e -> Expr (StreamType False b)
- Database.RethinkDB.Functions: gt :: (HaveValueType a b v, CanCompare v) => a -> b -> BoolExpr
- Database.RethinkDB.Functions: instance CanConcat 'ArrayType
- Database.RethinkDB.Functions: instance CanConcat 'StringType
- Database.RethinkDB.Functions: instance ToOrder Order
- Database.RethinkDB.Functions: instance ToOrder String
- Database.RethinkDB.Functions: jsfun :: ToValue e => String -> e -> Expr (ValueType y)
- Database.RethinkDB.Functions: le :: (HaveValueType a b v, CanCompare v) => a -> b -> BoolExpr
- Database.RethinkDB.Functions: let' :: [Attribute] -> Expr t -> Expr t
- Database.RethinkDB.Functions: limit :: (ToStream e, t HasToStreamValueOf e, ToExpr n, ExprType n ~ ValueType NumberType) => e -> n -> Expr (StreamType (ExprIsView e) t)
- Database.RethinkDB.Functions: lt :: (HaveValueType a b v, CanCompare v) => a -> b -> BoolExpr
- Database.RethinkDB.Functions: map' :: (ToMapping m, ToStream e, MappingFrom m HasToStreamValueOf e) => m -> e -> Expr (StreamType False (MappingTo m))
- Database.RethinkDB.Functions: mod' :: HaveValueType a b NumberType => a -> b -> NumberExpr
- Database.RethinkDB.Functions: mul :: HaveValueType a b NumberType => a -> b -> NumberExpr
- Database.RethinkDB.Functions: ne :: (HasValueType a x, HasValueType b y) => a -> b -> BoolExpr
- Database.RethinkDB.Functions: nil :: ValueExpr ArrayType
- Database.RethinkDB.Functions: not' :: HasValueType a BoolType => a -> BoolExpr
- Database.RethinkDB.Functions: nth :: (ToStream e, t HasToStreamValueOf e, ToExpr n, ExprType n ~ ValueType NumberType) => e -> n -> ValueExpr t
- Database.RethinkDB.Functions: or :: HaveValueType a b BoolType => a -> b -> BoolExpr
- Database.RethinkDB.Functions: or' :: HaveValueType a b BoolType => a -> b -> BoolExpr
- Database.RethinkDB.Functions: orderAscending :: Order -> Bool
- Database.RethinkDB.Functions: pick :: HasValueType e ObjectType => [String] -> e -> ObjectExpr
- Database.RethinkDB.Functions: signum :: (ToValue e, ToValueType (ExprType e) ~ NumberType) => e -> NumberExpr
- Database.RethinkDB.Functions: signum' :: (ToValue e, ToValueType (ExprType e) ~ NumberType) => e -> NumberExpr
- Database.RethinkDB.Functions: skip :: (ToStream e, t HasToStreamValueOf e, ToExpr n, ExprType n ~ ValueType NumberType) => e -> n -> Expr (StreamType (ExprIsView e) t)
- Database.RethinkDB.Functions: sub :: HaveValueType a b NumberType => a -> b -> NumberExpr
- Database.RethinkDB.Functions: sum' :: String -> MapReduce ObjectType NumberType NumberType NumberType
- Database.RethinkDB.Functions: take' :: (ToStream e, t HasToStreamValueOf e, ToExpr n, ExprType n ~ ValueType NumberType) => e -> n -> Expr (StreamType (ExprIsView e) t)
- Database.RethinkDB.Functions: toOrder :: ToOrder a => a -> Order
- Database.RethinkDB.Functions: union :: (ToStream a, t HasToStreamValueOf a, ToStream b, t HasToStreamValueOf b) => a -> b -> Expr (StreamType False t)
- Database.RethinkDB.Functions: union' :: (ToStream a, t HasToStreamValueOf a, ToStream b, t HasToStreamValueOf b) => a -> b -> Expr (StreamType False t)
- Database.RethinkDB.Functions: unpick :: HasValueType e ObjectType => [String] -> e -> ObjectExpr
- Database.RethinkDB.Functions: var :: ExprIsView (Expr t) ~ False => String -> Expr t
- Database.RethinkDB.Functions: zip :: (ToStream e, ObjectType HasToStreamValueOf e) => e -> Expr (StreamType False ObjectType)
- Database.RethinkDB.Functions: zip' :: (ToStream e, ObjectType HasToStreamValueOf e) => e -> Expr (StreamType False ObjectType)
- Database.RethinkDB.Types: ArrayType :: ValueTypeKind
- Database.RethinkDB.Types: BoolType :: ValueTypeKind
- Database.RethinkDB.Types: NoneType :: ValueTypeKind
- Database.RethinkDB.Types: NumberType :: ValueTypeKind
- Database.RethinkDB.Types: ObjectType :: ValueTypeKind
- Database.RethinkDB.Types: OtherValueType :: ValueTypeKind
- Database.RethinkDB.Types: StreamType :: Bool -> ValueTypeKind -> ExprTypeKind
- Database.RethinkDB.Types: StringType :: ValueTypeKind
- Database.RethinkDB.Types: ValueType :: ValueTypeKind -> ExprTypeKind
- Database.RethinkDB.Types: data ExprTypeKind
- Database.RethinkDB.Types: data ValueTypeKind
+ Database.RethinkDB: (!!) :: Expr a => a -> ReQL -> ReQL
+ Database.RethinkDB: (!=) :: (Expr a, Expr b) => a -> b -> ReQL
+ Database.RethinkDB: (#) :: (Expr a, Expr b, Expr c) => (ReQL -> a) -> (ReQL -> b) -> c -> ReQL
+ Database.RethinkDB: (&&) :: (Expr a, Expr b) => a -> b -> ReQL
+ Database.RethinkDB: (*) :: (Expr a, Expr b) => a -> b -> ReQL
+ Database.RethinkDB: (+) :: (Expr a, Expr b) => a -> b -> ReQL
+ Database.RethinkDB: (++) :: (Expr a, Expr b) => a -> b -> ReQL
+ Database.RethinkDB: (-) :: (Expr a, Expr b) => a -> b -> ReQL
+ Database.RethinkDB: (.) :: (Expr a, Expr b, Expr c) => (ReQL -> b) -> (ReQL -> a) -> c -> ReQL
+ Database.RethinkDB: (/) :: (Expr a, Expr b) => a -> b -> ReQL
+ Database.RethinkDB: (<) :: (Expr a, Expr b) => a -> b -> ReQL
+ Database.RethinkDB: (<=) :: (Expr a, Expr b) => a -> b -> ReQL
+ Database.RethinkDB: (==) :: (Expr a, Expr b) => a -> b -> ReQL
+ Database.RethinkDB: (=~) :: (Expr string, Expr regex) => string -> regex -> ReQL
+ Database.RethinkDB: (>) :: (Expr a, Expr b) => a -> b -> ReQL
+ Database.RethinkDB: (>=) :: (Expr a, Expr b) => a -> b -> ReQL
+ Database.RethinkDB: (\\) :: (Expr a, Expr b) => a -> b -> ReQL
+ Database.RethinkDB: (||) :: (Expr a, Expr b) => a -> b -> ReQL
+ Database.RethinkDB: ErrorBadQuery :: ErrorCode
+ Database.RethinkDB: ErrorBrokenClient :: ErrorCode
+ Database.RethinkDB: ErrorRuntime :: ErrorCode
+ Database.RethinkDB: ErrorUnexpectedResponse :: ErrorCode
+ Database.RethinkDB: RethinkDBError :: ErrorCode -> BaseReQL -> String -> Backtrace -> RethinkDBError
+ Database.RethinkDB: Success :: SuccessCode
+ Database.RethinkDB: SuccessPartial :: RethinkDBHandle -> Int64 -> SuccessCode
+ Database.RethinkDB: apply :: (Expr fun, Expr arg) => fun -> [arg] -> ReQL
+ Database.RethinkDB: asBool :: Expr x => x -> ReQL
+ Database.RethinkDB: asNumber :: Expr x => x -> ReQL
+ Database.RethinkDB: asObject :: Expr x => x -> ReQL
+ Database.RethinkDB: asString :: Expr x => x -> ReQL
+ Database.RethinkDB: changeAt :: (Expr n, Expr datum, Expr array) => n -> datum -> array -> ReQL
+ Database.RethinkDB: class Expr e
+ Database.RethinkDB: class Javascript r
+ Database.RethinkDB: class Obj o
+ Database.RethinkDB: class Result r
+ Database.RethinkDB: close :: RethinkDBHandle -> IO ()
+ Database.RethinkDB: coerceTo :: Expr x => ReQL -> x -> ReQL
+ Database.RethinkDB: concatMap :: (Expr a, Expr b) => (ReQL -> b) -> a -> ReQL
+ Database.RethinkDB: connect :: HostName -> Integer -> Maybe String -> IO RethinkDBHandle
+ Database.RethinkDB: convertResult :: Result r => MVar Response -> IO r
+ Database.RethinkDB: data Cursor a
+ Database.RethinkDB: data ErrorCode
+ Database.RethinkDB: data Object
+ Database.RethinkDB: data Response
+ Database.RethinkDB: data RethinkDBError
+ Database.RethinkDB: data SuccessCode
+ Database.RethinkDB: data UTCTime
+ Database.RethinkDB: data ZonedTime
+ Database.RethinkDB: date :: Expr time => time -> ReQL
+ Database.RethinkDB: day :: Expr time => time -> ReQL
+ Database.RethinkDB: dayOfWeek :: Expr time => time -> ReQL
+ Database.RethinkDB: dayOfYear :: Expr time => time -> ReQL
+ Database.RethinkDB: def :: Default a => a
+ Database.RethinkDB: deleteAt :: (Expr n, Expr array) => n -> array -> ReQL
+ Database.RethinkDB: drop :: (Expr a, Expr b) => a -> b -> ReQL
+ Database.RethinkDB: during :: (Expr left, Expr right, Expr time) => Bound left -> Bound right -> time -> ReQL
+ Database.RethinkDB: epochTime :: ReQL -> ReQL
+ Database.RethinkDB: error :: Expr s => s -> ReQL
+ Database.RethinkDB: errorBacktrace :: RethinkDBError -> Backtrace
+ Database.RethinkDB: errorCode :: RethinkDBError -> ErrorCode
+ Database.RethinkDB: errorMessage :: RethinkDBError -> String
+ Database.RethinkDB: errorTerm :: RethinkDBError -> BaseReQL
+ Database.RethinkDB: expr :: Expr e => e -> ReQL
+ Database.RethinkDB: filter :: (Expr predicate, Expr seq) => predicate -> seq -> ReQL
+ Database.RethinkDB: getAll :: Expr value => Key -> [value] -> Table -> ReQL
+ Database.RethinkDB: groupBy :: (Expr group, Expr reduction, Expr seq) => (ReQL -> group) -> (ReQL -> reduction) -> seq -> ReQL
+ Database.RethinkDB: handle :: (Expr handler, Expr reql) => handler -> reql -> ReQL
+ Database.RethinkDB: hasFields :: (Expr obj, Expr paths) => paths -> obj -> ReQL
+ Database.RethinkDB: hours :: Expr time => time -> ReQL
+ Database.RethinkDB: inTimezone :: Expr time => ReQL -> time -> ReQL
+ Database.RethinkDB: indexCreate :: Expr fun => String -> fun -> Table -> ReQL
+ Database.RethinkDB: indexDrop :: Key -> Table -> ReQL
+ Database.RethinkDB: indexList :: Table -> ReQL
+ Database.RethinkDB: indexesOf :: (Expr fun, Expr seq) => fun -> seq -> ReQL
+ Database.RethinkDB: info :: Expr a => a -> ReQL
+ Database.RethinkDB: insertAt :: (Expr n, Expr datum, Expr array) => n -> datum -> array -> ReQL
+ Database.RethinkDB: isEmpty :: Expr seq => seq -> ReQL
+ Database.RethinkDB: iso8601 :: ReQL -> ReQL
+ Database.RethinkDB: json :: Expr string => string -> ReQL
+ Database.RethinkDB: keys :: Expr obj => obj -> ReQL
+ Database.RethinkDB: length :: Expr a => a -> ReQL
+ Database.RethinkDB: map :: (Expr a, Expr b) => (ReQL -> b) -> a -> ReQL
+ Database.RethinkDB: member :: Expr o => [ReQL] -> o -> ReQL
+ Database.RethinkDB: mergeRightLeft :: Expr a => a -> ReQL
+ Database.RethinkDB: minutes :: Expr time => time -> ReQL
+ Database.RethinkDB: month :: Expr time => time -> ReQL
+ Database.RethinkDB: not :: Expr a => a -> ReQL
+ Database.RethinkDB: now :: ReQL
+ Database.RethinkDB: num :: Double -> ReQL
+ Database.RethinkDB: prepend :: (Expr datum, Expr array) => datum -> array -> ReQL
+ Database.RethinkDB: reduce1 :: (Expr a, Expr s) => (ReQL -> ReQL -> a) -> s -> ReQL
+ Database.RethinkDB: returnVals :: ReQL -> ReQL
+ Database.RethinkDB: run' :: Expr query => RethinkDBHandle -> query -> IO [Value]
+ Database.RethinkDB: runOpts :: (Expr query, Result r) => RethinkDBHandle -> [RunOptions] -> query -> IO r
+ Database.RethinkDB: sample :: (Expr n, Expr seq) => n -> seq -> ReQL
+ Database.RethinkDB: seconds :: Expr time => time -> ReQL
+ Database.RethinkDB: setDifference :: (Expr set, Expr remove) => remove -> set -> ReQL
+ Database.RethinkDB: setInsert :: (Expr datum, Expr array) => datum -> array -> ReQL
+ Database.RethinkDB: setIntersection :: (Expr a, Expr b) => a -> b -> ReQL
+ Database.RethinkDB: setUnion :: (Expr a, Expr b) => a -> b -> ReQL
+ Database.RethinkDB: spliceAt :: (Expr n, Expr replace, Expr array) => n -> replace -> array -> ReQL
+ Database.RethinkDB: sum :: Expr s => s -> ReQL
+ Database.RethinkDB: tablePrimaryKey :: Table -> Maybe Key
+ Database.RethinkDB: take :: (Expr a, Expr b) => a -> b -> ReQL
+ Database.RethinkDB: time :: ReQL -> ReQL -> ReQL -> ReQL -> ReQL -> ReQL -> ReQL -> ReQL
+ Database.RethinkDB: timeOfDay :: Expr time => time -> ReQL
+ Database.RethinkDB: timezone :: Expr time => time -> ReQL
+ Database.RethinkDB: toEpochTime :: Expr t => t -> ReQL
+ Database.RethinkDB: toIso8601 :: Expr t => t -> ReQL
+ Database.RethinkDB: typeOf :: Expr a => a -> ReQL
+ Database.RethinkDB: withFields :: (Expr paths, Expr seq) => [paths] -> seq -> ReQL
+ Database.RethinkDB: year :: Expr time => time -> ReQL
+ Database.RethinkDB.Driver: NoReply :: RunOptions
+ Database.RethinkDB.Driver: SoftDurability :: Bool -> RunOptions
+ Database.RethinkDB.Driver: UseOutdated :: RunOptions
+ Database.RethinkDB.Driver: class Result r
+ Database.RethinkDB.Driver: convertResult :: Result r => MVar Response -> IO r
+ Database.RethinkDB.Driver: data RunOptions
+ Database.RethinkDB.Driver: instance FromJSON a => Result (Cursor a)
+ Database.RethinkDB.Driver: instance FromJSON a => Result (Maybe a)
+ Database.RethinkDB.Driver: instance FromJSON a => Result [a]
+ Database.RethinkDB.Driver: instance Result Response
+ Database.RethinkDB.Driver: run' :: Expr query => RethinkDBHandle -> query -> IO [Value]
+ Database.RethinkDB.Driver: runOpts :: (Expr query, Result r) => RethinkDBHandle -> [RunOptions] -> query -> IO r
+ Database.RethinkDB.Functions: (#) :: (Expr a, Expr b, Expr c) => (ReQL -> a) -> (ReQL -> b) -> c -> ReQL
+ Database.RethinkDB.Functions: (&&) :: (Expr a, Expr b) => a -> b -> ReQL
+ Database.RethinkDB.Functions: (.) :: (Expr a, Expr b, Expr c) => (ReQL -> b) -> (ReQL -> a) -> c -> ReQL
+ Database.RethinkDB.Functions: (=~) :: (Expr string, Expr regex) => string -> regex -> ReQL
+ Database.RethinkDB.Functions: (\\) :: (Expr a, Expr b) => a -> b -> ReQL
+ Database.RethinkDB.Functions: (||) :: (Expr a, Expr b) => a -> b -> ReQL
+ Database.RethinkDB.Functions: apply :: (Expr fun, Expr arg) => fun -> [arg] -> ReQL
+ Database.RethinkDB.Functions: asBool :: Expr x => x -> ReQL
+ Database.RethinkDB.Functions: asNumber :: Expr x => x -> ReQL
+ Database.RethinkDB.Functions: asObject :: Expr x => x -> ReQL
+ Database.RethinkDB.Functions: asString :: Expr x => x -> ReQL
+ Database.RethinkDB.Functions: changeAt :: (Expr n, Expr datum, Expr array) => n -> datum -> array -> ReQL
+ Database.RethinkDB.Functions: class Javascript r
+ Database.RethinkDB.Functions: coerceTo :: Expr x => ReQL -> x -> ReQL
+ Database.RethinkDB.Functions: db :: Text -> Database
+ Database.RethinkDB.Functions: dbCreate :: String -> ReQL
+ Database.RethinkDB.Functions: dbDrop :: Database -> ReQL
+ Database.RethinkDB.Functions: dbList :: ReQL
+ Database.RethinkDB.Functions: delete :: Expr selection => selection -> ReQL
+ Database.RethinkDB.Functions: deleteAt :: (Expr n, Expr array) => n -> array -> ReQL
+ Database.RethinkDB.Functions: get :: (Expr s, Expr k) => k -> s -> ReQL
+ Database.RethinkDB.Functions: getAll :: Expr value => Key -> [value] -> Table -> ReQL
+ Database.RethinkDB.Functions: handle :: (Expr handler, Expr reql) => handler -> reql -> ReQL
+ Database.RethinkDB.Functions: hasFields :: (Expr obj, Expr paths) => paths -> obj -> ReQL
+ Database.RethinkDB.Functions: indexCreate :: Expr fun => String -> fun -> Table -> ReQL
+ Database.RethinkDB.Functions: indexDrop :: Key -> Table -> ReQL
+ Database.RethinkDB.Functions: indexList :: Table -> ReQL
+ Database.RethinkDB.Functions: indexesOf :: (Expr fun, Expr seq) => fun -> seq -> ReQL
+ Database.RethinkDB.Functions: info :: Expr a => a -> ReQL
+ Database.RethinkDB.Functions: insert :: (Expr table, Expr object) => object -> table -> ReQL
+ Database.RethinkDB.Functions: insertAt :: (Expr n, Expr datum, Expr array) => n -> datum -> array -> ReQL
+ Database.RethinkDB.Functions: instance Javascript (ReQL -> ReQL -> ReQL)
+ Database.RethinkDB.Functions: instance Javascript (ReQL -> ReQL)
+ Database.RethinkDB.Functions: instance Javascript ReQL
+ Database.RethinkDB.Functions: isEmpty :: Expr seq => seq -> ReQL
+ Database.RethinkDB.Functions: json :: Expr string => string -> ReQL
+ Database.RethinkDB.Functions: keys :: Expr obj => obj -> ReQL
+ Database.RethinkDB.Functions: member :: Expr o => [ReQL] -> o -> ReQL
+ Database.RethinkDB.Functions: mergeRightLeft :: Expr a => a -> ReQL
+ Database.RethinkDB.Functions: prepend :: (Expr datum, Expr array) => datum -> array -> ReQL
+ Database.RethinkDB.Functions: reduce1 :: (Expr a, Expr s) => (ReQL -> ReQL -> a) -> s -> ReQL
+ Database.RethinkDB.Functions: replace :: Expr selection => (ReQL -> ReQL) -> selection -> ReQL
+ Database.RethinkDB.Functions: sample :: (Expr n, Expr seq) => n -> seq -> ReQL
+ Database.RethinkDB.Functions: setDifference :: (Expr set, Expr remove) => remove -> set -> ReQL
+ Database.RethinkDB.Functions: setInsert :: (Expr datum, Expr array) => datum -> array -> ReQL
+ Database.RethinkDB.Functions: setIntersection :: (Expr a, Expr b) => a -> b -> ReQL
+ Database.RethinkDB.Functions: setUnion :: (Expr a, Expr b) => a -> b -> ReQL
+ Database.RethinkDB.Functions: spliceAt :: (Expr n, Expr replace, Expr array) => n -> replace -> array -> ReQL
+ Database.RethinkDB.Functions: table :: Text -> Table
+ Database.RethinkDB.Functions: tableCreate :: Table -> TableCreateOptions -> ReQL
+ Database.RethinkDB.Functions: tableDrop :: Table -> ReQL
+ Database.RethinkDB.Functions: tableList :: Database -> ReQL
+ Database.RethinkDB.Functions: typeOf :: Expr a => a -> ReQL
+ Database.RethinkDB.Functions: update :: Expr selection => (ReQL -> ReQL) -> selection -> ReQL
+ Database.RethinkDB.Functions: upsert :: (Expr table, Expr object) => object -> table -> ReQL
+ Database.RethinkDB.Functions: withFields :: (Expr paths, Expr seq) => [paths] -> seq -> ReQL
+ Database.RethinkDB.MapReduce: Map :: (ReQL -> ReQL) -> MapReduce
+ Database.RethinkDB.MapReduce: MapReduce :: (ReQL -> ReQL) -> (ReQL -> ReQL -> ReQL) -> (ReQL -> ReQL) -> MapReduce
+ Database.RethinkDB.MapReduce: None :: ReQL -> MapReduce
+ Database.RethinkDB.MapReduce: data MapReduce
+ Database.RethinkDB.MapReduce: extract :: Maybe Int -> TermType -> [MapReduce] -> [(Key, MapReduce)] -> (ReQL -> ReQL, [MapReduce])
+ Database.RethinkDB.MapReduce: extractOne :: MapReduce -> WriterT [MapReduce] (State (Maybe Int)) (ReQL -> ReQL)
+ Database.RethinkDB.MapReduce: fst3 :: (a, b, c) -> a
+ Database.RethinkDB.MapReduce: notNone :: MapReduce -> Bool
+ Database.RethinkDB.MapReduce: rebuild0 :: TermType -> [MapReduce] -> [(Text, MapReduce)] -> MapReduce
+ Database.RethinkDB.MapReduce: rebuildx :: TermType -> [MapReduce] -> [(Key, MapReduce)] -> MapReduce
+ Database.RethinkDB.MapReduce: sameVar :: Int -> BaseArray -> Bool
+ Database.RethinkDB.MapReduce: snd3 :: (a, b, c) -> b
+ Database.RethinkDB.MapReduce: termToMapReduce :: (ReQL -> ReQL) -> State QuerySettings (ReQL -> ReQL, ReQL -> ReQL -> ReQL, ReQL -> ReQL)
+ Database.RethinkDB.MapReduce: thrd3 :: (a, b, c) -> c
+ Database.RethinkDB.MapReduce: toFun1 :: ReQL -> (ReQL -> ReQL)
+ Database.RethinkDB.MapReduce: toFun2 :: ReQL -> (ReQL -> ReQL -> ReQL)
+ Database.RethinkDB.MapReduce: toMapReduce :: Int -> BaseReQL -> MapReduce
+ Database.RethinkDB.MapReduce: toReduce :: MapReduce -> (ReQL -> ReQL, ReQL -> ReQL -> ReQL, ReQL -> ReQL)
+ Database.RethinkDB.MapReduce: unionReduce :: ReQL -> ReQL -> ReQL
+ Database.RethinkDB.MapReduce: wrap :: BaseReQL -> ReQL
+ Database.RethinkDB.Network: ErrorBadQuery :: ErrorCode
+ Database.RethinkDB.Network: ErrorBrokenClient :: ErrorCode
+ Database.RethinkDB.Network: ErrorResponse :: RethinkDBError -> Response
+ Database.RethinkDB.Network: ErrorRuntime :: ErrorCode
+ Database.RethinkDB.Network: ErrorUnexpectedResponse :: ErrorCode
+ Database.RethinkDB.Network: RethinkDBConnectionError :: ByteString -> RethinkDBConnectionError
+ Database.RethinkDB.Network: RethinkDBError :: ErrorCode -> BaseReQL -> String -> Backtrace -> RethinkDBError
+ Database.RethinkDB.Network: RethinkDBHandle :: Handle -> MVar () -> IORef Token -> Database -> IORef (Map Token (Chan Response, BaseReQL)) -> ThreadId -> RethinkDBHandle
+ Database.RethinkDB.Network: Success :: SuccessCode
+ Database.RethinkDB.Network: SuccessPartial :: RethinkDBHandle -> Int64 -> SuccessCode
+ Database.RethinkDB.Network: SuccessResponse :: SuccessCode -> [Datum] -> Response
+ Database.RethinkDB.Network: close :: RethinkDBHandle -> IO ()
+ Database.RethinkDB.Network: collect :: Cursor a -> IO [a]
+ Database.RethinkDB.Network: connect :: HostName -> Integer -> Maybe String -> IO RethinkDBHandle
+ Database.RethinkDB.Network: data Cursor a
+ Database.RethinkDB.Network: data ErrorCode
+ Database.RethinkDB.Network: data Response
+ Database.RethinkDB.Network: data RethinkDBConnectionError
+ Database.RethinkDB.Network: data RethinkDBError
+ Database.RethinkDB.Network: data RethinkDBHandle
+ Database.RethinkDB.Network: data SuccessCode
+ Database.RethinkDB.Network: errorBacktrace :: RethinkDBError -> Backtrace
+ Database.RethinkDB.Network: errorCode :: RethinkDBError -> ErrorCode
+ Database.RethinkDB.Network: errorMessage :: RethinkDBError -> String
+ Database.RethinkDB.Network: errorResponse :: Response -> RethinkDBError
+ Database.RethinkDB.Network: errorTerm :: RethinkDBError -> BaseReQL
+ Database.RethinkDB.Network: instance Exception RethinkDBConnectionError
+ Database.RethinkDB.Network: instance Exception RethinkDBError
+ Database.RethinkDB.Network: instance Exception RethinkDBReadError
+ Database.RethinkDB.Network: instance Functor Cursor
+ Database.RethinkDB.Network: instance Show ErrorCode
+ Database.RethinkDB.Network: instance Show Response
+ Database.RethinkDB.Network: instance Show RethinkDBConnectionError
+ Database.RethinkDB.Network: instance Show RethinkDBError
+ Database.RethinkDB.Network: instance Show RethinkDBHandle
+ Database.RethinkDB.Network: instance Show RethinkDBReadError
+ Database.RethinkDB.Network: instance Show SuccessCode
+ Database.RethinkDB.Network: instance Typeable RethinkDBConnectionError
+ Database.RethinkDB.Network: instance Typeable RethinkDBError
+ Database.RethinkDB.Network: instance Typeable RethinkDBReadError
+ Database.RethinkDB.Network: makeCursor :: MVar Response -> IO (Cursor Datum)
+ Database.RethinkDB.Network: next :: Cursor a -> IO (Maybe a)
+ Database.RethinkDB.Network: nextResponse :: Response -> IO ()
+ Database.RethinkDB.Network: rdbDatabase :: RethinkDBHandle -> Database
+ Database.RethinkDB.Network: rdbHandle :: RethinkDBHandle -> Handle
+ Database.RethinkDB.Network: rdbThread :: RethinkDBHandle -> ThreadId
+ Database.RethinkDB.Network: rdbToken :: RethinkDBHandle -> IORef Token
+ Database.RethinkDB.Network: rdbWait :: RethinkDBHandle -> IORef (Map Token (Chan Response, BaseReQL))
+ Database.RethinkDB.Network: rdbWriteLock :: RethinkDBHandle -> MVar ()
+ Database.RethinkDB.Network: runQLQuery :: RethinkDBHandle -> Query -> BaseReQL -> IO (MVar Response)
+ Database.RethinkDB.Network: stopResponse :: Response -> IO ()
+ Database.RethinkDB.Network: successCode :: Response -> SuccessCode
+ Database.RethinkDB.Network: successDatums :: Response -> [Datum]
+ Database.RethinkDB.Network: use :: RethinkDBHandle -> Database -> RethinkDBHandle
+ Database.RethinkDB.Objects: Database :: Text -> Database
+ Database.RethinkDB.Objects: Table :: Maybe Database -> Text -> Maybe Key -> Table
+ Database.RethinkDB.Objects: TableCreateOptions :: Maybe Text -> Maybe Int64 -> TableCreateOptions
+ Database.RethinkDB.Objects: data Database
+ Database.RethinkDB.Objects: data Table
+ Database.RethinkDB.Objects: data TableCreateOptions
+ Database.RethinkDB.Objects: databaseName :: Database -> Text
+ Database.RethinkDB.Objects: instance Default TableCreateOptions
+ Database.RethinkDB.Objects: instance Eq Database
+ Database.RethinkDB.Objects: instance Eq Table
+ Database.RethinkDB.Objects: instance Ord Database
+ Database.RethinkDB.Objects: instance Ord Table
+ Database.RethinkDB.Objects: instance Show Database
+ Database.RethinkDB.Objects: instance Show Table
+ Database.RethinkDB.Objects: tableCacheSize :: TableCreateOptions -> Maybe Int64
+ Database.RethinkDB.Objects: tableDataCenter :: TableCreateOptions -> Maybe Text
+ Database.RethinkDB.Objects: tableDatabase :: Table -> Maybe Database
+ Database.RethinkDB.Objects: tableName :: Table -> Text
+ Database.RethinkDB.Objects: tablePrimaryKey :: Table -> Maybe Key
+ Database.RethinkDB.Objects: type Datum = Value
+ Database.RethinkDB.Objects: type Key = Text
+ Database.RethinkDB.Protobuf.Ql2: fileDescriptorProto :: FileDescriptorProto
+ Database.RethinkDB.Protobuf.Ql2: protoInfo :: ProtoInfo
+ Database.RethinkDB.Protobuf.Ql2.Backtrace: Backtrace :: !(Seq Frame) -> Backtrace
+ Database.RethinkDB.Protobuf.Ql2.Backtrace: data Backtrace
+ Database.RethinkDB.Protobuf.Ql2.Backtrace: frames :: Backtrace -> !(Seq Frame)
+ Database.RethinkDB.Protobuf.Ql2.Backtrace: instance Data Backtrace
+ Database.RethinkDB.Protobuf.Ql2.Backtrace: instance Default Backtrace
+ Database.RethinkDB.Protobuf.Ql2.Backtrace: instance Eq Backtrace
+ Database.RethinkDB.Protobuf.Ql2.Backtrace: instance GPB Backtrace
+ Database.RethinkDB.Protobuf.Ql2.Backtrace: instance Mergeable Backtrace
+ Database.RethinkDB.Protobuf.Ql2.Backtrace: instance MessageAPI msg' (msg' -> Backtrace) Backtrace
+ Database.RethinkDB.Protobuf.Ql2.Backtrace: instance Ord Backtrace
+ Database.RethinkDB.Protobuf.Ql2.Backtrace: instance ReflectDescriptor Backtrace
+ Database.RethinkDB.Protobuf.Ql2.Backtrace: instance Show Backtrace
+ Database.RethinkDB.Protobuf.Ql2.Backtrace: instance Typeable Backtrace
+ Database.RethinkDB.Protobuf.Ql2.Backtrace: instance Wire Backtrace
+ Database.RethinkDB.Protobuf.Ql2.Datum: Datum :: !(Maybe DatumType) -> !(Maybe Bool) -> !(Maybe Double) -> !(Maybe Utf8) -> !(Seq Datum) -> !(Seq AssocPair) -> !ExtField -> Datum
+ Database.RethinkDB.Protobuf.Ql2.Datum: data Datum
+ Database.RethinkDB.Protobuf.Ql2.Datum: ext'field :: Datum -> !ExtField
+ Database.RethinkDB.Protobuf.Ql2.Datum: instance Data Datum
+ Database.RethinkDB.Protobuf.Ql2.Datum: instance Default Datum
+ Database.RethinkDB.Protobuf.Ql2.Datum: instance Eq Datum
+ Database.RethinkDB.Protobuf.Ql2.Datum: instance ExtendMessage Datum
+ Database.RethinkDB.Protobuf.Ql2.Datum: instance GPB Datum
+ Database.RethinkDB.Protobuf.Ql2.Datum: instance Mergeable Datum
+ Database.RethinkDB.Protobuf.Ql2.Datum: instance MessageAPI msg' (msg' -> Datum) Datum
+ Database.RethinkDB.Protobuf.Ql2.Datum: instance Ord Datum
+ Database.RethinkDB.Protobuf.Ql2.Datum: instance ReflectDescriptor Datum
+ Database.RethinkDB.Protobuf.Ql2.Datum: instance Show Datum
+ Database.RethinkDB.Protobuf.Ql2.Datum: instance Typeable Datum
+ Database.RethinkDB.Protobuf.Ql2.Datum: instance Wire Datum
+ Database.RethinkDB.Protobuf.Ql2.Datum: r_array :: Datum -> !(Seq Datum)
+ Database.RethinkDB.Protobuf.Ql2.Datum: r_bool :: Datum -> !(Maybe Bool)
+ Database.RethinkDB.Protobuf.Ql2.Datum: r_num :: Datum -> !(Maybe Double)
+ Database.RethinkDB.Protobuf.Ql2.Datum: r_object :: Datum -> !(Seq AssocPair)
+ Database.RethinkDB.Protobuf.Ql2.Datum: r_str :: Datum -> !(Maybe Utf8)
+ Database.RethinkDB.Protobuf.Ql2.Datum: type' :: Datum -> !(Maybe DatumType)
+ Database.RethinkDB.Protobuf.Ql2.Datum.AssocPair: AssocPair :: !(Maybe Utf8) -> !(Maybe Datum) -> AssocPair
+ Database.RethinkDB.Protobuf.Ql2.Datum.AssocPair: data AssocPair
+ Database.RethinkDB.Protobuf.Ql2.Datum.AssocPair: instance Data AssocPair
+ Database.RethinkDB.Protobuf.Ql2.Datum.AssocPair: instance Default AssocPair
+ Database.RethinkDB.Protobuf.Ql2.Datum.AssocPair: instance Eq AssocPair
+ Database.RethinkDB.Protobuf.Ql2.Datum.AssocPair: instance GPB AssocPair
+ Database.RethinkDB.Protobuf.Ql2.Datum.AssocPair: instance Mergeable AssocPair
+ Database.RethinkDB.Protobuf.Ql2.Datum.AssocPair: instance MessageAPI msg' (msg' -> AssocPair) AssocPair
+ Database.RethinkDB.Protobuf.Ql2.Datum.AssocPair: instance Ord AssocPair
+ Database.RethinkDB.Protobuf.Ql2.Datum.AssocPair: instance ReflectDescriptor AssocPair
+ Database.RethinkDB.Protobuf.Ql2.Datum.AssocPair: instance Show AssocPair
+ Database.RethinkDB.Protobuf.Ql2.Datum.AssocPair: instance Typeable AssocPair
+ Database.RethinkDB.Protobuf.Ql2.Datum.AssocPair: instance Wire AssocPair
+ Database.RethinkDB.Protobuf.Ql2.Datum.AssocPair: key :: AssocPair -> !(Maybe Utf8)
+ Database.RethinkDB.Protobuf.Ql2.Datum.AssocPair: val :: AssocPair -> !(Maybe Datum)
+ Database.RethinkDB.Protobuf.Ql2.Datum.DatumType: R_ARRAY :: DatumType
+ Database.RethinkDB.Protobuf.Ql2.Datum.DatumType: R_BOOL :: DatumType
+ Database.RethinkDB.Protobuf.Ql2.Datum.DatumType: R_NULL :: DatumType
+ Database.RethinkDB.Protobuf.Ql2.Datum.DatumType: R_NUM :: DatumType
+ Database.RethinkDB.Protobuf.Ql2.Datum.DatumType: R_OBJECT :: DatumType
+ Database.RethinkDB.Protobuf.Ql2.Datum.DatumType: R_STR :: DatumType
+ Database.RethinkDB.Protobuf.Ql2.Datum.DatumType: data DatumType
+ Database.RethinkDB.Protobuf.Ql2.Datum.DatumType: instance Bounded DatumType
+ Database.RethinkDB.Protobuf.Ql2.Datum.DatumType: instance Data DatumType
+ Database.RethinkDB.Protobuf.Ql2.Datum.DatumType: instance Default DatumType
+ Database.RethinkDB.Protobuf.Ql2.Datum.DatumType: instance Enum DatumType
+ Database.RethinkDB.Protobuf.Ql2.Datum.DatumType: instance Eq DatumType
+ Database.RethinkDB.Protobuf.Ql2.Datum.DatumType: instance GPB DatumType
+ Database.RethinkDB.Protobuf.Ql2.Datum.DatumType: instance Mergeable DatumType
+ Database.RethinkDB.Protobuf.Ql2.Datum.DatumType: instance MessageAPI msg' (msg' -> DatumType) DatumType
+ Database.RethinkDB.Protobuf.Ql2.Datum.DatumType: instance Ord DatumType
+ Database.RethinkDB.Protobuf.Ql2.Datum.DatumType: instance Read DatumType
+ Database.RethinkDB.Protobuf.Ql2.Datum.DatumType: instance ReflectEnum DatumType
+ Database.RethinkDB.Protobuf.Ql2.Datum.DatumType: instance Show DatumType
+ Database.RethinkDB.Protobuf.Ql2.Datum.DatumType: instance Typeable DatumType
+ Database.RethinkDB.Protobuf.Ql2.Datum.DatumType: instance Wire DatumType
+ Database.RethinkDB.Protobuf.Ql2.Frame: Frame :: !(Maybe FrameType) -> !(Maybe Int64) -> !(Maybe Utf8) -> Frame
+ Database.RethinkDB.Protobuf.Ql2.Frame: data Frame
+ Database.RethinkDB.Protobuf.Ql2.Frame: instance Data Frame
+ Database.RethinkDB.Protobuf.Ql2.Frame: instance Default Frame
+ Database.RethinkDB.Protobuf.Ql2.Frame: instance Eq Frame
+ Database.RethinkDB.Protobuf.Ql2.Frame: instance GPB Frame
+ Database.RethinkDB.Protobuf.Ql2.Frame: instance Mergeable Frame
+ Database.RethinkDB.Protobuf.Ql2.Frame: instance MessageAPI msg' (msg' -> Frame) Frame
+ Database.RethinkDB.Protobuf.Ql2.Frame: instance Ord Frame
+ Database.RethinkDB.Protobuf.Ql2.Frame: instance ReflectDescriptor Frame
+ Database.RethinkDB.Protobuf.Ql2.Frame: instance Show Frame
+ Database.RethinkDB.Protobuf.Ql2.Frame: instance Typeable Frame
+ Database.RethinkDB.Protobuf.Ql2.Frame: instance Wire Frame
+ Database.RethinkDB.Protobuf.Ql2.Frame: opt :: Frame -> !(Maybe Utf8)
+ Database.RethinkDB.Protobuf.Ql2.Frame: pos :: Frame -> !(Maybe Int64)
+ Database.RethinkDB.Protobuf.Ql2.Frame: type' :: Frame -> !(Maybe FrameType)
+ Database.RethinkDB.Protobuf.Ql2.Frame.FrameType: OPT :: FrameType
+ Database.RethinkDB.Protobuf.Ql2.Frame.FrameType: POS :: FrameType
+ Database.RethinkDB.Protobuf.Ql2.Frame.FrameType: data FrameType
+ Database.RethinkDB.Protobuf.Ql2.Frame.FrameType: instance Bounded FrameType
+ Database.RethinkDB.Protobuf.Ql2.Frame.FrameType: instance Data FrameType
+ Database.RethinkDB.Protobuf.Ql2.Frame.FrameType: instance Default FrameType
+ Database.RethinkDB.Protobuf.Ql2.Frame.FrameType: instance Enum FrameType
+ Database.RethinkDB.Protobuf.Ql2.Frame.FrameType: instance Eq FrameType
+ Database.RethinkDB.Protobuf.Ql2.Frame.FrameType: instance GPB FrameType
+ Database.RethinkDB.Protobuf.Ql2.Frame.FrameType: instance Mergeable FrameType
+ Database.RethinkDB.Protobuf.Ql2.Frame.FrameType: instance MessageAPI msg' (msg' -> FrameType) FrameType
+ Database.RethinkDB.Protobuf.Ql2.Frame.FrameType: instance Ord FrameType
+ Database.RethinkDB.Protobuf.Ql2.Frame.FrameType: instance Read FrameType
+ Database.RethinkDB.Protobuf.Ql2.Frame.FrameType: instance ReflectEnum FrameType
+ Database.RethinkDB.Protobuf.Ql2.Frame.FrameType: instance Show FrameType
+ Database.RethinkDB.Protobuf.Ql2.Frame.FrameType: instance Typeable FrameType
+ Database.RethinkDB.Protobuf.Ql2.Frame.FrameType: instance Wire FrameType
+ Database.RethinkDB.Protobuf.Ql2.Query: Query :: !(Maybe QueryType) -> !(Maybe Term) -> !(Maybe Int64) -> !(Maybe Bool) -> !(Seq AssocPair) -> Query
+ Database.RethinkDB.Protobuf.Ql2.Query: data Query
+ Database.RethinkDB.Protobuf.Ql2.Query: global_optargs :: Query -> !(Seq AssocPair)
+ Database.RethinkDB.Protobuf.Ql2.Query: instance Data Query
+ Database.RethinkDB.Protobuf.Ql2.Query: instance Default Query
+ Database.RethinkDB.Protobuf.Ql2.Query: instance Eq Query
+ Database.RethinkDB.Protobuf.Ql2.Query: instance GPB Query
+ Database.RethinkDB.Protobuf.Ql2.Query: instance Mergeable Query
+ Database.RethinkDB.Protobuf.Ql2.Query: instance MessageAPI msg' (msg' -> Query) Query
+ Database.RethinkDB.Protobuf.Ql2.Query: instance Ord Query
+ Database.RethinkDB.Protobuf.Ql2.Query: instance ReflectDescriptor Query
+ Database.RethinkDB.Protobuf.Ql2.Query: instance Show Query
+ Database.RethinkDB.Protobuf.Ql2.Query: instance Typeable Query
+ Database.RethinkDB.Protobuf.Ql2.Query: instance Wire Query
+ Database.RethinkDB.Protobuf.Ql2.Query: oBSOLETE_noreply :: Query -> !(Maybe Bool)
+ Database.RethinkDB.Protobuf.Ql2.Query: query :: Query -> !(Maybe Term)
+ Database.RethinkDB.Protobuf.Ql2.Query: token :: Query -> !(Maybe Int64)
+ Database.RethinkDB.Protobuf.Ql2.Query: type' :: Query -> !(Maybe QueryType)
+ Database.RethinkDB.Protobuf.Ql2.Query.AssocPair: AssocPair :: !(Maybe Utf8) -> !(Maybe Term) -> AssocPair
+ Database.RethinkDB.Protobuf.Ql2.Query.AssocPair: data AssocPair
+ Database.RethinkDB.Protobuf.Ql2.Query.AssocPair: instance Data AssocPair
+ Database.RethinkDB.Protobuf.Ql2.Query.AssocPair: instance Default AssocPair
+ Database.RethinkDB.Protobuf.Ql2.Query.AssocPair: instance Eq AssocPair
+ Database.RethinkDB.Protobuf.Ql2.Query.AssocPair: instance GPB AssocPair
+ Database.RethinkDB.Protobuf.Ql2.Query.AssocPair: instance Mergeable AssocPair
+ Database.RethinkDB.Protobuf.Ql2.Query.AssocPair: instance MessageAPI msg' (msg' -> AssocPair) AssocPair
+ Database.RethinkDB.Protobuf.Ql2.Query.AssocPair: instance Ord AssocPair
+ Database.RethinkDB.Protobuf.Ql2.Query.AssocPair: instance ReflectDescriptor AssocPair
+ Database.RethinkDB.Protobuf.Ql2.Query.AssocPair: instance Show AssocPair
+ Database.RethinkDB.Protobuf.Ql2.Query.AssocPair: instance Typeable AssocPair
+ Database.RethinkDB.Protobuf.Ql2.Query.AssocPair: instance Wire AssocPair
+ Database.RethinkDB.Protobuf.Ql2.Query.AssocPair: key :: AssocPair -> !(Maybe Utf8)
+ Database.RethinkDB.Protobuf.Ql2.Query.AssocPair: val :: AssocPair -> !(Maybe Term)
+ Database.RethinkDB.Protobuf.Ql2.Query.QueryType: CONTINUE :: QueryType
+ Database.RethinkDB.Protobuf.Ql2.Query.QueryType: START :: QueryType
+ Database.RethinkDB.Protobuf.Ql2.Query.QueryType: STOP :: QueryType
+ Database.RethinkDB.Protobuf.Ql2.Query.QueryType: data QueryType
+ Database.RethinkDB.Protobuf.Ql2.Query.QueryType: instance Bounded QueryType
+ Database.RethinkDB.Protobuf.Ql2.Query.QueryType: instance Data QueryType
+ Database.RethinkDB.Protobuf.Ql2.Query.QueryType: instance Default QueryType
+ Database.RethinkDB.Protobuf.Ql2.Query.QueryType: instance Enum QueryType
+ Database.RethinkDB.Protobuf.Ql2.Query.QueryType: instance Eq QueryType
+ Database.RethinkDB.Protobuf.Ql2.Query.QueryType: instance GPB QueryType
+ Database.RethinkDB.Protobuf.Ql2.Query.QueryType: instance Mergeable QueryType
+ Database.RethinkDB.Protobuf.Ql2.Query.QueryType: instance MessageAPI msg' (msg' -> QueryType) QueryType
+ Database.RethinkDB.Protobuf.Ql2.Query.QueryType: instance Ord QueryType
+ Database.RethinkDB.Protobuf.Ql2.Query.QueryType: instance Read QueryType
+ Database.RethinkDB.Protobuf.Ql2.Query.QueryType: instance ReflectEnum QueryType
+ Database.RethinkDB.Protobuf.Ql2.Query.QueryType: instance Show QueryType
+ Database.RethinkDB.Protobuf.Ql2.Query.QueryType: instance Typeable QueryType
+ Database.RethinkDB.Protobuf.Ql2.Query.QueryType: instance Wire QueryType
+ Database.RethinkDB.Protobuf.Ql2.Response: Response :: !(Maybe ResponseType) -> !(Maybe Int64) -> !(Seq Datum) -> !(Maybe Backtrace) -> Response
+ Database.RethinkDB.Protobuf.Ql2.Response: backtrace :: Response -> !(Maybe Backtrace)
+ Database.RethinkDB.Protobuf.Ql2.Response: data Response
+ Database.RethinkDB.Protobuf.Ql2.Response: instance Data Response
+ Database.RethinkDB.Protobuf.Ql2.Response: instance Default Response
+ Database.RethinkDB.Protobuf.Ql2.Response: instance Eq Response
+ Database.RethinkDB.Protobuf.Ql2.Response: instance GPB Response
+ Database.RethinkDB.Protobuf.Ql2.Response: instance Mergeable Response
+ Database.RethinkDB.Protobuf.Ql2.Response: instance MessageAPI msg' (msg' -> Response) Response
+ Database.RethinkDB.Protobuf.Ql2.Response: instance Ord Response
+ Database.RethinkDB.Protobuf.Ql2.Response: instance ReflectDescriptor Response
+ Database.RethinkDB.Protobuf.Ql2.Response: instance Show Response
+ Database.RethinkDB.Protobuf.Ql2.Response: instance Typeable Response
+ Database.RethinkDB.Protobuf.Ql2.Response: instance Wire Response
+ Database.RethinkDB.Protobuf.Ql2.Response: response :: Response -> !(Seq Datum)
+ Database.RethinkDB.Protobuf.Ql2.Response: token :: Response -> !(Maybe Int64)
+ Database.RethinkDB.Protobuf.Ql2.Response: type' :: Response -> !(Maybe ResponseType)
+ Database.RethinkDB.Protobuf.Ql2.Response.ResponseType: CLIENT_ERROR :: ResponseType
+ Database.RethinkDB.Protobuf.Ql2.Response.ResponseType: COMPILE_ERROR :: ResponseType
+ Database.RethinkDB.Protobuf.Ql2.Response.ResponseType: RUNTIME_ERROR :: ResponseType
+ Database.RethinkDB.Protobuf.Ql2.Response.ResponseType: SUCCESS_ATOM :: ResponseType
+ Database.RethinkDB.Protobuf.Ql2.Response.ResponseType: SUCCESS_PARTIAL :: ResponseType
+ Database.RethinkDB.Protobuf.Ql2.Response.ResponseType: SUCCESS_SEQUENCE :: ResponseType
+ Database.RethinkDB.Protobuf.Ql2.Response.ResponseType: data ResponseType
+ Database.RethinkDB.Protobuf.Ql2.Response.ResponseType: instance Bounded ResponseType
+ Database.RethinkDB.Protobuf.Ql2.Response.ResponseType: instance Data ResponseType
+ Database.RethinkDB.Protobuf.Ql2.Response.ResponseType: instance Default ResponseType
+ Database.RethinkDB.Protobuf.Ql2.Response.ResponseType: instance Enum ResponseType
+ Database.RethinkDB.Protobuf.Ql2.Response.ResponseType: instance Eq ResponseType
+ Database.RethinkDB.Protobuf.Ql2.Response.ResponseType: instance GPB ResponseType
+ Database.RethinkDB.Protobuf.Ql2.Response.ResponseType: instance Mergeable ResponseType
+ Database.RethinkDB.Protobuf.Ql2.Response.ResponseType: instance MessageAPI msg' (msg' -> ResponseType) ResponseType
+ Database.RethinkDB.Protobuf.Ql2.Response.ResponseType: instance Ord ResponseType
+ Database.RethinkDB.Protobuf.Ql2.Response.ResponseType: instance Read ResponseType
+ Database.RethinkDB.Protobuf.Ql2.Response.ResponseType: instance ReflectEnum ResponseType
+ Database.RethinkDB.Protobuf.Ql2.Response.ResponseType: instance Show ResponseType
+ Database.RethinkDB.Protobuf.Ql2.Response.ResponseType: instance Typeable ResponseType
+ Database.RethinkDB.Protobuf.Ql2.Response.ResponseType: instance Wire ResponseType
+ Database.RethinkDB.Protobuf.Ql2.Term: Term :: !(Maybe TermType) -> !(Maybe Datum) -> !(Seq Term) -> !(Seq AssocPair) -> !ExtField -> Term
+ Database.RethinkDB.Protobuf.Ql2.Term: args :: Term -> !(Seq Term)
+ Database.RethinkDB.Protobuf.Ql2.Term: data Term
+ Database.RethinkDB.Protobuf.Ql2.Term: datum :: Term -> !(Maybe Datum)
+ Database.RethinkDB.Protobuf.Ql2.Term: ext'field :: Term -> !ExtField
+ Database.RethinkDB.Protobuf.Ql2.Term: instance Data Term
+ Database.RethinkDB.Protobuf.Ql2.Term: instance Default Term
+ Database.RethinkDB.Protobuf.Ql2.Term: instance Eq Term
+ Database.RethinkDB.Protobuf.Ql2.Term: instance ExtendMessage Term
+ Database.RethinkDB.Protobuf.Ql2.Term: instance GPB Term
+ Database.RethinkDB.Protobuf.Ql2.Term: instance Mergeable Term
+ Database.RethinkDB.Protobuf.Ql2.Term: instance MessageAPI msg' (msg' -> Term) Term
+ Database.RethinkDB.Protobuf.Ql2.Term: instance Ord Term
+ Database.RethinkDB.Protobuf.Ql2.Term: instance ReflectDescriptor Term
+ Database.RethinkDB.Protobuf.Ql2.Term: instance Show Term
+ Database.RethinkDB.Protobuf.Ql2.Term: instance Typeable Term
+ Database.RethinkDB.Protobuf.Ql2.Term: instance Wire Term
+ Database.RethinkDB.Protobuf.Ql2.Term: optargs :: Term -> !(Seq AssocPair)
+ Database.RethinkDB.Protobuf.Ql2.Term: type' :: Term -> !(Maybe TermType)
+ Database.RethinkDB.Protobuf.Ql2.Term.AssocPair: AssocPair :: !(Maybe Utf8) -> !(Maybe Term) -> AssocPair
+ Database.RethinkDB.Protobuf.Ql2.Term.AssocPair: data AssocPair
+ Database.RethinkDB.Protobuf.Ql2.Term.AssocPair: instance Data AssocPair
+ Database.RethinkDB.Protobuf.Ql2.Term.AssocPair: instance Default AssocPair
+ Database.RethinkDB.Protobuf.Ql2.Term.AssocPair: instance Eq AssocPair
+ Database.RethinkDB.Protobuf.Ql2.Term.AssocPair: instance GPB AssocPair
+ Database.RethinkDB.Protobuf.Ql2.Term.AssocPair: instance Mergeable AssocPair
+ Database.RethinkDB.Protobuf.Ql2.Term.AssocPair: instance MessageAPI msg' (msg' -> AssocPair) AssocPair
+ Database.RethinkDB.Protobuf.Ql2.Term.AssocPair: instance Ord AssocPair
+ Database.RethinkDB.Protobuf.Ql2.Term.AssocPair: instance ReflectDescriptor AssocPair
+ Database.RethinkDB.Protobuf.Ql2.Term.AssocPair: instance Show AssocPair
+ Database.RethinkDB.Protobuf.Ql2.Term.AssocPair: instance Typeable AssocPair
+ Database.RethinkDB.Protobuf.Ql2.Term.AssocPair: instance Wire AssocPair
+ Database.RethinkDB.Protobuf.Ql2.Term.AssocPair: key :: AssocPair -> !(Maybe Utf8)
+ Database.RethinkDB.Protobuf.Ql2.Term.AssocPair: val :: AssocPair -> !(Maybe Term)
+ Database.RethinkDB.Protobuf.Ql2.Term.TermType: ADD :: TermType
+ Database.RethinkDB.Protobuf.Ql2.Term.TermType: ALL :: TermType
+ Database.RethinkDB.Protobuf.Ql2.Term.TermType: ANY :: TermType
+ Database.RethinkDB.Protobuf.Ql2.Term.TermType: APPEND :: TermType
+ Database.RethinkDB.Protobuf.Ql2.Term.TermType: APRIL :: TermType
+ Database.RethinkDB.Protobuf.Ql2.Term.TermType: ASC :: TermType
+ Database.RethinkDB.Protobuf.Ql2.Term.TermType: AUGUST :: TermType
+ Database.RethinkDB.Protobuf.Ql2.Term.TermType: BETWEEN :: TermType
+ Database.RethinkDB.Protobuf.Ql2.Term.TermType: BRANCH :: TermType
+ Database.RethinkDB.Protobuf.Ql2.Term.TermType: CHANGE_AT :: TermType
+ Database.RethinkDB.Protobuf.Ql2.Term.TermType: COERCE_TO :: TermType
+ Database.RethinkDB.Protobuf.Ql2.Term.TermType: CONCATMAP :: TermType
+ Database.RethinkDB.Protobuf.Ql2.Term.TermType: CONTAINS :: TermType
+ Database.RethinkDB.Protobuf.Ql2.Term.TermType: COUNT :: TermType
+ Database.RethinkDB.Protobuf.Ql2.Term.TermType: DATE :: TermType
+ Database.RethinkDB.Protobuf.Ql2.Term.TermType: DATUM :: TermType
+ Database.RethinkDB.Protobuf.Ql2.Term.TermType: DAY :: TermType
+ Database.RethinkDB.Protobuf.Ql2.Term.TermType: DAY_OF_WEEK :: TermType
+ Database.RethinkDB.Protobuf.Ql2.Term.TermType: DAY_OF_YEAR :: TermType
+ Database.RethinkDB.Protobuf.Ql2.Term.TermType: DB :: TermType
+ Database.RethinkDB.Protobuf.Ql2.Term.TermType: DB_CREATE :: TermType
+ Database.RethinkDB.Protobuf.Ql2.Term.TermType: DB_DROP :: TermType
+ Database.RethinkDB.Protobuf.Ql2.Term.TermType: DB_LIST :: TermType
+ Database.RethinkDB.Protobuf.Ql2.Term.TermType: DECEMBER :: TermType
+ Database.RethinkDB.Protobuf.Ql2.Term.TermType: DEFAULT :: TermType
+ Database.RethinkDB.Protobuf.Ql2.Term.TermType: DELETE :: TermType
+ Database.RethinkDB.Protobuf.Ql2.Term.TermType: DELETE_AT :: TermType
+ Database.RethinkDB.Protobuf.Ql2.Term.TermType: DESC :: TermType
+ Database.RethinkDB.Protobuf.Ql2.Term.TermType: DIFFERENCE :: TermType
+ Database.RethinkDB.Protobuf.Ql2.Term.TermType: DISTINCT :: TermType
+ Database.RethinkDB.Protobuf.Ql2.Term.TermType: DIV :: TermType
+ Database.RethinkDB.Protobuf.Ql2.Term.TermType: DURING :: TermType
+ Database.RethinkDB.Protobuf.Ql2.Term.TermType: EPOCH_TIME :: TermType
+ Database.RethinkDB.Protobuf.Ql2.Term.TermType: EQ :: TermType
+ Database.RethinkDB.Protobuf.Ql2.Term.TermType: EQ_JOIN :: TermType
+ Database.RethinkDB.Protobuf.Ql2.Term.TermType: ERROR :: TermType
+ Database.RethinkDB.Protobuf.Ql2.Term.TermType: FEBRUARY :: TermType
+ Database.RethinkDB.Protobuf.Ql2.Term.TermType: FILTER :: TermType
+ Database.RethinkDB.Protobuf.Ql2.Term.TermType: FOREACH :: TermType
+ Database.RethinkDB.Protobuf.Ql2.Term.TermType: FRIDAY :: TermType
+ Database.RethinkDB.Protobuf.Ql2.Term.TermType: FUNC :: TermType
+ Database.RethinkDB.Protobuf.Ql2.Term.TermType: FUNCALL :: TermType
+ Database.RethinkDB.Protobuf.Ql2.Term.TermType: GE :: TermType
+ Database.RethinkDB.Protobuf.Ql2.Term.TermType: GET :: TermType
+ Database.RethinkDB.Protobuf.Ql2.Term.TermType: GET_ALL :: TermType
+ Database.RethinkDB.Protobuf.Ql2.Term.TermType: GET_FIELD :: TermType
+ Database.RethinkDB.Protobuf.Ql2.Term.TermType: GROUPBY :: TermType
+ Database.RethinkDB.Protobuf.Ql2.Term.TermType: GROUPED_MAP_REDUCE :: TermType
+ Database.RethinkDB.Protobuf.Ql2.Term.TermType: GT :: TermType
+ Database.RethinkDB.Protobuf.Ql2.Term.TermType: HAS_FIELDS :: TermType
+ Database.RethinkDB.Protobuf.Ql2.Term.TermType: HOURS :: TermType
+ Database.RethinkDB.Protobuf.Ql2.Term.TermType: IMPLICIT_VAR :: TermType
+ Database.RethinkDB.Protobuf.Ql2.Term.TermType: INDEXES_OF :: TermType
+ Database.RethinkDB.Protobuf.Ql2.Term.TermType: INDEX_CREATE :: TermType
+ Database.RethinkDB.Protobuf.Ql2.Term.TermType: INDEX_DROP :: TermType
+ Database.RethinkDB.Protobuf.Ql2.Term.TermType: INDEX_LIST :: TermType
+ Database.RethinkDB.Protobuf.Ql2.Term.TermType: INFO :: TermType
+ Database.RethinkDB.Protobuf.Ql2.Term.TermType: INNER_JOIN :: TermType
+ Database.RethinkDB.Protobuf.Ql2.Term.TermType: INSERT :: TermType
+ Database.RethinkDB.Protobuf.Ql2.Term.TermType: INSERT_AT :: TermType
+ Database.RethinkDB.Protobuf.Ql2.Term.TermType: IN_TIMEZONE :: TermType
+ Database.RethinkDB.Protobuf.Ql2.Term.TermType: ISO8601 :: TermType
+ Database.RethinkDB.Protobuf.Ql2.Term.TermType: IS_EMPTY :: TermType
+ Database.RethinkDB.Protobuf.Ql2.Term.TermType: JANUARY :: TermType
+ Database.RethinkDB.Protobuf.Ql2.Term.TermType: JAVASCRIPT :: TermType
+ Database.RethinkDB.Protobuf.Ql2.Term.TermType: JSON :: TermType
+ Database.RethinkDB.Protobuf.Ql2.Term.TermType: JULY :: TermType
+ Database.RethinkDB.Protobuf.Ql2.Term.TermType: JUNE :: TermType
+ Database.RethinkDB.Protobuf.Ql2.Term.TermType: KEYS :: TermType
+ Database.RethinkDB.Protobuf.Ql2.Term.TermType: LE :: TermType
+ Database.RethinkDB.Protobuf.Ql2.Term.TermType: LIMIT :: TermType
+ Database.RethinkDB.Protobuf.Ql2.Term.TermType: LITERAL :: TermType
+ Database.RethinkDB.Protobuf.Ql2.Term.TermType: LT :: TermType
+ Database.RethinkDB.Protobuf.Ql2.Term.TermType: MAKE_ARRAY :: TermType
+ Database.RethinkDB.Protobuf.Ql2.Term.TermType: MAKE_OBJ :: TermType
+ Database.RethinkDB.Protobuf.Ql2.Term.TermType: MAP :: TermType
+ Database.RethinkDB.Protobuf.Ql2.Term.TermType: MARCH :: TermType
+ Database.RethinkDB.Protobuf.Ql2.Term.TermType: MATCH :: TermType
+ Database.RethinkDB.Protobuf.Ql2.Term.TermType: MAY :: TermType
+ Database.RethinkDB.Protobuf.Ql2.Term.TermType: MERGE :: TermType
+ Database.RethinkDB.Protobuf.Ql2.Term.TermType: MINUTES :: TermType
+ Database.RethinkDB.Protobuf.Ql2.Term.TermType: MOD :: TermType
+ Database.RethinkDB.Protobuf.Ql2.Term.TermType: MONDAY :: TermType
+ Database.RethinkDB.Protobuf.Ql2.Term.TermType: MONTH :: TermType
+ Database.RethinkDB.Protobuf.Ql2.Term.TermType: MUL :: TermType
+ Database.RethinkDB.Protobuf.Ql2.Term.TermType: NE :: TermType
+ Database.RethinkDB.Protobuf.Ql2.Term.TermType: NOT :: TermType
+ Database.RethinkDB.Protobuf.Ql2.Term.TermType: NOVEMBER :: TermType
+ Database.RethinkDB.Protobuf.Ql2.Term.TermType: NOW :: TermType
+ Database.RethinkDB.Protobuf.Ql2.Term.TermType: NTH :: TermType
+ Database.RethinkDB.Protobuf.Ql2.Term.TermType: OCTOBER :: TermType
+ Database.RethinkDB.Protobuf.Ql2.Term.TermType: ORDERBY :: TermType
+ Database.RethinkDB.Protobuf.Ql2.Term.TermType: OUTER_JOIN :: TermType
+ Database.RethinkDB.Protobuf.Ql2.Term.TermType: PLUCK :: TermType
+ Database.RethinkDB.Protobuf.Ql2.Term.TermType: PREPEND :: TermType
+ Database.RethinkDB.Protobuf.Ql2.Term.TermType: REDUCE :: TermType
+ Database.RethinkDB.Protobuf.Ql2.Term.TermType: REPLACE :: TermType
+ Database.RethinkDB.Protobuf.Ql2.Term.TermType: SAMPLE :: TermType
+ Database.RethinkDB.Protobuf.Ql2.Term.TermType: SATURDAY :: TermType
+ Database.RethinkDB.Protobuf.Ql2.Term.TermType: SECONDS :: TermType
+ Database.RethinkDB.Protobuf.Ql2.Term.TermType: SEPTEMBER :: TermType
+ Database.RethinkDB.Protobuf.Ql2.Term.TermType: SET_DIFFERENCE :: TermType
+ Database.RethinkDB.Protobuf.Ql2.Term.TermType: SET_INSERT :: TermType
+ Database.RethinkDB.Protobuf.Ql2.Term.TermType: SET_INTERSECTION :: TermType
+ Database.RethinkDB.Protobuf.Ql2.Term.TermType: SET_UNION :: TermType
+ Database.RethinkDB.Protobuf.Ql2.Term.TermType: SKIP :: TermType
+ Database.RethinkDB.Protobuf.Ql2.Term.TermType: SLICE :: TermType
+ Database.RethinkDB.Protobuf.Ql2.Term.TermType: SPLICE_AT :: TermType
+ Database.RethinkDB.Protobuf.Ql2.Term.TermType: SUB :: TermType
+ Database.RethinkDB.Protobuf.Ql2.Term.TermType: SUNDAY :: TermType
+ Database.RethinkDB.Protobuf.Ql2.Term.TermType: TABLE :: TermType
+ Database.RethinkDB.Protobuf.Ql2.Term.TermType: TABLE_CREATE :: TermType
+ Database.RethinkDB.Protobuf.Ql2.Term.TermType: TABLE_DROP :: TermType
+ Database.RethinkDB.Protobuf.Ql2.Term.TermType: TABLE_LIST :: TermType
+ Database.RethinkDB.Protobuf.Ql2.Term.TermType: THURSDAY :: TermType
+ Database.RethinkDB.Protobuf.Ql2.Term.TermType: TIME :: TermType
+ Database.RethinkDB.Protobuf.Ql2.Term.TermType: TIMEZONE :: TermType
+ Database.RethinkDB.Protobuf.Ql2.Term.TermType: TIME_OF_DAY :: TermType
+ Database.RethinkDB.Protobuf.Ql2.Term.TermType: TO_EPOCH_TIME :: TermType
+ Database.RethinkDB.Protobuf.Ql2.Term.TermType: TO_ISO8601 :: TermType
+ Database.RethinkDB.Protobuf.Ql2.Term.TermType: TUESDAY :: TermType
+ Database.RethinkDB.Protobuf.Ql2.Term.TermType: TYPEOF :: TermType
+ Database.RethinkDB.Protobuf.Ql2.Term.TermType: UNION :: TermType
+ Database.RethinkDB.Protobuf.Ql2.Term.TermType: UPDATE :: TermType
+ Database.RethinkDB.Protobuf.Ql2.Term.TermType: VAR :: TermType
+ Database.RethinkDB.Protobuf.Ql2.Term.TermType: WEDNESDAY :: TermType
+ Database.RethinkDB.Protobuf.Ql2.Term.TermType: WITHOUT :: TermType
+ Database.RethinkDB.Protobuf.Ql2.Term.TermType: WITH_FIELDS :: TermType
+ Database.RethinkDB.Protobuf.Ql2.Term.TermType: YEAR :: TermType
+ Database.RethinkDB.Protobuf.Ql2.Term.TermType: ZIP :: TermType
+ Database.RethinkDB.Protobuf.Ql2.Term.TermType: data TermType
+ Database.RethinkDB.Protobuf.Ql2.Term.TermType: instance Bounded TermType
+ Database.RethinkDB.Protobuf.Ql2.Term.TermType: instance Data TermType
+ Database.RethinkDB.Protobuf.Ql2.Term.TermType: instance Default TermType
+ Database.RethinkDB.Protobuf.Ql2.Term.TermType: instance Enum TermType
+ Database.RethinkDB.Protobuf.Ql2.Term.TermType: instance Eq TermType
+ Database.RethinkDB.Protobuf.Ql2.Term.TermType: instance GPB TermType
+ Database.RethinkDB.Protobuf.Ql2.Term.TermType: instance Mergeable TermType
+ Database.RethinkDB.Protobuf.Ql2.Term.TermType: instance MessageAPI msg' (msg' -> TermType) TermType
+ Database.RethinkDB.Protobuf.Ql2.Term.TermType: instance Ord TermType
+ Database.RethinkDB.Protobuf.Ql2.Term.TermType: instance Read TermType
+ Database.RethinkDB.Protobuf.Ql2.Term.TermType: instance ReflectEnum TermType
+ Database.RethinkDB.Protobuf.Ql2.Term.TermType: instance Show TermType
+ Database.RethinkDB.Protobuf.Ql2.Term.TermType: instance Typeable TermType
+ Database.RethinkDB.Protobuf.Ql2.Term.TermType: instance Wire TermType
+ Database.RethinkDB.Protobuf.Ql2.VersionDummy: VersionDummy :: VersionDummy
+ Database.RethinkDB.Protobuf.Ql2.VersionDummy: data VersionDummy
+ Database.RethinkDB.Protobuf.Ql2.VersionDummy: instance Data VersionDummy
+ Database.RethinkDB.Protobuf.Ql2.VersionDummy: instance Default VersionDummy
+ Database.RethinkDB.Protobuf.Ql2.VersionDummy: instance Eq VersionDummy
+ Database.RethinkDB.Protobuf.Ql2.VersionDummy: instance GPB VersionDummy
+ Database.RethinkDB.Protobuf.Ql2.VersionDummy: instance Mergeable VersionDummy
+ Database.RethinkDB.Protobuf.Ql2.VersionDummy: instance MessageAPI msg' (msg' -> VersionDummy) VersionDummy
+ Database.RethinkDB.Protobuf.Ql2.VersionDummy: instance Ord VersionDummy
+ Database.RethinkDB.Protobuf.Ql2.VersionDummy: instance ReflectDescriptor VersionDummy
+ Database.RethinkDB.Protobuf.Ql2.VersionDummy: instance Show VersionDummy
+ Database.RethinkDB.Protobuf.Ql2.VersionDummy: instance Typeable VersionDummy
+ Database.RethinkDB.Protobuf.Ql2.VersionDummy: instance Wire VersionDummy
+ Database.RethinkDB.Protobuf.Ql2.VersionDummy.Version: V0_1 :: Version
+ Database.RethinkDB.Protobuf.Ql2.VersionDummy.Version: V0_2 :: Version
+ Database.RethinkDB.Protobuf.Ql2.VersionDummy.Version: data Version
+ Database.RethinkDB.Protobuf.Ql2.VersionDummy.Version: instance Bounded Version
+ Database.RethinkDB.Protobuf.Ql2.VersionDummy.Version: instance Data Version
+ Database.RethinkDB.Protobuf.Ql2.VersionDummy.Version: instance Default Version
+ Database.RethinkDB.Protobuf.Ql2.VersionDummy.Version: instance Enum Version
+ Database.RethinkDB.Protobuf.Ql2.VersionDummy.Version: instance Eq Version
+ Database.RethinkDB.Protobuf.Ql2.VersionDummy.Version: instance GPB Version
+ Database.RethinkDB.Protobuf.Ql2.VersionDummy.Version: instance Mergeable Version
+ Database.RethinkDB.Protobuf.Ql2.VersionDummy.Version: instance MessageAPI msg' (msg' -> Version) Version
+ Database.RethinkDB.Protobuf.Ql2.VersionDummy.Version: instance Ord Version
+ Database.RethinkDB.Protobuf.Ql2.VersionDummy.Version: instance Read Version
+ Database.RethinkDB.Protobuf.Ql2.VersionDummy.Version: instance ReflectEnum Version
+ Database.RethinkDB.Protobuf.Ql2.VersionDummy.Version: instance Show Version
+ Database.RethinkDB.Protobuf.Ql2.VersionDummy.Version: instance Typeable Version
+ Database.RethinkDB.Protobuf.Ql2.VersionDummy.Version: instance Wire Version
+ Database.RethinkDB.ReQL: (:=) :: Text -> e -> Attribute
+ Database.RethinkDB.ReQL: BaseAttribute :: Text -> BaseReQL -> BaseAttribute
+ Database.RethinkDB.ReQL: BaseReQL :: TermType -> Maybe Datum -> BaseArray -> [BaseAttribute] -> BaseReQL
+ Database.RethinkDB.ReQL: Object :: State QuerySettings [BaseAttribute] -> Object
+ Database.RethinkDB.ReQL: QuerySettings :: Int64 -> Database -> Int -> Maybe Bool -> Maybe Bool -> QuerySettings
+ Database.RethinkDB.ReQL: ReQL :: State QuerySettings BaseReQL -> ReQL
+ Database.RethinkDB.ReQL: arr :: Arr a => a -> Array
+ Database.RethinkDB.ReQL: baseArray :: Array -> State QuerySettings BaseArray
+ Database.RethinkDB.ReQL: baseObject :: Object -> State QuerySettings [BaseAttribute]
+ Database.RethinkDB.ReQL: baseReQL :: ReQL -> State QuerySettings BaseReQL
+ Database.RethinkDB.ReQL: buildQuery :: ReQL -> Int64 -> Database -> (Query, BaseReQL)
+ Database.RethinkDB.ReQL: canReturnVals :: ReQL -> ReQL
+ Database.RethinkDB.ReQL: class Expr e
+ Database.RethinkDB.ReQL: class Obj o
+ Database.RethinkDB.ReQL: cons :: Expr e => e -> Array -> Array
+ Database.RethinkDB.ReQL: convertBacktrace :: Backtrace -> Backtrace
+ Database.RethinkDB.ReQL: data Attribute
+ Database.RethinkDB.ReQL: data BaseAttribute
+ Database.RethinkDB.ReQL: data BaseReQL
+ Database.RethinkDB.ReQL: data Object
+ Database.RethinkDB.ReQL: data QuerySettings
+ Database.RethinkDB.ReQL: data ReQL
+ Database.RethinkDB.ReQL: expr :: Expr e => e -> ReQL
+ Database.RethinkDB.ReQL: instance (Expr a, Expr b) => Arr (a, b)
+ Database.RethinkDB.ReQL: instance (Expr a, Expr b, Expr c) => Arr (a, b, c)
+ Database.RethinkDB.ReQL: instance (Expr a, Expr b, Expr c, Expr d) => Arr (a, b, c, d)
+ Database.RethinkDB.ReQL: instance Arr ()
+ Database.RethinkDB.ReQL: instance Arr Array
+ Database.RethinkDB.ReQL: instance Default QuerySettings
+ Database.RethinkDB.ReQL: instance Expr ()
+ Database.RethinkDB.ReQL: instance Expr (ReQL -> ReQL -> ReQL)
+ Database.RethinkDB.ReQL: instance Expr (ReQL -> ReQL)
+ Database.RethinkDB.ReQL: instance Expr Array
+ Database.RethinkDB.ReQL: instance Expr Bool
+ Database.RethinkDB.ReQL: instance Expr Database
+ Database.RethinkDB.ReQL: instance Expr Datum
+ Database.RethinkDB.ReQL: instance Expr Double
+ Database.RethinkDB.ReQL: instance Expr Int
+ Database.RethinkDB.ReQL: instance Expr Int64
+ Database.RethinkDB.ReQL: instance Expr Integer
+ Database.RethinkDB.ReQL: instance Expr Object
+ Database.RethinkDB.ReQL: instance Expr Rational
+ Database.RethinkDB.ReQL: instance Expr ReQL
+ Database.RethinkDB.ReQL: instance Expr Table
+ Database.RethinkDB.ReQL: instance Expr Text
+ Database.RethinkDB.ReQL: instance Expr UTCTime
+ Database.RethinkDB.ReQL: instance Expr Value
+ Database.RethinkDB.ReQL: instance Expr ZonedTime
+ Database.RethinkDB.ReQL: instance Expr a => Arr [a]
+ Database.RethinkDB.ReQL: instance Expr a => Expr [a]
+ Database.RethinkDB.ReQL: instance Expr e => Expr (HashMap Text e)
+ Database.RethinkDB.ReQL: instance Expr x => Expr (Vector x)
+ Database.RethinkDB.ReQL: instance IsString ReQL
+ Database.RethinkDB.ReQL: instance Num ReQL
+ Database.RethinkDB.ReQL: instance Obj ()
+ Database.RethinkDB.ReQL: instance Obj Object
+ Database.RethinkDB.ReQL: instance Obj [Attribute]
+ Database.RethinkDB.ReQL: instance Show BaseAttribute
+ Database.RethinkDB.ReQL: instance Show BaseReQL
+ Database.RethinkDB.ReQL: instance Show Frame
+ Database.RethinkDB.ReQL: instance Show ReQL
+ Database.RethinkDB.ReQL: newVarId :: State QuerySettings Int
+ Database.RethinkDB.ReQL: num :: Double -> ReQL
+ Database.RethinkDB.ReQL: obj :: Obj o => o -> Object
+ Database.RethinkDB.ReQL: op :: (Arr a, Obj o) => TermType -> a -> o -> ReQL
+ Database.RethinkDB.ReQL: queryDefaultDatabase :: QuerySettings -> Database
+ Database.RethinkDB.ReQL: queryReturnVals :: QuerySettings -> Maybe Bool
+ Database.RethinkDB.ReQL: queryToken :: QuerySettings -> Int64
+ Database.RethinkDB.ReQL: queryUseOutdated :: QuerySettings -> Maybe Bool
+ Database.RethinkDB.ReQL: queryVarIndex :: QuerySettings -> Int
+ Database.RethinkDB.ReQL: reqlToProtobuf :: ReQL -> Query
+ Database.RethinkDB.ReQL: returnVals :: ReQL -> ReQL
+ Database.RethinkDB.ReQL: str :: String -> ReQL
+ Database.RethinkDB.ReQL: termArgs :: BaseReQL -> BaseArray
+ Database.RethinkDB.ReQL: termDatum :: BaseReQL -> Maybe Datum
+ Database.RethinkDB.ReQL: termOptArgs :: BaseReQL -> [BaseAttribute]
+ Database.RethinkDB.ReQL: termType :: BaseReQL -> TermType
+ Database.RethinkDB.ReQL: type Backtrace = [Frame]
+ Database.RethinkDB.ReQL: type BaseArray = [BaseReQL]
+ Database.RethinkDB.ReQL: withQuerySettings :: (QuerySettings -> ReQL) -> ReQL
+ Database.RethinkDB.Time: Closed :: a -> Bound a
+ Database.RethinkDB.Time: Open :: a -> Bound a
+ Database.RethinkDB.Time: UTCTime :: UTCTime -> UTCTime
+ Database.RethinkDB.Time: ZonedTime :: ZonedTime -> ZonedTime
+ Database.RethinkDB.Time: boundString :: Bound a -> Text
+ Database.RethinkDB.Time: boundValue :: Bound a -> a
+ Database.RethinkDB.Time: data Bound a
+ Database.RethinkDB.Time: date :: Expr time => time -> ReQL
+ Database.RethinkDB.Time: day :: Expr time => time -> ReQL
+ Database.RethinkDB.Time: dayOfWeek :: Expr time => time -> ReQL
+ Database.RethinkDB.Time: dayOfYear :: Expr time => time -> ReQL
+ Database.RethinkDB.Time: during :: (Expr left, Expr right, Expr time) => Bound left -> Bound right -> time -> ReQL
+ Database.RethinkDB.Time: epochTime :: ReQL -> ReQL
+ Database.RethinkDB.Time: hours :: Expr time => time -> ReQL
+ Database.RethinkDB.Time: inTimezone :: Expr time => ReQL -> time -> ReQL
+ Database.RethinkDB.Time: instance Expr UTCTime
+ Database.RethinkDB.Time: instance Expr ZonedTime
+ Database.RethinkDB.Time: instance FromJSON UTCTime
+ Database.RethinkDB.Time: instance FromJSON ZonedTime
+ Database.RethinkDB.Time: iso8601 :: ReQL -> ReQL
+ Database.RethinkDB.Time: minutes :: Expr time => time -> ReQL
+ Database.RethinkDB.Time: month :: Expr time => time -> ReQL
+ Database.RethinkDB.Time: newtype UTCTime
+ Database.RethinkDB.Time: newtype ZonedTime
+ Database.RethinkDB.Time: now :: ReQL
+ Database.RethinkDB.Time: parseTimeZone :: String -> Parser TimeZone
+ Database.RethinkDB.Time: seconds :: Expr time => time -> ReQL
+ Database.RethinkDB.Time: time :: ReQL -> ReQL -> ReQL -> ReQL -> ReQL -> ReQL -> ReQL -> ReQL
+ Database.RethinkDB.Time: timeOfDay :: Expr time => time -> ReQL
+ Database.RethinkDB.Time: timezone :: Expr time => time -> ReQL
+ Database.RethinkDB.Time: toEpochTime :: Expr t => t -> ReQL
+ Database.RethinkDB.Time: toIso8601 :: Expr t => t -> ReQL
+ Database.RethinkDB.Time: year :: Expr time => time -> ReQL
- Database.RethinkDB: (!) :: (ToExpr a, ExprValueType a ~ ObjectType) => a -> String -> ValueExpr t
+ Database.RethinkDB: (!) :: Expr s => s -> ReQL -> ReQL
- Database.RethinkDB: (:=) :: String -> e -> Attribute
+ Database.RethinkDB: (:=) :: Text -> e -> Attribute
- Database.RethinkDB: Asc :: String -> Order
+ Database.RethinkDB: Asc :: Key -> Order
- Database.RethinkDB: Database :: String -> Database
+ Database.RethinkDB: Database :: Text -> Database
- Database.RethinkDB: Desc :: String -> Order
+ Database.RethinkDB: Desc :: Key -> Order
- Database.RethinkDB: Table :: Maybe Database -> String -> Maybe String -> Table
+ Database.RethinkDB: Table :: Maybe Database -> Text -> Maybe Key -> Table
- Database.RethinkDB: TableCreateOptions :: Maybe String -> Maybe Int64 -> TableCreateOptions
+ Database.RethinkDB: TableCreateOptions :: Maybe Text -> Maybe Int64 -> TableCreateOptions
- Database.RethinkDB: append :: (HasValueType a ArrayType, HasValueType b x) => a -> b -> ArrayExpr
+ Database.RethinkDB: append :: (Expr a, Expr b) => a -> b -> ReQL
- Database.RethinkDB: asArray :: ToExpr e => e -> ArrayExpr
+ Database.RethinkDB: asArray :: Expr x => x -> ReQL
- Database.RethinkDB: avg :: String -> MapReduce ObjectType ArrayType ArrayType NumberType
+ Database.RethinkDB: avg :: Expr s => s -> ReQL
- Database.RethinkDB: between :: (ToJSON a, ToStream e, ObjectType HasToStreamValueOf e) => (Maybe a) -> (Maybe a) -> e -> Expr (ExprType e)
+ Database.RethinkDB: between :: (Expr left, Expr right, Expr seq) => Key -> left -> right -> seq -> ReQL
- Database.RethinkDB: collect :: Results a -> IO [a]
+ Database.RethinkDB: collect :: Cursor a -> IO [a]
- Database.RethinkDB: databaseName :: Database -> String
+ Database.RethinkDB: databaseName :: Database -> Text
- Database.RethinkDB: db :: String -> Database
+ Database.RethinkDB: db :: Text -> Database
- Database.RethinkDB: dbCreate :: String -> Query False Database
+ Database.RethinkDB: dbCreate :: String -> ReQL
- Database.RethinkDB: dbDrop :: Database -> Query False ()
+ Database.RethinkDB: dbDrop :: Database -> ReQL
- Database.RethinkDB: dbList :: Query False [Database]
+ Database.RethinkDB: dbList :: ReQL
- Database.RethinkDB: delete :: (ToExpr sel, ExprIsView sel ~ True) => sel -> WriteQuery ()
+ Database.RethinkDB: delete :: Expr selection => selection -> ReQL
- Database.RethinkDB: distinct :: (ToStream e, v HasToStreamValueOf e) => e -> Expr (StreamType False v)
+ Database.RethinkDB: distinct :: Expr s => s -> ReQL
- Database.RethinkDB: eqJoin :: (ToStream a, ObjectType HasToStreamValueOf a, ToExpr b, ExprType b ~ ExprType Selection) => a -> String -> b -> Expr (StreamType False ObjectType)
+ Database.RethinkDB: eqJoin :: (Expr a, Expr b) => Key -> a -> Key -> b -> ReQL
- Database.RethinkDB: forEach :: (ToStream a, v HasToStreamValueOf a) => a -> (ValueExpr v -> WriteQuery b) -> WriteQuery ()
+ Database.RethinkDB: forEach :: (Expr s, Expr a) => s -> (ReQL -> a) -> ReQL
- Database.RethinkDB: get :: (ToExpr e, ExprType e ~ StreamType True ObjectType, ToValue k) => e -> k -> ObjectExpr
+ Database.RethinkDB: get :: (Expr s, Expr k) => k -> s -> ReQL
- Database.RethinkDB: if' :: (ToValue e, ToValueType (ExprType e) ~ BoolType, ToExpr a, ExprTypeNoView (ExprType a) ~ x, ToExpr b, ExprTypeNoView (ExprType b) ~ x, ExprTypeIsView x ~ False) => e -> a -> b -> Expr x
+ Database.RethinkDB: if' :: (Expr a, Expr b, Expr c) => a -> b -> c -> ReQL
- Database.RethinkDB: innerJoin :: (ToStream a, l HasToStreamValueOf a, ToStream b, r HasToStreamValueOf b) => a -> b -> (ValueExpr l -> ValueExpr r -> BoolExpr) -> Expr (StreamType False ObjectType)
+ Database.RethinkDB: innerJoin :: (Expr a, Expr b, Expr c) => (ReQL -> ReQL -> c) -> a -> b -> ReQL
- Database.RethinkDB: insert :: (ToValue a, ToValueType (ExprType a) ~ ObjectType) => Table -> a -> WriteQuery Document
+ Database.RethinkDB: insert :: (Expr table, Expr object) => object -> table -> ReQL
- Database.RethinkDB: js :: String -> Expr (ValueType any)
+ Database.RethinkDB: js :: Javascript r => String -> r
- Database.RethinkDB: merge :: (ToExpr a, ExprType a ~ ValueType ObjectType, ToExpr b, ExprType b ~ ValueType ObjectType) => a -> b -> ObjectExpr
+ Database.RethinkDB: merge :: (Expr a, Expr b) => a -> b -> ReQL
- Database.RethinkDB: mod :: HaveValueType a b NumberType => a -> b -> NumberExpr
+ Database.RethinkDB: mod :: (Expr a, Expr b) => a -> b -> ReQL
- Database.RethinkDB: next :: Results a -> IO (Maybe a)
+ Database.RethinkDB: next :: Cursor a -> IO (Maybe a)
- Database.RethinkDB: obj :: [Attribute] -> Obj
+ Database.RethinkDB: obj :: Obj o => o -> Object
- Database.RethinkDB: orderAttr :: Order -> String
+ Database.RethinkDB: orderAttr :: Order -> Key
- Database.RethinkDB: orderBy :: (ToOrder o, ToStream e, a HasToStreamValueOf e) => [o] -> e -> Expr (StreamType (ExprIsView e) a)
+ Database.RethinkDB: orderBy :: Expr s => [Order] -> s -> ReQL
- Database.RethinkDB: outerJoin :: (ToStream a, l HasToStreamValueOf a, ToStream b, r HasToStreamValueOf b) => a -> b -> (ValueExpr l -> ValueExpr r -> BoolExpr) -> Expr (StreamType False ObjectType)
+ Database.RethinkDB: outerJoin :: (Expr a, Expr b, Expr c) => (ReQL -> ReQL -> c) -> a -> b -> ReQL
- Database.RethinkDB: pluck :: (ToStream e, ObjectType HasToStreamValueOf e) => [String] -> e -> Expr (StreamType False ObjectType)
+ Database.RethinkDB: pluck :: Expr o => [ReQL] -> o -> ReQL
- Database.RethinkDB: reduce :: (ToValue z, ToValueType (ExprType z) ~ a, ToStream e, b HasToStreamValueOf e, ToExpr c, ExprIsView c ~ False) => e -> z -> (ValueExpr a -> ValueExpr b -> c) -> Expr (ExprType c)
+ Database.RethinkDB: reduce :: (Expr base, Expr seq, Expr a) => (ReQL -> ReQL -> a) -> base -> seq -> ReQL
- Database.RethinkDB: replace :: (ToExpr sel, ExprIsView sel ~ True, ToJSON a) => sel -> a -> WriteQuery ()
+ Database.RethinkDB: replace :: Expr selection => (ReQL -> ReQL) -> selection -> ReQL
- Database.RethinkDB: run :: ToQuery a v => RethinkDBHandle -> a -> IO v
+ Database.RethinkDB: run :: (Expr query, Result r) => RethinkDBHandle -> query -> IO r
- Database.RethinkDB: slice :: (ToStream e, t HasToStreamValueOf e, ToExpr n, ExprType n ~ ValueType NumberType, ToExpr m, ExprType m ~ ValueType NumberType) => e -> n -> m -> Expr (StreamType (ExprIsView e) t)
+ Database.RethinkDB: slice :: (Expr a, Expr b, Expr c) => a -> b -> c -> ReQL
- Database.RethinkDB: str :: String -> Text
+ Database.RethinkDB: str :: String -> ReQL
- Database.RethinkDB: table :: String -> Table
+ Database.RethinkDB: table :: Text -> Table
- Database.RethinkDB: tableCreate :: Table -> TableCreateOptions -> Query False Table
+ Database.RethinkDB: tableCreate :: Table -> TableCreateOptions -> ReQL
- Database.RethinkDB: tableDataCenter :: TableCreateOptions -> Maybe String
+ Database.RethinkDB: tableDataCenter :: TableCreateOptions -> Maybe Text
- Database.RethinkDB: tableDrop :: Table -> Query False ()
+ Database.RethinkDB: tableDrop :: Table -> ReQL
- Database.RethinkDB: tableList :: Database -> Query False [Table]
+ Database.RethinkDB: tableList :: Database -> ReQL
- Database.RethinkDB: tableName :: Table -> String
+ Database.RethinkDB: tableName :: Table -> Text
- Database.RethinkDB: update :: (ToExpr sel, ExprType sel ~ StreamType True out, ToMapping map, MappingFrom map ~ out, MappingTo map ~ ObjectType) => sel -> map -> WriteQuery ()
+ Database.RethinkDB: update :: Expr selection => (ReQL -> ReQL) -> selection -> ReQL
- Database.RethinkDB: upsert :: (ToValue a, ToValueType (ExprType a) ~ ObjectType) => Table -> a -> WriteQuery Document
+ Database.RethinkDB: upsert :: (Expr table, Expr object) => object -> table -> ReQL
- Database.RethinkDB: without :: (ToStream e, ObjectType HasToStreamValueOf e) => [String] -> e -> Expr (StreamType False ObjectType)
+ Database.RethinkDB: without :: Expr o => [ReQL] -> o -> ReQL
- Database.RethinkDB.Driver: run :: ToQuery a v => RethinkDBHandle -> a -> IO v
+ Database.RethinkDB.Driver: run :: (Expr query, Result r) => RethinkDBHandle -> query -> IO r
- Database.RethinkDB.Functions: (!!) :: (ToStream e, t HasToStreamValueOf e, ToExpr n, ExprType n ~ ValueType NumberType) => e -> n -> ValueExpr t
+ Database.RethinkDB.Functions: (!!) :: Expr a => a -> ReQL -> ReQL
- Database.RethinkDB.Functions: (!) :: (ToExpr a, ExprValueType a ~ ObjectType) => a -> String -> ValueExpr t
+ Database.RethinkDB.Functions: (!) :: Expr s => s -> ReQL -> ReQL
- Database.RethinkDB.Functions: (!=) :: (HasValueType a x, HasValueType b y) => a -> b -> BoolExpr
+ Database.RethinkDB.Functions: (!=) :: (Expr a, Expr b) => a -> b -> ReQL
- Database.RethinkDB.Functions: (*) :: HaveValueType a b NumberType => a -> b -> NumberExpr
+ Database.RethinkDB.Functions: (*) :: (Expr a, Expr b) => a -> b -> ReQL
- Database.RethinkDB.Functions: (+) :: HaveValueType a b NumberType => a -> b -> NumberExpr
+ Database.RethinkDB.Functions: (+) :: (Expr a, Expr b) => a -> b -> ReQL
- Database.RethinkDB.Functions: (++) :: (HaveValueType a b v, CanConcat v) => a -> b -> Expr (ValueType v)
+ Database.RethinkDB.Functions: (++) :: (Expr a, Expr b) => a -> b -> ReQL
- Database.RethinkDB.Functions: (-) :: HaveValueType a b NumberType => a -> b -> NumberExpr
+ Database.RethinkDB.Functions: (-) :: (Expr a, Expr b) => a -> b -> ReQL
- Database.RethinkDB.Functions: (/) :: HaveValueType a b NumberType => a -> b -> NumberExpr
+ Database.RethinkDB.Functions: (/) :: (Expr a, Expr b) => a -> b -> ReQL
- Database.RethinkDB.Functions: (<) :: (HaveValueType a b v, CanCompare v) => a -> b -> BoolExpr
+ Database.RethinkDB.Functions: (<) :: (Expr a, Expr b) => a -> b -> ReQL
- Database.RethinkDB.Functions: (<=) :: (HaveValueType a b v, CanCompare v) => a -> b -> BoolExpr
+ Database.RethinkDB.Functions: (<=) :: (Expr a, Expr b) => a -> b -> ReQL
- Database.RethinkDB.Functions: (==) :: (HasValueType a x, HasValueType b y) => a -> b -> BoolExpr
+ Database.RethinkDB.Functions: (==) :: (Expr a, Expr b) => a -> b -> ReQL
- Database.RethinkDB.Functions: (>) :: (HaveValueType a b v, CanCompare v) => a -> b -> BoolExpr
+ Database.RethinkDB.Functions: (>) :: (Expr a, Expr b) => a -> b -> ReQL
- Database.RethinkDB.Functions: (>=) :: (HaveValueType a b v, CanCompare v) => a -> b -> BoolExpr
+ Database.RethinkDB.Functions: (>=) :: (Expr a, Expr b) => a -> b -> ReQL
- Database.RethinkDB.Functions: Asc :: String -> Order
+ Database.RethinkDB.Functions: Asc :: Key -> Order
- Database.RethinkDB.Functions: Desc :: String -> Order
+ Database.RethinkDB.Functions: Desc :: Key -> Order
- Database.RethinkDB.Functions: append :: (HasValueType a ArrayType, HasValueType b x) => a -> b -> ArrayExpr
+ Database.RethinkDB.Functions: append :: (Expr a, Expr b) => a -> b -> ReQL
- Database.RethinkDB.Functions: asArray :: ToExpr e => e -> ArrayExpr
+ Database.RethinkDB.Functions: asArray :: Expr x => x -> ReQL
- Database.RethinkDB.Functions: avg :: String -> MapReduce ObjectType ArrayType ArrayType NumberType
+ Database.RethinkDB.Functions: avg :: Expr s => s -> ReQL
- Database.RethinkDB.Functions: between :: (ToJSON a, ToStream e, ObjectType HasToStreamValueOf e) => (Maybe a) -> (Maybe a) -> e -> Expr (ExprType e)
+ Database.RethinkDB.Functions: between :: (Expr left, Expr right, Expr seq) => Key -> left -> right -> seq -> ReQL
- Database.RethinkDB.Functions: concatMap :: (ToMapping m, (MappingTo m) ~ ArrayType, ToStream e, MappingFrom m HasToStreamValueOf e) => m -> e -> Expr (StreamType False t)
+ Database.RethinkDB.Functions: concatMap :: (Expr a, Expr b) => (ReQL -> b) -> a -> ReQL
- Database.RethinkDB.Functions: distinct :: (ToStream e, v HasToStreamValueOf e) => e -> Expr (StreamType False v)
+ Database.RethinkDB.Functions: distinct :: Expr s => s -> ReQL
- Database.RethinkDB.Functions: drop :: (ToStream e, t HasToStreamValueOf e, ToExpr n, ExprType n ~ ValueType NumberType) => e -> n -> Expr (StreamType (ExprIsView e) t)
+ Database.RethinkDB.Functions: drop :: (Expr a, Expr b) => a -> b -> ReQL
- Database.RethinkDB.Functions: eqJoin :: (ToStream a, ObjectType HasToStreamValueOf a, ToExpr b, ExprType b ~ ExprType Selection) => a -> String -> b -> Expr (StreamType False ObjectType)
+ Database.RethinkDB.Functions: eqJoin :: (Expr a, Expr b) => Key -> a -> Key -> b -> ReQL
- Database.RethinkDB.Functions: error :: ExprTypeIsView t ~ False => String -> Expr t
+ Database.RethinkDB.Functions: error :: Expr s => s -> ReQL
- Database.RethinkDB.Functions: filter :: (ToMapping m, ToStream e, MappingFrom m HasToStreamValueOf e) => m -> e -> Expr (ExprType e)
+ Database.RethinkDB.Functions: filter :: (Expr predicate, Expr seq) => predicate -> seq -> ReQL
- Database.RethinkDB.Functions: forEach :: (ToStream a, v HasToStreamValueOf a) => a -> (ValueExpr v -> WriteQuery b) -> WriteQuery ()
+ Database.RethinkDB.Functions: forEach :: (Expr s, Expr a) => s -> (ReQL -> a) -> ReQL
- Database.RethinkDB.Functions: groupBy :: (ToStream e, ObjectType HasToStreamValueOf e) => [String] -> MapReduce ObjectType b c d -> e -> Expr (StreamType False d)
+ Database.RethinkDB.Functions: groupBy :: (Expr group, Expr reduction, Expr seq) => (ReQL -> group) -> (ReQL -> reduction) -> seq -> ReQL
- Database.RethinkDB.Functions: if' :: (ToValue e, ToValueType (ExprType e) ~ BoolType, ToExpr a, ExprTypeNoView (ExprType a) ~ x, ToExpr b, ExprTypeNoView (ExprType b) ~ x, ExprTypeIsView x ~ False) => e -> a -> b -> Expr x
+ Database.RethinkDB.Functions: if' :: (Expr a, Expr b, Expr c) => a -> b -> c -> ReQL
- Database.RethinkDB.Functions: innerJoin :: (ToStream a, l HasToStreamValueOf a, ToStream b, r HasToStreamValueOf b) => a -> b -> (ValueExpr l -> ValueExpr r -> BoolExpr) -> Expr (StreamType False ObjectType)
+ Database.RethinkDB.Functions: innerJoin :: (Expr a, Expr b, Expr c) => (ReQL -> ReQL -> c) -> a -> b -> ReQL
- Database.RethinkDB.Functions: js :: String -> Expr (ValueType any)
+ Database.RethinkDB.Functions: js :: Javascript r => String -> r
- Database.RethinkDB.Functions: length :: (ToExpr e, Sequence (ExprType e)) => e -> NumberExpr
+ Database.RethinkDB.Functions: length :: Expr a => a -> ReQL
- Database.RethinkDB.Functions: map :: (ToMapping m, ToStream e, MappingFrom m HasToStreamValueOf e) => m -> e -> Expr (StreamType False (MappingTo m))
+ Database.RethinkDB.Functions: map :: (Expr a, Expr b) => (ReQL -> b) -> a -> ReQL
- Database.RethinkDB.Functions: merge :: (ToExpr a, ExprType a ~ ValueType ObjectType, ToExpr b, ExprType b ~ ValueType ObjectType) => a -> b -> ObjectExpr
+ Database.RethinkDB.Functions: merge :: (Expr a, Expr b) => a -> b -> ReQL
- Database.RethinkDB.Functions: mod :: HaveValueType a b NumberType => a -> b -> NumberExpr
+ Database.RethinkDB.Functions: mod :: (Expr a, Expr b) => a -> b -> ReQL
- Database.RethinkDB.Functions: not :: HasValueType a BoolType => a -> BoolExpr
+ Database.RethinkDB.Functions: not :: Expr a => a -> ReQL
- Database.RethinkDB.Functions: orderAttr :: Order -> String
+ Database.RethinkDB.Functions: orderAttr :: Order -> Key
- Database.RethinkDB.Functions: orderBy :: (ToOrder o, ToStream e, a HasToStreamValueOf e) => [o] -> e -> Expr (StreamType (ExprIsView e) a)
+ Database.RethinkDB.Functions: orderBy :: Expr s => [Order] -> s -> ReQL
- Database.RethinkDB.Functions: outerJoin :: (ToStream a, l HasToStreamValueOf a, ToStream b, r HasToStreamValueOf b) => a -> b -> (ValueExpr l -> ValueExpr r -> BoolExpr) -> Expr (StreamType False ObjectType)
+ Database.RethinkDB.Functions: outerJoin :: (Expr a, Expr b, Expr c) => (ReQL -> ReQL -> c) -> a -> b -> ReQL
- Database.RethinkDB.Functions: pluck :: (ToStream e, ObjectType HasToStreamValueOf e) => [String] -> e -> Expr (StreamType False ObjectType)
+ Database.RethinkDB.Functions: pluck :: Expr o => [ReQL] -> o -> ReQL
- Database.RethinkDB.Functions: reduce :: (ToValue z, ToValueType (ExprType z) ~ a, ToStream e, b HasToStreamValueOf e, ToExpr c, ExprIsView c ~ False) => e -> z -> (ValueExpr a -> ValueExpr b -> c) -> Expr (ExprType c)
+ Database.RethinkDB.Functions: reduce :: (Expr base, Expr seq, Expr a) => (ReQL -> ReQL -> a) -> base -> seq -> ReQL
- Database.RethinkDB.Functions: slice :: (ToStream e, t HasToStreamValueOf e, ToExpr n, ExprType n ~ ValueType NumberType, ToExpr m, ExprType m ~ ValueType NumberType) => e -> n -> m -> Expr (StreamType (ExprIsView e) t)
+ Database.RethinkDB.Functions: slice :: (Expr a, Expr b, Expr c) => a -> b -> c -> ReQL
- Database.RethinkDB.Functions: sum :: String -> MapReduce ObjectType NumberType NumberType NumberType
+ Database.RethinkDB.Functions: sum :: Expr s => s -> ReQL
- Database.RethinkDB.Functions: take :: (ToStream e, t HasToStreamValueOf e, ToExpr n, ExprType n ~ ValueType NumberType) => e -> n -> Expr (StreamType (ExprIsView e) t)
+ Database.RethinkDB.Functions: take :: (Expr a, Expr b) => a -> b -> ReQL
- Database.RethinkDB.Functions: without :: (ToStream e, ObjectType HasToStreamValueOf e) => [String] -> e -> Expr (StreamType False ObjectType)
+ Database.RethinkDB.Functions: without :: Expr o => [ReQL] -> o -> ReQL
Files
- Database/RethinkDB.hs +82/−69
- Database/RethinkDB/Driver.hs +89/−1224
- Database/RethinkDB/Driver.hs-boot +0/−13
- Database/RethinkDB/Functions.hs +323/−361
- Database/RethinkDB/Functions.hs-boot +0/−9
- Database/RethinkDB/Internal/Query_Language/Builtin.hs +0/−123
- Database/RethinkDB/Internal/Query_Language/Builtin/BuiltinType.hs +0/−231
- Database/RethinkDB/Internal/Query_Language/Builtin/Comparison.hs +0/−82
- Database/RethinkDB/Internal/Query_Language/Builtin/ConcatMap.hs +0/−58
- Database/RethinkDB/Internal/Query_Language/Builtin/Filter.hs +0/−59
- Database/RethinkDB/Internal/Query_Language/Builtin/GroupedMapReduce.hs +0/−68
- Database/RethinkDB/Internal/Query_Language/Builtin/Map.hs +0/−58
- Database/RethinkDB/Internal/Query_Language/Builtin/OrderBy.hs +0/−59
- Database/RethinkDB/Internal/Query_Language/Builtin/Range.hs +0/−68
- Database/RethinkDB/Internal/Query_Language/Mapping.hs +0/−69
- Database/RethinkDB/Internal/Query_Language/MetaQuery.hs +0/−73
- Database/RethinkDB/Internal/Query_Language/MetaQuery/CreateTable.hs +0/−67
- Database/RethinkDB/Internal/Query_Language/MetaQuery/MetaQueryType.hs +0/−87
- Database/RethinkDB/Internal/Query_Language/Predicate.hs +0/−60
- Database/RethinkDB/Internal/Query_Language/Query.hs +0/−80
- Database/RethinkDB/Internal/Query_Language/Query/QueryType.hs +0/−74
- Database/RethinkDB/Internal/Query_Language/ReadQuery.hs +0/−72
- Database/RethinkDB/Internal/Query_Language/Reduction.hs +0/−65
- Database/RethinkDB/Internal/Query_Language/Response.hs +0/−74
- Database/RethinkDB/Internal/Query_Language/Response/Backtrace.hs +0/−57
- Database/RethinkDB/Internal/Query_Language/Response/StatusCode.hs +0/−92
- Database/RethinkDB/Internal/Query_Language/TableRef.hs +0/−62
- Database/RethinkDB/Internal/Query_Language/Term.hs +0/−150
- Database/RethinkDB/Internal/Query_Language/Term.hs-boot +0/−32
- Database/RethinkDB/Internal/Query_Language/Term/Call.hs +0/−61
- Database/RethinkDB/Internal/Query_Language/Term/GetByKey.hs +0/−65
- Database/RethinkDB/Internal/Query_Language/Term/If.hs +0/−64
- Database/RethinkDB/Internal/Query_Language/Term/Let.hs +0/−61
- Database/RethinkDB/Internal/Query_Language/Term/Table.hs +0/−59
- Database/RethinkDB/Internal/Query_Language/Term/TermType.hs +0/−134
- Database/RethinkDB/Internal/Query_Language/VarTermTuple.hs +0/−60
- Database/RethinkDB/Internal/Query_Language/WriteQuery.hs +0/−122
- Database/RethinkDB/Internal/Query_Language/WriteQuery/Delete.hs +0/−58
- Database/RethinkDB/Internal/Query_Language/WriteQuery/ForEach.hs +0/−64
- Database/RethinkDB/Internal/Query_Language/WriteQuery/ForEach.hs-boot +0/−30
- Database/RethinkDB/Internal/Query_Language/WriteQuery/Insert.hs +0/−66
- Database/RethinkDB/Internal/Query_Language/WriteQuery/Mutate.hs +0/−61
- Database/RethinkDB/Internal/Query_Language/WriteQuery/PointDelete.hs +0/−65
- Database/RethinkDB/Internal/Query_Language/WriteQuery/PointMutate.hs +0/−69
- Database/RethinkDB/Internal/Query_Language/WriteQuery/PointUpdate.hs +0/−69
- Database/RethinkDB/Internal/Query_Language/WriteQuery/Update.hs +0/−61
- Database/RethinkDB/Internal/Query_Language/WriteQuery/WriteQueryType.hs +0/−98
- Database/RethinkDB/Internal/Types.hs +0/−83
- Database/RethinkDB/MapReduce.hs +114/−0
- Database/RethinkDB/Network.hs +344/−0
- Database/RethinkDB/Objects.hs +45/−0
- Database/RethinkDB/Protobuf/Ql2.hs +21/−0
- Database/RethinkDB/Protobuf/Ql2/Backtrace.hs +58/−0
- Database/RethinkDB/Protobuf/Ql2/Datum.hs +88/−0
- Database/RethinkDB/Protobuf/Ql2/Datum/AssocPair.hs +61/−0
- Database/RethinkDB/Protobuf/Ql2/Datum/AssocPair.hs-boot +30/−0
- Database/RethinkDB/Protobuf/Ql2/Datum/DatumType.hs +78/−0
- Database/RethinkDB/Protobuf/Ql2/Frame.hs +63/−0
- Database/RethinkDB/Protobuf/Ql2/Frame/FrameType.hs +56/−0
- Database/RethinkDB/Protobuf/Ql2/Query.hs +75/−0
- Database/RethinkDB/Protobuf/Ql2/Query/AssocPair.hs +61/−0
- Database/RethinkDB/Protobuf/Ql2/Query/QueryType.hs +61/−0
- Database/RethinkDB/Protobuf/Ql2/Response.hs +70/−0
- Database/RethinkDB/Protobuf/Ql2/Response/ResponseType.hs +81/−0
- Database/RethinkDB/Protobuf/Ql2/Term.hs +80/−0
- Database/RethinkDB/Protobuf/Ql2/Term/AssocPair.hs +61/−0
- Database/RethinkDB/Protobuf/Ql2/Term/AssocPair.hs-boot +30/−0
- Database/RethinkDB/Protobuf/Ql2/Term/TermType.hs +744/−0
- Database/RethinkDB/Protobuf/Ql2/VersionDummy.hs +56/−0
- Database/RethinkDB/Protobuf/Ql2/VersionDummy/Version.hs +58/−0
- Database/RethinkDB/ReQL.hs +427/−0
- Database/RethinkDB/Time.hs +106/−0
- Database/RethinkDB/Types.hs +0/−20
- rethinkdb.cabal +38/−59
Database/RethinkDB.hs view
@@ -1,100 +1,113 @@---- | RethinkDB client library for Haskell--- --- Modelled upon the official Javascript and Python API: <http://www.rethinkdb.com/api/>--- +-- | Haskell client driver for RethinkDB +--+-- Based upon the official Javascript, Python and Ruby API: <http://www.rethinkdb.com/api/>+-- -- /How to use/--- --- >>> import Database.RethinkDB--- >>> import qualified Database.RethinkDB.Functions as R+--+-- >>> {-# LANGUAGE OverloadedStrings #-}+-- >>> import Database.RethinkDB as R module Database.RethinkDB (- -- * Accessing RethinkDB- + RethinkDBHandle,- openConnection,- closeConnection, + connect,+ close, use,- run, runMaybe, runEither, runRaw, runJSON, runBatch,- next, collect, resultsError,- + run, run', runOpts,+ next, collect,+ Cursor,+ Response,+ Result(..),+ RethinkDBError(..),+ SuccessCode(..),+ ErrorCode(..),+ -- * Manipulating databases- + Database(..),- db, dbCreate, dbDrop, dbList, - + db, dbCreate, dbDrop, dbList,+ -- * Manipulating Tables- - Table(..), tablePrimaryAttr, TableCreateOptions(..),++ Table(..), TableCreateOptions(..), table, tableCreate, tableDrop, tableList,- + indexCreate, indexDrop, indexList,+ -- * Writing data- - Document(..), - insert, insertMany, upsert, upsertMany,++ insert, upsert, update, replace, delete,- + returnVals,+ -- * Selecting data- - get, filter', between,- ++ get, filter, between, getAll,+ -- * Joins- - innerJoin, outerJoin, eqJoin, zip',- ++ innerJoin, outerJoin, eqJoin, mergeRightLeft,+ -- * Transformations- - map', concatMap', orderBy, skip, limit,- slice, nth, pluck, without, union',++ map, withFields, concatMap, drop, take,+ (!!), slice,+ orderBy, Order(..),+ indexesOf, isEmpty, (++), sample, -- * Aggregation- - reduce, count, distinct, groupedMapReduce, groupBy',- - -- * Reductions- - count', sum', avg,- ++ reduce, reduce1, distinct, groupBy, member,++ -- * Aggregators++ length, sum, avg,+ -- * Document manipulation++ pluck, without,+ merge, append,+ prepend, (\\),+ setInsert, setUnion, setIntersection, setDifference,+ (!), hasFields,+ insertAt, spliceAt, deleteAt, changeAt, keys,++ -- * Math and logic++ (+), (-), (*), (/), mod, (&&), (||),+ (==), (!=), (>), (<), (<=), (>=), not,++ -- * String manipulation - pick, unpick, merge, append, (!), (!?),+ (=~), - -- * Operators+ -- * Dates and times - concat,- add, sub, mul, div', mod, and', or',- eq, ne, gt, ge, lt, le, not',+ UTCTime, ZonedTime,+ now, time, epochTime, iso8601, inTimezone, during,+ timezone, date, timeOfDay, year, month, day, dayOfWeek, dayOfYear, hours, minutes, seconds,+ toIso8601, toEpochTime, -- * Control structures- - bind, let', var, if', forEach, error', js, jsfun,- - -- * Sequence conversion- - streamToArray, arrayToStream, asArray, - -- * Short constructors- - Obj, Attribute(..), obj, str, nil,- - -- * Types and type classes+ apply, Javascript(js), if', forEach, error,+ handle, Expr(..), coerceTo,+ asArray, asString, asNumber, asObject, asBool,+ typeOf, info, json, - Query, ToQuery(..),- ValueTypeKind(..), ExprTypeKind(..),- ExprIsView, ExprValueType, Expr(..), ToExpr(..), ToValue(..),- HasValueType, HaveValueType,- NumberExpr, BoolExpr, ObjectExpr, ArrayExpr, StringExpr, ValueExpr,- NumberStream, BoolStream, ObjectStream, ArrayStream, StringStream, Selection,- CanCompare,- Order(..), ToOrder(..),- Sequence(..),- Mapping(..), ToMapping(..),- Results+ -- * Helpers++ Obj(..), Object, Attribute(..), str, num, (.), (#),+ def+ ) where import Prelude () -import Database.RethinkDB.Types+import Database.RethinkDB.ReQL+import Database.RethinkDB.Network+import Database.RethinkDB.Objects import Database.RethinkDB.Driver import Database.RethinkDB.Functions+import Database.RethinkDB.Time+import Data.Default
Database/RethinkDB/Driver.hs view
@@ -1,1224 +1,89 @@-{-# LANGUAGE OverloadedStrings, KindSignatures, DataKinds, MultiParamTypeClasses, - TypeFamilies, ExistentialQuantification, FlexibleInstances, - ConstraintKinds, FlexibleContexts, UndecidableInstances, - PolyKinds, FunctionalDependencies, GADTs, ScopedTypeVariables, - RankNTypes, RecordWildCards #-}---- | The core of the haskell client library for RethinkDB--module Database.RethinkDB.Driver where--import {-# SOURCE #-} Database.RethinkDB.Functions-import Database.RethinkDB.Types--import Control.Arrow-import Data.Aeson.Types (parseMaybe)-import Data.String-import Data.Typeable-import Data.Data-import GHC.Prim--import qualified Database.RethinkDB.Internal.Types as QL-import qualified Database.RethinkDB.Internal.Query_Language.Response as QLResponse-import qualified Database.RethinkDB.Internal.Query_Language.Query as QLQuery-import qualified Database.RethinkDB.Internal.Query_Language.VarTermTuple as QLVarTermTuple-import qualified Database.RethinkDB.Internal.Query_Language.Predicate as QLPredicate-import qualified Database.RethinkDB.Internal.Query_Language.Builtin as QLBuiltin-import qualified Database.RethinkDB.Internal.Query_Language.ReadQuery as QLReadQuery-import qualified Database.RethinkDB.Internal.Query_Language.WriteQuery as QLWriteQuery-import qualified Database.RethinkDB.Internal.Query_Language.Mapping as QLMapping-import qualified Database.RethinkDB.Internal.Query_Language.Term as QL (type')-import qualified Database.RethinkDB.Internal.Query_Language.MetaQuery.CreateTable as QLCreateTable--import Text.ProtocolBuffers.Basic hiding (Default)-import Text.ProtocolBuffers.WireMessage--import System.IO (Handle, hClose)-import Network--import Data.List-import Control.Monad.State as S-import qualified Data.HashMap.Strict as HM-import Data.Default-import qualified Data.Attoparsec.Lazy as Attoparsec-import Data.Foldable (toList)-import qualified Data.Text as T-import Data.Aeson-import qualified Data.Aeson.Parser (value)-import qualified Data.Sequence as Seq-import Data.Monoid-import Data.Maybe-import Data.ByteString.Lazy (pack, unpack, hPut, hGet)-import qualified Data.ByteString.Lazy as B-import Data.IORef-import Data.Bits---- * Network---- | A connection to the database server-data RethinkDBHandle = RethinkDBHandle {- rdbHandle :: Handle, - rdbToken :: IORef Int64, -- ^ The next token to use- rdbDatabase :: Database -- ^ When no database is specified, this one will be used- }---- | Create a new connection to the database server--- --- /Example:/ connect using the default port (28015) and specifying the--- default database for all queries.--- --- >>> h <- openConnection "localhost" Nothing (Just "test")--openConnection :: HostName -> Maybe PortID -> Maybe String -> IO RethinkDBHandle-openConnection host port mdb = do- h <- connectTo host (fromMaybe (PortNumber 28015) port)- hPut h initialMessage- r <- newIORef 1- -- db' <- maybe (fmap head $ run (RethinkDBHandle h r (Database "")) $ dbList) (return . Database) mdb- let db' = Database $ fromMaybe "" mdb- return (RethinkDBHandle h r db')- where initialMessage = packUInt 0xaf61ba35---- | Set the default connection--- --- The new handle is an alias for the old one. Calling closeConnection on either one--- will close both.--- --- >>> let h' = h `use` (db "players")--use :: RethinkDBHandle -> Database -> RethinkDBHandle-use h db' = h { rdbDatabase = db' }---- | Close an open connection--- --- >>> closeConnection h--closeConnection :: RethinkDBHandle -> IO ()-closeConnection (RethinkDBHandle h _ _) = hClose h---- | Receive a fixed amoutn of data-recvAll :: RethinkDBHandle -> Int -> IO ByteString-recvAll (RethinkDBHandle h _ _) n = hGet h n---- | Send a bytestring-sendAll :: RethinkDBHandle -> ByteString -> IO ()-sendAll (RethinkDBHandle h _ _) s = hPut h s---- | Get a request token and increment the token counter-getNewToken :: RethinkDBHandle -> IO Int64-getNewToken (RethinkDBHandle _ r _) = atomicModifyIORef r $ \t -> (t + 1, t)--data ErrorCode = ErrorBrokenClient- | ErrorBadQuery- | ErrorRuntime- | ErrorNetwork--instance Show ErrorCode where- show ErrorBrokenClient = "broken client error"- show ErrorBadQuery = "malformed query error"- show ErrorRuntime = "runtime error"- show ErrorNetwork = "error talking to server"--data SuccessCode = SuccessEmpty- | SuccessJson- | SuccessPartial- | SuccessStream- deriving Show---- | The raw response to a query-data Response = ErrorResponse {- errorCode :: ErrorCode,- errorMessage :: String,- errorBacktrace :: [String]- } | SuccessResponse {- successCode :: SuccessCode,- successString :: [B.ByteString]- }--instance Show Response where- show ErrorResponse {..} = show errorCode ++ ": " ++- show errorMessage ++ " (" ++- showBacktrace errorBacktrace ++ ")"- show SuccessResponse {..} = show successCode ++ ": " ++ show successString--convertResponse :: Either String QL.Response -> Response-convertResponse (Left s) = ErrorResponse ErrorNetwork s []-convertResponse (Right QL.Response {..}) = case status_code of- QL.SUCCESS_EMPTY -> SuccessResponse SuccessEmpty r- QL.SUCCESS_JSON -> SuccessResponse SuccessJson r- QL.SUCCESS_PARTIAL -> SuccessResponse SuccessPartial r- QL.SUCCESS_STREAM -> SuccessResponse SuccessStream r- QL.BROKEN_CLIENT -> ErrorResponse ErrorBrokenClient e bt- QL.BAD_QUERY -> ErrorResponse ErrorBadQuery e bt- QL.RUNTIME_ERROR -> ErrorResponse ErrorRuntime e bt- where bt = fromMaybe [] $ fmap (map uToString . toList . QL.frame) backtrace- r = map utf8 $ toList response- e = fromMaybe "error" $ fmap uToString error_message--showBacktrace :: [String] -> String-showBacktrace [] = "query"-showBacktrace bt = ("in " ++ ) . concat . (++ [" query"]) .- intersperse " " . map f . reverse $ bt- where f x = x ++ " in"---- | Execute a raw protobuffer query and return the raw response-runQLQuery :: RethinkDBHandle -> QL.Query -> IO Response-runQLQuery h query = do- let queryS = messagePut query- sendAll h $ packUInt (fromIntegral $ B.length queryS) <> queryS- fmap convertResponse $ readResponse (QLQuery.token query)- - where readResponse t = do- header <- recvAll h 4- responseS <- recvAll h (unpackUInt header)- let eResponse = messageGet responseS- case eResponse of- Left errMsg -> return $ Left errMsg- Right (response, rest)- | B.null rest ->- (case QLResponse.token response of- n | n == t -> return $ Right response- | n > t -> return $ Left "RethinkDB: runQLQuery: invalid response token"- | otherwise -> readResponse t)- | otherwise -> return $ Left "RethinkDB: runQLQuery: invalid reply length"---- * CRUD---- | A database, referenced by name-data Database = Database {- databaseName :: String- } deriving (Eq, Ord)--instance Show Database where- show (Database d) = show d---- | Create a Database reference-db :: String -> Database-db s = Database s---- | Create a database on the server-dbCreate :: String -> Query False Database-dbCreate db_name = Query- (metaQuery $ return $ QL.MetaQuery QL.CREATE_DB (Just $ uFromString db_name) Nothing Nothing)- (const $ Right $ Database db_name)---- | Drop a database-dbDrop :: Database -> Query False ()-dbDrop (Database name) = Query- (metaQuery $ return $ QL.MetaQuery QL.DROP_DB (Just $ uFromString name) Nothing Nothing)- (const $ Right ())---- | List the databases on the server--- --- >>> run h $ dbList--- [test, dev, prod]--dbList :: Query False [Database]-dbList = Query- (metaQuery $ return $ QL.MetaQuery QL.LIST_DBS Nothing Nothing Nothing)- (maybe (Left "error") Right . sequence . map (fmap Database . convert))---- | Options used to create a table-data TableCreateOptions = TableCreateOptions {- tableDataCenter :: Maybe String,- tableCacheSize :: Maybe Int64- }--instance Default TableCreateOptions where- def = TableCreateOptions Nothing Nothing---- | A table description-data Table = Table {- tableDatabase :: Maybe Database, -- ^ when Nothing, use the rdbDatabase- tableName :: String,- _tablePrimaryAttr :: Maybe String -- ^ when Nothing, "id" is used- } deriving (Eq, Ord)--instance Show Table where- show (Table db' nam pa) =- maybe "" (\(Database d) -> d++".") db' ++ nam ++ maybe "" (\x -> "{"++x++"}") pa--tablePrimaryAttr :: Table -> String-tablePrimaryAttr = fromMaybe (uToString defaultPrimaryAttr) . _tablePrimaryAttr---- | "id"-defaultPrimaryAttr :: Utf8-defaultPrimaryAttr = uFromString "id"---- | Create a simple table refence with no associated database or primary key--- --- >>> table "music"--- --- Another way to create table references is to use the Table constructor:--- --- >>> Table (Just "mydatabase") "music" (Just "tuneid")--table :: String -> Table-table n = Table Nothing n Nothing---- | Create a table on the server--- --- @def@ can be imported from Data.Default--- --- >>> t <- run h $ tableCreate (table "fruits") def--tableCreate :: Table -> TableCreateOptions -> Query False Table-tableCreate (Table mdb table_name primary_key)- (TableCreateOptions datacenter cache_size) = Query- (metaQuery $ do - curdb <- activeDB- let create = defaultValue {- QLCreateTable.datacenter = fmap uFromString datacenter,- QLCreateTable.table_ref = QL.TableRef (uFromString $ databaseName $ fromMaybe curdb mdb)- (uFromString table_name) Nothing, - QLCreateTable.primary_key = fmap uFromString primary_key,- QLCreateTable.cache_size = cache_size- }- return $ QL.MetaQuery QL.CREATE_TABLE Nothing (Just create) Nothing)- (const $ Right $ Table mdb table_name primary_key)---- | Drop a table-tableDrop :: Table -> Query False ()-tableDrop tbl = Query- (metaQuery $ do- ref <- tableRef tbl- return $ QL.MetaQuery QL.DROP_TABLE Nothing Nothing $ Just $ ref)- (const $ Right ())---- | List the tables in a database-tableList :: Database -> Query False [Table]-tableList (Database name) = Query - (metaQuery $ return $ - QL.MetaQuery QL.LIST_TABLES (Just $ uFromString name) Nothing Nothing)- (maybe (Left "error") Right . sequence .- map (fmap (\x -> Table (Just (Database name)) x Nothing) . convert))---- | Get the primary key of the table as a Utf8, or "id" if there is none-uTableKey :: Table -> Utf8-uTableKey (Table _ _ mkey) = fromMaybe defaultPrimaryAttr $ fmap uFromString mkey---- | A reference to a document-data Document = Document {- documentTable :: Table,- documentKey :: Value- } deriving (Eq)--instance Show Document where- show (Document t k) = show t ++ "[" ++ show k ++ "]"---- | Get a document by primary key-get :: (ToExpr e, ExprType e ~ StreamType True ObjectType, ToValue k) =>- e -> k -> ObjectExpr-get e k = Expr $ do- (vw, _) <- exprV e- let tbl@(Table _ _ mattr) = viewTable vw- ref <- tableRef tbl- key <- value k- withView NoView $ return defaultValue {- QL.type' = QL.GETBYKEY,- QL.get_by_key = Just $ QL.GetByKey ref (fromMaybe defaultPrimaryAttr $- fmap uFromString mattr) key- }--insert_or_upsert :: (ToValue a, ToValueType (ExprType a) ~ ObjectType) =>- Table -> [a] -> Bool -> WriteQuery [Document]-insert_or_upsert tbl array overwrite = WriteQuery- (do ref <- tableRef tbl- as <- mapM value array- let write = defaultValue {- QLWriteQuery.type' = QL.INSERT,- QL.insert = Just $ QL.Insert ref- (Seq.fromList $ as) (Just overwrite) }- return $ write)- (whenSuccess "generated_keys" $ \keys -> Right $ map (\doc -> Document tbl doc) keys)---- | Insert a document into a table--- --- >>> d <- run h $ insert t (object ["name" .= "banana", "color" .= "red"])--insert :: (ToValue a, ToValueType (ExprType a) ~ ObjectType) =>- Table -> a -> WriteQuery Document-insert tb a = fmap head $ insert_or_upsert tb [a] False---- | Insert many documents into a table-insertMany :: (ToValue a, ToValueType (ExprType a) ~ ObjectType) =>- Table -> [a] -> WriteQuery [Document]-insertMany tb a = insert_or_upsert tb a False---- | Insert a document into a table, overwriting a document with the--- same primary key if one exists.--upsert :: (ToValue a, ToValueType (ExprType a) ~ ObjectType) =>- Table -> a -> WriteQuery Document-upsert tb a = fmap head $ insert_or_upsert tb [a] True---- | Insert many documents into a table, overwriting any existing documents --- with the same primary key.-upsertMany :: (ToValue a, ToValueType (ExprType a) ~ ObjectType) =>- Table -> [a] -> WriteQuery [Document]-upsertMany tb a = insert_or_upsert tb a True---- | Update a table--- --- >>> t <- run h $ tableCreate (table "example") def--- >>> run h $ insertMany t [object ["a" .= 1, "b" .= 11], object ["a" .= 2, "b" .= 12]]--- >>> run h $ update t (object ["b" .= 20])--- >>> run h $ t--update :: (ToExpr sel, ExprType sel ~ StreamType True out, ToMapping map,- MappingFrom map ~ out, MappingTo map ~ ObjectType) =>- sel -> map -> WriteQuery ()-update view m = WriteQuery- (do mT <- mapping m- write <- case toExpr view of- Expr _ -> do viewT <- expr view- return defaultValue {- QLWriteQuery.type' = QL.UPDATE,- QL.update = Just $ QL.Update viewT mT }- SpotExpr (Document tbl@(Table _ _ k) d) -> do- ref <- tableRef tbl- return $ defaultValue {- QLWriteQuery.type' = QL.POINTUPDATE,- QL.point_update = Just $ QL.PointUpdate ref- (fromMaybe defaultPrimaryAttr $ fmap uFromString k)- (toJsonTerm d) mT }- return write)- (whenSuccess_ ())---- | Replace documents in a table-replace :: (ToExpr sel, ExprIsView sel ~ True, ToJSON a) => sel -> a -> WriteQuery ()-replace view a = WriteQuery- (do fun <- mapping (toJSON a)- write <- case toExpr view of- Expr f -> do- (_, e) <- f- return defaultValue {- QLWriteQuery.type' = QL.MUTATE,- QL.mutate = Just $ QL.Mutate e fun }- SpotExpr (Document tbl@(Table _ _ k) d) -> do- ref <- tableRef tbl- return defaultValue {- QLWriteQuery.type' = QL.POINTMUTATE,- QL.point_mutate = Just $ QL.PointMutate ref- (fromMaybe defaultPrimaryAttr $ fmap uFromString k)- (toJsonTerm d) fun }- return write)- (whenSuccess_ ())---- | Delete one or more documents from a table-delete :: (ToExpr sel, ExprIsView sel ~ True) => sel -> WriteQuery ()-delete view = WriteQuery- (do write <- case toExpr view of- Expr f -> do- (_, ex) <- f- return defaultValue {- QLWriteQuery.type' = QL.DELETE,- QL.delete = Just $ QL.Delete ex }- SpotExpr (Document tbl@(Table _ _ k) d) -> do- ref <- tableRef tbl- return defaultValue {- QLWriteQuery.type' = QL.POINTDELETE,- QL.point_delete = Just $ QL.PointDelete ref- (fromMaybe defaultPrimaryAttr $ fmap uFromString k)- (toJsonTerm d) }- return write)- (whenSuccess_ ())---- * Queries---- | A query returning a-data Query (b :: Bool) a where- Query :: { _queryBuild :: QueryM QL.Query, - _queryExtract :: [Value] -> Either String a } -> Query False a- ViewQuery :: { _viewQueryBuild :: QueryM (Table, QL.Query),- _viewQueryExtract :: [(Document, Value)] -> Either String a }- -> Query True a--data WriteQuery a = WriteQuery {- writeQueryBuild :: QueryM QL.WriteQuery,- writeQueryExtract :: [Value] -> Either String a- }--queryBuild :: Query w a -> QueryM (MaybeView w, QL.Query)-queryBuild (Query b _) = fmap ((,) NoView) b-queryBuild (ViewQuery b _) = fmap (first ViewOf) b--queryExtract :: Query w a -> MaybeView w -> [Value] -> Either String a-queryExtract (Query _ e) _ vs = e vs-queryExtract (ViewQuery _ e) (ViewOf tbl) vs = e =<< mapM (addDoc tbl) vs-queryExtract _ _ _ = error "GHC was right, this branch is reachable!"--instance Functor (Query w) where- fmap f (Query a g) = Query a (fmap f . g)- fmap f (ViewQuery a g) = ViewQuery a (fmap f . g)--instance Functor WriteQuery where- fmap f (WriteQuery a g) = WriteQuery a (fmap f . g)---type family If (p :: Bool) (a :: k) (b :: k) :: k-type instance If True a b = a-type instance If False a b = b----- | Convert things like tables and documents into queries-class ToBuildQuery a where- type BuildViewQuery a :: Bool- buildQuery :: a -> ([If (BuildViewQuery a)- (Document, Value) Value]- -> Either String b) -> Query (BuildViewQuery a) b--class ToBuildQuery a => ToQuery a b | a -> b where- toQuery :: a -> Query (BuildViewQuery a) b--instance ToBuildQuery (Query w a) where- type BuildViewQuery (Query w a) = w- buildQuery (Query b _) = Query b- buildQuery (ViewQuery b _) = ViewQuery b--instance ToQuery (Query w a) a where- toQuery q = q--instance ToBuildQuery (WriteQuery a) where- type BuildViewQuery (WriteQuery a) = False- buildQuery (WriteQuery b _) = Query $ do- wq <- b- tok <- getToken- return $ defaultValue { QLQuery.type' = QL.WRITE, QLQuery.token = tok, - QLQuery.write_query = Just $ wq } --instance ToQuery (WriteQuery a) a where- toQuery w@(WriteQuery _ e) = buildQuery w e--instance ToBuildQuery Table where- type BuildViewQuery Table = True- buildQuery = buildQuery . toExpr--instance FromJSON a => ToQuery Table [(Document, a)] where- toQuery tbl = buildQuery tbl $- (maybe (Left "wrong response type") Right . mapMSnd convert)--mapMSnd :: Monad m => (a -> m b) -> [(c,a)] -> m [(c,b)]-mapMSnd f = mapM $ \(a,b) -> liftM ((,) a) (f b)--instance ToBuildQuery Document where- type BuildViewQuery Document = True- buildQuery = buildQuery . toExpr--instance FromJSON a => ToQuery Document a where- toQuery doc = buildQuery doc $- maybe (Left "empty response") Right . ((convert . snd) <=< listToMaybe)--data Proxy t = Proxy--instance ToBuildQuery (Expr (StreamType False v)) where- type BuildViewQuery (Expr (StreamType False v)) = False- buildQuery = Query . fmap snd . exprToQLQuery--instance ExtractValue v a => ToQuery (Expr (StreamType False v)) [a] where- toQuery e = buildQuery e $- maybe (Left "cannot convert response") Right- . extractListOf (Proxy :: Proxy v)--instance ToBuildQuery (Expr (StreamType True v)) where- type BuildViewQuery (Expr (StreamType True v)) = True- buildQuery = ViewQuery . fmap (first viewTable) . exprToQLQuery--instance ExtractValue v a => ToQuery (Expr (StreamType True v)) [(Document, a)] where- toQuery e = exprViewQuery (maybe (Left "cannot convert response") Right . extract) e- where extract = extractListOf (Proxy :: Proxy v)--instance ToBuildQuery (Expr (ValueType v)) where- type BuildViewQuery (Expr (ValueType v)) = False- buildQuery = Query . fmap snd . exprToQLQuery--instance ExtractValue v a => ToQuery (Expr (ValueType v)) a where- toQuery e = buildQuery e $ - maybe (Left "empty response")- (maybe (Left "cannot convert response") Right .- extractValue (Proxy :: Proxy v))- . listToMaybe--exprToQLQuery :: Expr t -> QueryM (MaybeView (ExprTypeIsView t), QL.Query)-exprToQLQuery e = do- token <- getToken- (vw, ex) <- exprV e- return $ (,) vw $ QL.Query QL.READ token (- Just $ defaultValue { QLReadQuery.term = ex }) Nothing Nothing--exprViewQuery :: (ExprTypeIsView t ~ True) =>- ([Value] -> Either String [a]) -> Expr t -> Query True [(Document, a)]-exprViewQuery c e = flip ViewQuery (\x -> fmap (zip $ map fst x) (c (map snd x))) $ do- token <- getToken- (ViewOf tbl, ex) <- exprV e- return $ (,) tbl $ QL.Query QL.READ token (- Just $ defaultValue { QLReadQuery.term = ex }) Nothing Nothing--extractListOf :: ExtractValue t a => Proxy t -> [Value] -> Maybe [a]-extractListOf p = sequence . map (extractValue p)--class ExtractValue t v | t -> v where- extractValue :: Proxy t -> Value -> Maybe v--instance (Num a, FromJSON a) => ExtractValue NumberType a where extractValue _ = convert-instance ExtractValue BoolType Bool where extractValue _ = convert-instance FromJSON a => ExtractValue ObjectType a where extractValue _ = convert-instance FromJSON a => ExtractValue ArrayType a where extractValue _ = convert-instance (IsString a, FromJSON a) => ExtractValue StringType a where extractValue _ = convert-instance ExtractValue NoneType () where extractValue _ = const $ Just ()-instance FromJSON a => ExtractValue OtherValueType a where extractValue _ = convert---- | Run a query on the connection--- --- The return value depends on the type of the second argument.--- --- When the return value is polymorphic, type annotations may be required.--- --- >>> run h $ table "fruits" :: IO [(Document, Value)]--run :: ToQuery a v => RethinkDBHandle -> a -> IO v-run h q = do- r <- runEither h q- case r of- Left e -> error e- Right a -> return a---- | Run a query on the connection, returning (Left message) on error-runEither :: ToQuery a v => RethinkDBHandle -> a -> IO (Either String v)-runEither h q = case toQuery q of- -- TODO: just call runBatch and get the resultsSeq- query -> do- tok <- getNewToken h- let ((vw, qlq), _) = runQueryM (queryBuild query) $- QuerySettings tok (rdbDatabase h) initialVars False- r <- runQLQuery h qlq- return $ case r of- ErrorResponse {} -> Left (show r)- SuccessResponse _ strs -> queryExtract query vw =<<- (maybe (Left "decode error") Right . sequence . map decodeAny $ strs)--addDoc :: Table -> Value -> Either String (Document, Value)-addDoc tbl x = do- id' <- maybe (Left "missign primary key") Right $ getKey (tablePrimaryAttr tbl) x- return (Document tbl id', x)- where getKey k (Object o) = parseMaybe (.: str k) o- getKey _ _ = Nothing---- | Run a query on the connection, returning Nothing on error-runMaybe :: ToQuery a v => RethinkDBHandle -> a -> IO (Maybe v)-runMaybe h = fmap (either (const Nothing) Just) . runEither h---- | Run a query on the connection and return the raw response-runRaw :: (ToBuildQuery q, JSONQuery (BuildViewQuery q)) =>- RethinkDBHandle -> q -> IO Response-runRaw h q = do- tok <- getNewToken h- let ((_, qlq), _) = runQueryM (queryBuild (jsonQuery (buildQuery q))) $- QuerySettings tok (rdbDatabase h) initialVars False- runQLQuery h qlq---- | Run a query on the connection and return the resulting JSON value-runJSON :: (JSONQuery (BuildViewQuery q), ToBuildQuery q) =>- RethinkDBHandle -> q -> IO [Value]-runJSON h q = run h (jsonQuery (buildQuery q))--class JSONQuery (b :: Bool) where- jsonQuery :: (forall a . ([If b (Document, Value) Value] -> Either String a) -> Query b a)- -> Query b [Value]--instance JSONQuery False where- jsonQuery f = f Right--instance JSONQuery True where- jsonQuery f = f (Right . map snd)--data Results a = Results {- resultsHandle :: IORef (Maybe (RethinkDBHandle, Int64)),- resultsSeq :: IORef (Seq.Seq a),- _resultsError :: IORef (Maybe String),- resultsQueryView :: QueryViewPair [a]- }--data QueryViewPair a where- QueryViewPair :: Query w a -> MaybeView w -> QueryViewPair a---- | Run a query on the connection and a return a lazy result list--- --- >>> res <- runBatch h <- (arrayToStream [1,2,3] :: NumberStream)--- >>> next res--- Just 1--- >>> collect res--- [2,3]--runBatch :: ToQuery q [a] => RethinkDBHandle -> q -> IO (Results a)-runBatch h q = case toQuery q of- query -> do- tok <- getNewToken h- let ((vw, qlq), _) = runQueryM (queryBuild query) $- QuerySettings tok (rdbDatabase h) initialVars False- r <- runQLQuery h qlq- let (han, seq', err) = queryExtractResponse query vw r h tok- refHan <- newIORef han- refSeq <- newIORef seq'- refErr <- newIORef err- return $ Results refHan refSeq refErr (QueryViewPair query vw)--queryExtractResponse ::- Query w [a] -> MaybeView w -> Response -> RethinkDBHandle -> Int64- -> (Maybe (RethinkDBHandle, Int64), Seq a, Maybe String)-queryExtractResponse query vw r h tok =- case r of- ErrorResponse {} -> (Nothing, Seq.fromList [], Just $ show r)- SuccessResponse typ strs ->- let rList = queryExtract query vw =<<- (maybe (Left "decode error") Right . sequence . map decodeAny $ strs)- in case rList of- Left err -> (Nothing, Seq.fromList [], Just err)- Right list ->- let han = case typ of- SuccessPartial -> Just (h, tok)- SuccessStream -> Nothing- SuccessJson -> Nothing- SuccessEmpty -> Nothing- in (han, Seq.fromList list, Nothing)---- | Read the next value from a lazy query. Fetch it from the server if needed.-next :: Results a -> IO (Maybe a)-next res = do- seq' <- readIORef (resultsSeq res)- case Seq.viewl seq' of- car Seq.:< cdr -> do- writeIORef (resultsSeq res) cdr- return (Just car)- Seq.EmptyL -> do- mh <- readIORef (resultsHandle res)- case (mh, resultsQueryView res) of- (Nothing, _) -> return Nothing- (Just (h, tok), (QueryViewPair query vw)) -> do- resp <- runQLQuery h $ defaultValue {- QLQuery.type' = QL.CONTINUE, QLQuery.token = tok }- let (han, seq'', err) = queryExtractResponse query vw resp h tok- writeIORef (resultsHandle res) han- modifyIORef (resultsSeq res) (<> seq'')- writeIORef (_resultsError res) err- next res---- | Return all the results of a lazy query.-collect :: Results a -> IO [a]-collect r = do- ma <- next r- case ma of- Nothing -> return []- Just a -> fmap (a:) (collect r)---- | Get the last error from a lazy query.--- --- If both next and resultsError return Nothing, then--- all results have been fetched without error.--resultsError :: Results a -> IO (Maybe String)-resultsError = readIORef . _resultsError---- * Expressions---- | Can the Expr be written to? (updated or deleted)-type family ExprTypeIsView (expr :: ExprTypeKind) :: Bool-type instance ExprTypeIsView (StreamType w o) = w-type instance ExprTypeIsView (ValueType v) = False--type ExprIsView e = ExprTypeIsView (ExprType e)--type family ExprTypeNoView (t :: ExprTypeKind) :: ExprTypeKind-type instance ExprTypeNoView (StreamType b t) = StreamType False t-type instance ExprTypeNoView (ValueType t) = ValueType t---- | The type of the value of an Expr-type family ExprValueType expr :: ValueTypeKind-type instance ExprValueType (Expr (ValueType v)) = v-type instance ExprValueType (Expr (StreamType w v)) = v---- | The type of the stream of an Expr-type family ExprTypeStreamType (t :: ExprTypeKind) :: ValueTypeKind-type instance ExprTypeStreamType (StreamType w t) = t---- | An RQL expression-data Expr (t :: ExprTypeKind) where- Expr :: QueryM (MaybeView (ExprIsView (Expr t)), QL.Term) -> Expr t- SpotExpr :: Document -> Expr (StreamType True ObjectType)--mkExpr :: ExprIsView (Expr t) ~ False => QueryM QL.Term -> Expr t-mkExpr q = Expr $ fmap ((,) NoView) q--mkView :: ExprIsView (Expr t) ~ True => Table -> QueryM QL.Term -> Expr t-mkView t q = Expr $ fmap ((,) (ViewOf t)) q--viewKeyAttr :: MaybeView b -> Utf8-viewKeyAttr v = fromMaybe defaultPrimaryAttr $ fmap uFromString $- case v of - ViewOf (Table _ _ k) -> k- NoView -> Nothing--viewTable :: MaybeView True -> Table-viewTable v = case v of ViewOf t -> t--data MaybeView (w :: Bool) where- NoView :: MaybeView False- ViewOf :: Table -> MaybeView True---- | Convert something into an Expr-class ToExpr (o :: *) where- type ExprType o :: ExprTypeKind- toExpr :: o -> Expr (ExprType o)---- | The result type of toValue-type family ToValueType (t :: ExprTypeKind) :: ValueTypeKind-type instance ToValueType (StreamType w t) = ArrayType-type instance ToValueType (ValueType t) = t---- | Convert something into a value Expr-class ToValue e where- toValue :: e -> Expr (ValueType (ToValueType (ExprType e)))--type family FromMaybe (a :: k) (m :: Maybe k) :: k-type instance FromMaybe a Nothing = a-type instance FromMaybe a (Just b) = b--type HasToStreamValueOf a b = FromMaybe a (ToStreamValue b) ~ a--type ToStreamValue e = ToStreamTypeValue (ExprType e)--type family ToStreamTypeValue (t :: ExprTypeKind) :: Maybe ValueTypeKind-type instance ToStreamTypeValue (StreamType w t) = Just t-type instance ToStreamTypeValue (ValueType t) = Nothing--class ToExpr e => ToStream e where- toStream :: e -> Expr (StreamType (ExprIsView e) (FromMaybe a (ToStreamValue e)))--instance ToExpr Document where- type ExprType Document = StreamType True 'ObjectType- toExpr doc = SpotExpr doc--instance ToValue Document where- toValue = streamToArray--instance ToStream Document where- toStream = toExpr--instance ToExpr Table where- type ExprType Table = StreamType True ObjectType- toExpr tbl = mkView tbl $ do- ref <- tableRef tbl- return defaultValue { - QL.type' = QL.TABLE,- QL.table = Just $ QL.Table ref }--instance ToValue Table where- toValue = streamToArray- -instance ToStream Table where- toStream = toExpr--instance ToExpr (Expr t) where- type ExprType (Expr t) = t- toExpr e = e--instance ToValue (Expr (ValueType t)) where- toValue e = e--instance ToValue (Expr (StreamType w t)) where- toValue = streamToArray--instance ToStream (Expr (ValueType ArrayType)) where- toStream = arrayToStream--instance ToStream (Expr (StreamType w t)) where- toStream e = e--instance ToExpr Int where- type ExprType Int = ValueType NumberType- toExpr n = mkExpr $ return $ defaultValue {- QL.type' = QL.NUMBER, QL.number = Just $ fromIntegral n }--instance ToValue Int where- toValue = toExpr- -instance ToExpr Integer where- type ExprType Integer = ValueType NumberType- toExpr n = mkExpr $ return $ defaultValue {- QL.type' = QL.NUMBER, QL.number = Just $ fromInteger n }--instance ToValue Integer where- toValue = toExpr--instance ToExpr Double where- type ExprType Double = ValueType NumberType- toExpr n = mkExpr $ return $ defaultValue {- QL.type' = QL.NUMBER, QL.number = Just n }--instance ToValue Double where- toValue = toExpr--instance ToExpr Char where- type ExprType Char = ValueType StringType- toExpr c = mkExpr $ return defaultValue {- QL.type' = QL.STRING, QL.valuestring = Just $ uFromString [c] }--instance ToExpr T.Text where- type ExprType T.Text = ValueType StringType- toExpr s = mkExpr $ return defaultValue {- QL.type' = QL.STRING, QL.valuestring = Just $ uFromString (T.unpack s) }--instance ToValue T.Text where- toValue = toExpr--str :: String -> T.Text-str = T.pack--instance ToExpr a => ToExpr [a] where- type ExprType [a] = ValueType ArrayType- toExpr l = mkExpr $ do- exs <- sequence $ map (expr . toExpr) l- return defaultValue {- QL.type' = QL.ARRAY, QL.array = Seq.fromList exs }--instance ToExpr a => ToValue [a] where- toValue = toExpr--instance ToExpr a => ToStream [a] where- toStream = arrayToStream . toExpr--instance ToExpr () where- type ExprType () = ValueType NoneType- toExpr () = mkExpr $ return $ defaultValue { QL.type' = QL.JSON_NULL }--instance ToValue () where- toValue = toExpr--instance ToExpr Obj where- type ExprType Obj = ValueType ObjectType- toExpr (Obj o) = mkExpr $ do- exs <- sequence $ map go o- return defaultValue {- QL.type' = QL.OBJECT, QL.object = Seq.fromList exs }- where go (k := a) = do- ex <- value a- return QL.VarTermTuple {- QLVarTermTuple.var = uFromString k, QLVarTermTuple.term = ex }--instance ToValue Obj where- toValue = toExpr---- | Aliases for type constraints on expressions-type HasValueType a v = (ToValue a, ToValueType (ExprType a) ~ v)-type HaveValueType a b v = (HasValueType a v, HasValueType b v)---- | Simple aliases for different Expr types-type NumberExpr = Expr (ValueType NumberType)-type BoolExpr = Expr (ValueType BoolType)-type ObjectExpr = Expr (ValueType ObjectType)-type ArrayExpr = Expr (ValueType ArrayType)-type StringExpr = Expr (ValueType StringType)-type ValueExpr t = Expr (ValueType t)-type NumberStream = Expr (StreamType False NumberType)-type BoolStream = Expr (StreamType False BoolType)-type ArrayStream = Expr (StreamType False ArrayType)-type StringStream = Expr (StreamType False StringType)-type ObjectStream = Expr (StreamType False ObjectType)-type Selection = Expr (StreamType True ObjectType)---- | What values can be compared with eq, ne, lt, gt, le and ge-class CanCompare (a :: ValueTypeKind)-instance CanCompare NumberType-instance CanCompare StringType--instance Num (Expr (ValueType NumberType)) where- (+) = add- (-) = sub- (*) = mul- abs = jsfun "abs"- signum = signum'- fromInteger = toExpr--instance Fractional (Expr (ValueType NumberType)) where- fromRational n = toExpr (fromRational n :: Double)- (/) = div'---- | A sequence is either a stream or an array-class Sequence (e :: ExprTypeKind) where- type SequenceType e (t :: ValueTypeKind) :: Constraint--instance Sequence (StreamType w t) where- type SequenceType (StreamType w t) tt = t ~ tt--instance a ~ ArrayType => Sequence (ValueType a) where- type SequenceType (ValueType a) t = ()---- | A list of String/Expr pairs-data Obj = Obj [Attribute]-data Attribute = forall e . (ToValue e) => String := e---- | Build an Obj-obj :: [Attribute] -> Obj-obj = Obj---- | Convert a stream into an array--streamToArray :: (ToExpr e, ExprType e ~ StreamType w t) => e -> Expr (ValueType ArrayType)-streamToArray = simpleOp QL.STREAMTOARRAY . return . expr---- | Convert an array into a stream-arrayToStream :: (ToExpr e, ExprType e ~ ValueType ArrayType) => e -> Expr (StreamType False t)-arrayToStream = simpleOp QL.ARRAYTOSTREAM . return . expr---- * Mappings---- | A mapping is a like single-parameter function-data Mapping (from :: ValueTypeKind) (to :: ValueTypeKind) =- Mapping (QueryM QL.Mapping)---- | Convert objects into mappings-class ToMapping map where- type MappingFrom map :: ValueTypeKind- type MappingTo map :: ValueTypeKind- toMapping :: map -> Mapping (MappingFrom map) (MappingTo map)--instance ToMapping Obj where- type MappingFrom Obj = ObjectType- type MappingTo Obj = ObjectType- toMapping v = Mapping $ do - ex <- expr v- return $ defaultValue { QLMapping.body = ex }--instance ToMapping Value where- type MappingFrom Value = ObjectType- type MappingTo Value = ObjectType- toMapping v = Mapping $ return $ defaultValue { QLMapping.body = toJsonTerm v }--instance (ToValue b, a ~ Expr (ValueType t)) => ToMapping (a -> b) where - type MappingFrom (a -> b) = ExprValueType a- type MappingTo (a -> b) = ToValueType (ExprType b)- toMapping f = Mapping $ do- v <- newVar- ex <- value (f (var v))- return $ defaultValue {- QLMapping.arg = uFromString v,- QLMapping.body = ex }--instance ToMapping (Expr (ValueType t)) where- type MappingFrom (Expr (ValueType t)) = ObjectType- type MappingTo (Expr (ValueType t)) = t- toMapping e = Mapping $ do - ex <- expr e- return defaultValue { QLMapping.body = ex }---- * QueryM Monad--data QuerySettings = QuerySettings {- _queryToken :: Int64,- _queryDB :: Database,- _queryVars :: [String],- _queryUseOutdated :: Bool- }--instance Default QuerySettings where- def = QuerySettings 0 (db "") initialVars False--type QueryM = State QuerySettings--runQueryM :: QueryM a -> QuerySettings -> (a, QuerySettings)-runQueryM = runState--initialVars :: [String]-initialVars = concat $ zipWith (\n as -> map (++ (if n == 0 then "" else show n)) as)- [0 :: Int ..] (map (map return) $ repeat ['a'..'z'])--getToken :: QueryM Int64-getToken = fmap _queryToken S.get--activeDB :: QueryM Database-activeDB = fmap _queryDB S.get--newVar :: QueryM String-newVar = state $ \s -> let (x:xs) = _queryVars s in (x, s { _queryVars = xs} )--setUseOutdated :: ToExpr e => Bool -> e -> Expr (ExprType e)-setUseOutdated b e = Expr $ do- state $ \s -> runQueryM (exprV e) s { _queryUseOutdated = b }---- * Utilities---- | Convert a protobuf Mapping into a Predicate-mappingToPredicate :: QL.Mapping -> QL.Predicate-mappingToPredicate (QL.Mapping arg body _1) = defaultValue {- QLPredicate.arg = arg,- QLPredicate.body = body- }---- | Convert a table to a raw protobuf term-tableToTerm :: Table -> QueryM QL.Term-tableToTerm tbl = do- ref <- tableRef tbl- return $ defaultValue {- QL.type' = QL.TABLE,- QL.table = Just $ QL.Table ref }---- | Convert into a raw protobuf mapping-mapping :: ToMapping m => m -> QueryM QL.Mapping-mapping m = case toMapping m of Mapping f -> f---- | Convert an Expr to a term-expr :: ToExpr e => e -> QueryM QL.Term-expr = fmap snd . exprV--exprV :: ToExpr e => e -> QueryM (MaybeView (ExprIsView e), QL.Term)-exprV e = case toExpr e of- Expr f -> f- SpotExpr (Document tbl@(Table _ _ mkey) d) -> do- ref <- tableRef tbl- return $ ((,) (ViewOf tbl)) defaultValue { - QL.type' = QL.GETBYKEY,- QL.get_by_key = Just $ QL.GetByKey ref- (fromMaybe defaultPrimaryAttr $ fmap uFromString mkey)- (toJsonTerm d) }---- | Convert a stream to a term-stream :: ToStream a => a -> QueryM QL.Term-stream = expr . toStream---- | Convert a value to a term-value :: ToValue a => a -> QueryM QL.Term-value = expr . toValue---- | build a raw protobuf Term-toJsonTerm :: ToJSON a => a -> QL.Term-toJsonTerm a = defaultValue {- QL.type' = QL.JSON,- QL.jsonstring = Just $ Utf8 (encode a)- }---- | Test if a field is present in a json Value and return it-(.?) :: FromJSON a => Value -> String -> Maybe a-(.?) (Object h) k = toMaybe . fromJSON =<< HM.lookup (T.pack k) h- where toMaybe (Success a) = Just a- toMaybe _ = Nothing-(.?) _ _ = Nothing---- | Helper function to handle responses to a query-whenSuccess :: FromJSON a => String -> (a -> Either String b) -> [Value] -> Either String b-whenSuccess key f response = do- info <- maybe (Left "invalid response") Right (convert =<< listToMaybe response)- if info .? "errors" /= Just (0 :: Int)- then maybe (Left "unknown error") Left $ info .? "first_error"- else fromMaybe (Left "key missing in response") (fmap f (info .? key))---- | same as whenSuccess, but ignore the response when there is no error-whenSuccess_ :: b -> [Value] -> Either String b-whenSuccess_ b response = do- info <- maybe (Left "invalid response") Right (convert =<< listToMaybe response)- if info .? "errors" /= Just (0 :: Int)- then maybe (Left "unknown error") Left $ info .? "first_error"- else Right b---- | Like aeson's decode, but but works on numbers and strings, not only objects and arrays-decodeAny :: FromJSON a => ByteString -> Maybe a-decodeAny s =- case Attoparsec.parse Data.Aeson.Parser.value s of- Attoparsec.Done _ v -> convert v- _ -> Nothing---- | Convert a JSON Value into another type-convert :: FromJSON a => Value -> Maybe a-convert v = case fromJSON v of- Success a -> Just a- _ -> Nothing---- | Extract the error message from a Response if there is an error--- | Help build meta queries-metaQuery :: QueryM QL.MetaQuery -> QueryM QL.Query-metaQuery q = do- t <- getToken- mq <- q- return $ QL.Query QL.META t Nothing Nothing $ Just mq---- | Convert an int to a 4-byte bytestring-packUInt :: Int -> ByteString-packUInt n = pack $ map fromIntegral $ - [n `mod` 256, (n `shiftR` 8) `mod` 256,- (n `shiftR` 16) `mod` 256, (n `shiftR` 24) `mod` 256]---- | Convert a 4-bte byestring to an int-unpackUInt :: ByteString -> Int-unpackUInt s = case unpack s of- [a,b,c,d] -> fromIntegral a .|.- fromIntegral b `shiftL` 8 .|.- fromIntegral c `shiftL` 16 .|.- fromIntegral d `shiftL` 24- _ -> error "unpackUInt: lengh is not 4"--op :: QL.BuiltinType -> QLBuiltin.Builtin-op o = defaultValue { QLBuiltin.type' = o }--apply :: QL.Builtin -> [QueryM QL.Term] -> QueryM QL.Term-apply o args = do- a <- sequence args- return $ defaultValue { QL.type' = QL.CALL, QL.call = Just $ QL.Call o (Seq.fromList a) }--rapply :: [QueryM QL.Term] -> QL.Builtin -> QueryM QL.Term-rapply = flip apply--simpleOp :: ExprIsView (Expr t) ~ False => QL.BuiltinType -> [QueryM QL.Term] -> Expr t-simpleOp o a = mkExpr $ apply (op o) a--withView :: MaybeView b -> QueryM QL.Term -> QueryM (MaybeView b, QL.Term)-withView v = fmap ((,) v)--primaryAttr :: (ToExpr e, ExprTypeIsView (ExprType e) ~ True) =>- e -> String -> Expr (ExprType e)-primaryAttr e a = Expr $ do- (ViewOf (Table mdb name _), ex) <- exprV e- return (ViewOf (Table mdb name (Just a)), ex)--comparison :: ExprTypeIsView t ~ False => QL.Comparison -> [QueryM QL.Term] -> Expr t-comparison o a = mkExpr $ rapply a (op QL.COMPARE) { QL.comparison = Just o }---- | Build a protobuf TableRef object-tableRef :: Table -> QueryM QL.TableRef-tableRef (Table mdb tb _) = do- curdb <- activeDB- useOutdated <- fmap _queryUseOutdated S.get- return $ QL.TableRef (uFromString $ databaseName $ fromMaybe curdb mdb)- (uFromString tb) (Just useOutdated)--extractTerm :: ToExpr e => e -> QL.Term-extractTerm e = fst $ runQueryM (expr e) def--dumpExpr :: ToExpr e => e -> String-dumpExpr = dumpTermPart "" . extractTerm--dumpTermPart :: Data a => String -> a -> String-dumpTermPart p a = case dataTypeName (dataTypeOf a) of- name | "Database.RethinkDB.Internal" `isPrefixOf` name ->- showConstr (toConstr a) ++ maybeFields a- | ".Utf8" `isSuffixOf` name ->- show (uToString (fromJust $ cast a))- | ".Double" `isSuffixOf` name ->- show (fromJust $ cast a :: Double)- | ".Seq" `isSuffixOf` name -> dumpSeq a - | otherwise -> dataTypeName (dataTypeOf a) -- showConstr (toConstr a)- where fieldValues t = gmapQ maybeDump t- fields t = catMaybes $ zipWith (\x y -> fmap ((x ++ ": ") ++) y)- (constrFields (toConstr t)) (fieldValues t)- maybeFields t = let f = fields t in if null f then ""- else " {\n" ++ p ++ concat (intersperse (",\n"++p) f) ++ " }"- maybeDump :: Data a => a -> Maybe String- maybeDump t = case showConstr (toConstr t) of- "Nothing" -> Nothing- "Just" -> Just $ head (gmapQ (dumpTermPart (p ++ " ")) t)- "empty" -> Nothing -- empty Seq- "ExtField" -> Nothing- _ -> Just $ dumpTermPart (p ++ " ") t- dumpSeq t = let elems :: Data a => a -> [String]- elems tt = case showConstr (toConstr tt) of - "empty" -> []- _ -> gmapQi 0 (dumpTermPart (p ++ " ")) tt : gmapQi 1 elems tt- in "[" ++ concat (intersperse ", " $ elems t) ++ "]"+module Database.RethinkDB.Driver (+ run,+ run',+ Result(..),+ runOpts,+ RunOptions(..),+ ) where++import Data.Aeson (Value, FromJSON, fromJSON)+import qualified Data.Aeson (Result(Error, Success))+import Control.Monad+import Control.Concurrent.MVar (MVar, takeMVar)+import Data.Sequence ((|>))++import Database.RethinkDB.Protobuf.Ql2.Query (Query(..))+import Database.RethinkDB.Protobuf.Ql2.Query.AssocPair (AssocPair(..))+import Database.RethinkDB.Protobuf.Ql2.Term as Term (Term(..))+import Database.RethinkDB.Protobuf.Ql2.Term.TermType+import Database.RethinkDB.Protobuf.Ql2.Datum as Datum+import Database.RethinkDB.Protobuf.Ql2.Datum.DatumType+import Text.ProtocolBuffers.Basic (uFromString, defaultValue)++import Database.RethinkDB.Network+import Database.RethinkDB.ReQL++-- | Per-query settings+data RunOptions =+ UseOutdated |+ NoReply |+ SoftDurability Bool++applyOption :: RunOptions -> Query -> Query+applyOption UseOutdated q = addQueryOption q "user_outdated" True+applyOption NoReply q = addQueryOption q "noreply" True+applyOption (SoftDurability b) q = addQueryOption q "soft_durability" b++addQueryOption :: Query -> String -> Bool -> Query+addQueryOption q k v = q {+ global_optargs = global_optargs q |> AssocPair (Just $ uFromString k) (Just boolTrue) }+ where+ boolTrue = defaultValue{+ Term.type' = Just DATUM, datum = Just defaultValue{+ Datum.type' = Just R_BOOL, r_bool = Just v } }++-- | Run a query with the given options+runOpts :: (Expr query, Result r) => RethinkDBHandle -> [RunOptions] -> query -> IO r+runOpts h opts t = do+ let (q, bt) = buildQuery (expr t) 0 (rdbDatabase h)+ let q' = foldr (fmap . applyOption) id opts q+ r <- runQLQuery h q' bt+ convertResult r++-- | Run a given query and return a Result+run :: (Expr query, Result r) => RethinkDBHandle -> query -> IO r+run h = runOpts h []++-- | Run a given query and return a Value+run' :: Expr query => RethinkDBHandle -> query -> IO [Value]+run' h t = do+ c <- run h t+ collect c++-- | Convert the raw query response into useful values+class Result r where+ convertResult :: MVar Response -> IO r++instance Result Response where+ convertResult = takeMVar++instance FromJSON a => Result (Cursor a) where+ convertResult r = fmap (fmap $ unsafe . fromJSON) $ makeCursor r+ where+ unsafe (Data.Aeson.Error e) = error e+ unsafe (Data.Aeson.Success a) = a++instance FromJSON a => Result [a] where+ convertResult = collect <=< convertResult+ +instance FromJSON a => Result (Maybe a) where+ convertResult r = do+ c <- convertResult r+ car <- next c+ case car of+ Nothing -> return Nothing+ Just a -> do+ cadr <- next c+ case cadr of+ Nothing -> return $ Just a+ Just _ -> return Nothing
− Database/RethinkDB/Driver.hs-boot
@@ -1,13 +0,0 @@-{-# LANGUAGE TypeFamilies, ConstraintKinds, DataKinds #-}-module Database.RethinkDB.Driver where-import Database.RethinkDB.Types-class ToExpr a-class ToValue e-type family ExprType a :: ExprTypeKind-type family ToValueType (t :: ExprTypeKind) :: ValueTypeKind-type HasValueType a v = (ToValue a, ToValueType (ExprType a) ~ v)-type HaveValueType a b v = (HasValueType a v, HasValueType b v)-data Expr (a :: ExprTypeKind)-type NumberExpr = Expr (ValueType NumberType)-type family ExprTypeIsView (expr :: ExprTypeKind) :: Bool-type ExprIsView e = ExprTypeIsView (ExprType e)
Database/RethinkDB/Functions.hs view
@@ -1,437 +1,399 @@-{-# LANGUAGE DataKinds, TypeFamilies, ConstraintKinds, FlexibleInstances, - FlexibleContexts, TypeOperators, ViewPatterns #-}+{-# LANGUAGE FlexibleInstances, OverloadedStrings #-} +-- TODO: operator fixity+ -- | Functions from the ReQL (RethinkDB Query Language) module Database.RethinkDB.Functions where -import Database.RethinkDB.Types-import Database.RethinkDB.Driver+import Data.Text (Text)+import Control.Monad.State+import Control.Applicative+import Data.Maybe -import Text.ProtocolBuffers.Basic hiding (Default)-import qualified Database.RethinkDB.Internal.Types as QL-import qualified Database.RethinkDB.Internal.Query_Language.Term as QLTerm-import qualified Database.RethinkDB.Internal.Query_Language.WriteQuery as QLWriteQuery-import qualified Database.RethinkDB.Internal.Query_Language.Builtin as QLBuiltin-import qualified Database.RethinkDB.Internal.Query_Language.Builtin.OrderBy as QLOrderBy-import qualified Database.RethinkDB.Internal.Query_Language.Reduction as QLReduction+import Database.RethinkDB.ReQL+import Database.RethinkDB.MapReduce+import Database.RethinkDB.Objects as O +import Database.RethinkDB.Protobuf.Ql2.Term.TermType++import Prelude (($), return, Double, Bool, String) import qualified Prelude as P-import Prelude (Bool(..), ($), Maybe(..), Int, String, flip, undefined, return, (.), mapM) -import Control.Monad (liftM)-import Data.Maybe-import Data.Functor-import Data.Aeson-import qualified Data.Sequence as Seq+-- | Arithmetic Operator+(+), (-), (*), (/), mod+ :: (Expr a, Expr b) => a -> b -> ReQL+(+) a b = op ADD (a, b) ()+(-) a b = op SUB (a, b) ()+(*) a b = op MUL (a, b) ()+(/) a b = op DIV (a, b) ()+mod a b = op MOD (a, b) () --- * Numbers, Booleans and Comparisons+-- | Boolean operator+(||), (&&) :: (Expr a, Expr b) => a -> b -> ReQL+a || b = op ANY (a, b) ()+a && b = op ALL (a, b) () -signum, signum' :: (ToValue e, ToValueType (ExprType e) ~ NumberType) => e -> NumberExpr-signum x = bind x (\n -> if' (n `lt` (0 :: NumberExpr)) (-1 :: Int)- (if' (n `lt` (0 :: NumberExpr)) (1 :: Int) (0 :: Int)))-signum' = signum+-- | Comparison operator+(==), (!=) :: (Expr a, Expr b) => a -> b -> ReQL+a == b = op EQ (a, b) ()+a != b = op NE (a, b) () -(+), add, (-), sub, (*), mul, (/), div', mod, mod'- :: (HaveValueType a b NumberType) => a -> b -> NumberExpr+-- | Comparison operator+(>), (>=), (<), (<=)+ :: (Expr a, Expr b) => a -> b -> ReQL+a > b = op GT (a, b) ()+a < b = op LT (a, b) ()+a >=b = op GE (a, b) ()+a <=b = op LE (a, b) () -(+) a b = simpleOp QL.ADD [value a, value b]-(-) a b = simpleOp QL.SUBTRACT [value a, value b]-(*) a b = simpleOp QL.MULTIPLY [value a, value b]-(/) a b = simpleOp QL.DIVIDE [value a, value b]-add = (+)-sub = (-)-mul = (*)-div' = (/)+-- | Negation+not :: (Expr a) => a -> ReQL+not a = op NOT [a] () -mod a b = simpleOp QL.MODULO [value a, value b]-mod' = mod+-- * Lists and Streams -or, or', and, and' :: HaveValueType a b BoolType => a -> b -> BoolExpr-or a b = simpleOp QL.ANY [value a, value b]-and a b = simpleOp QL.ALL [value a, value b]-or' = or-and' = and+-- | The size of a sequence or an array+-- Called /count/ in the official drivers+length :: (Expr a) => a -> ReQL+length e = op COUNT [e] () -(==), (!=), eq, ne :: (HasValueType a x, HasValueType b y) => a -> b -> BoolExpr-eq a b = comparison QL.EQ [value a, value b]-ne a b = comparison QL.NE [value a, value b]-(==) = eq-(!=) = ne+-- | Join two sequences.+-- Called /union/ in the official drivers+(++) :: (Expr a, Expr b) => a -> b -> ReQL+a ++ b = op UNION (a, b) () -(>), (>=), (<), (<=), gt, lt, ge, le- :: (HaveValueType a b v, CanCompare v) => a -> b -> BoolExpr-gt a b = comparison QL.GT [value a, value b]-lt a b = comparison QL.LT [value a, value b]-ge a b = comparison QL.GE [value a, value b]-le a b = comparison QL.LE [value a, value b]-(>) = gt-(>=) = ge-(<) = lt-(<=) = le+-- | Map a function over a sequence+map :: (Expr a, Expr b) => (ReQL -> b) -> a -> ReQL+map f a = op MAP (a, expr P.. f) () -not, not' :: HasValueType a BoolType => a -> BoolExpr-not a = simpleOp QL.NOT [value a]-not' = not+-- | Filter a sequence given a predicate+filter :: (Expr predicate, Expr seq) => predicate -> seq -> ReQL+filter f a = op FILTER (a, f) () --- * Lists and Streams+-- | Query all the documents whose value for the given index is in a given range+between :: (Expr left, Expr right, Expr seq) => Key -> left -> right -> seq -> ReQL+between i a b e = op BETWEEN [e] ["left_bound" := a, "right_bound" := b, "index" := i] -length, count :: (ToExpr e, Sequence (ExprType e)) => e -> NumberExpr-count e = simpleOp QL.LENGTH [expr e]-length = count+-- | Append a datum to a sequence+append :: (Expr a, Expr b) => a -> b -> ReQL+append a b = op APPEND (b, a) () -(++), concat :: (HaveValueType a b v, CanConcat v) => a -> b -> Expr (ValueType v)-(++) a b = simpleOp QL.ADD [value a, value b]-concat = (++)+-- | Map a function of a sequence and concat the results+concatMap :: (Expr a, Expr b) => (ReQL -> b) -> a -> ReQL+concatMap f e = op CONCATMAP (e, expr P.. f) () -map, map' :: (ToMapping m, ToStream e, MappingFrom m `HasToStreamValueOf` e) =>- m -> e -> Expr (StreamType False (MappingTo m))-map fun a = mkExpr $ do- mapp <- mapping fun- rapply [expr a] $ (op QL.MAP) {- QL.map = Just $ QL.Map mapp }+-- | SQL-like join of two sequences. Returns each pair of rows that satisfy the 2-ary predicate.+innerJoin, outerJoin :: (Expr a, Expr b, Expr c) => (ReQL -> ReQL -> c) -> a -> b -> ReQL+innerJoin f a b = op INNER_JOIN (a, b, fmap expr P.. f) ()+outerJoin f a b = op OUTER_JOIN (a, b, fmap expr P.. f) () -map' = map+-- | An efficient iner_join that uses a key for the first table and an index for the left table.+eqJoin :: (Expr a, Expr b) => Key -> a -> Key -> b -> ReQL+eqJoin a i k b = op EQ_JOIN (b, k, a) ["index" := i] --- | Get all the documents for which the given predicate is true-filter', filter :: (ToMapping m, ToStream e,- MappingFrom m `HasToStreamValueOf` e) =>- m -> e -> Expr (ExprType e)-filter' fil e = Expr $ do- mapp <- mapping fil- (vw, term) <- exprV e- withView vw $ rapply [return term] $ (op QL.FILTER) {- QL.filter = Just $ QL.Filter $ mappingToPredicate mapp }+-- | Drop elements from the head of a sequence+-- Called /skip/ in the official drivers+drop :: (Expr a, Expr b) => a -> b -> ReQL+drop a b = op SKIP (b, a) () -filter = filter'+-- | Limit the size of a sequence+-- Called /limit/ in the official drivers+take :: (Expr a, Expr b) => a -> b -> ReQL+take a b = op LIMIT (a, b) () --- | Get all documents between two primary keys (both keys are inclusive)-between :: (ToJSON a, ToStream e, ObjectType `HasToStreamValueOf` e) =>- (Maybe a) -> (Maybe a) -> e -> Expr (ExprType e)-between a b e = Expr $ do- (vw, term) <- exprV e- withView vw $ rapply [return term] (op QL.RANGE) {- QL.range = Just $ QL.Range (viewKeyAttr vw)- (fmap toJsonTerm a) (fmap toJsonTerm b) }+-- | Cut out part of a sequence+slice :: (Expr a, Expr b, Expr c) => a -> b -> c -> ReQL+slice n m s = op SLICE (s, n, m) () -append :: (HasValueType a ArrayType, HasValueType b x) => a -> b -> ArrayExpr-append a b = simpleOp QL.ARRAYAPPEND [value a, value b]+-- | Get the nth value of a sequence or array+(!!) :: (Expr a) => a -> ReQL -> ReQL+s !! n = op NTH (s, n) () -concatMap, concatMap' ::- (ToMapping m, (MappingTo m) ~ ArrayType,- ToStream e, MappingFrom m `HasToStreamValueOf` e) =>- m -> e -> Expr (StreamType False t)-concatMap fun e = mkExpr $ do- mapp <- mapping fun- rapply [stream e] (op QL.CONCATMAP) {- QL.concat_map = Just $ QL.ConcatMap mapp }+-- | Reduce a sequence to a single value+reduce :: (Expr base, Expr seq, Expr a) => (ReQL -> ReQL -> a) -> base -> seq -> ReQL+reduce f b s = op REDUCE (s, fmap expr P.. f) ["base" := b] -concatMap' = concatMap+-- | Reduce a non-empty sequence to a single value+reduce1 :: (Expr a, Expr s) => (ReQL -> ReQL -> a) -> s -> ReQL+reduce1 f s = op REDUCE (s, fmap expr P.. f) () -innerJoin :: (ToStream a, l `HasToStreamValueOf` a,- ToStream b, r `HasToStreamValueOf` b) =>- a -> b -> (ValueExpr l -> ValueExpr r -> BoolExpr) ->- Expr (StreamType False ObjectType)-innerJoin self other p =- flip concatMap self- (\row -> flip concatMap other- (\row2 -> if' (p row row2)- [obj ["left" := row, "right" := row2]]- nil))+-- | Filter out identical elements of the sequence+distinct :: (Expr s) => s -> ReQL+distinct s = op DISTINCT [s] () -outerJoin :: (ToStream a, l `HasToStreamValueOf` a,- ToStream b, r `HasToStreamValueOf` b) =>- a -> b -> (ValueExpr l -> ValueExpr r -> BoolExpr) ->- Expr (StreamType False ObjectType)-outerJoin self other p =- flip concatMap' self- (\row -> bind (flip concatMap' other- (\row2 -> if' (p row row2)- [obj ["left" := row, "right" := row2]]- nil))- (\matches ->- if' (count matches `gt` (0 :: Int)) (asArray matches) [obj ["left" := row]]))+-- | Like map but for write queries+forEach :: (Expr s, Expr a) => s -> (ReQL -> a) -> ReQL+forEach s f = op FOREACH (s, expr P.. f) () -asArray :: ToExpr e => e -> ArrayExpr-asArray e = mkExpr $ expr e+-- | Merge the "left" and "right" attributes of the objects in a sequence+-- Called /zip/ in the official drivers+mergeRightLeft :: (Expr a) => a -> ReQL+mergeRightLeft a = op ZIP [a] () -eqJoin :: (ToStream a, ObjectType `HasToStreamValueOf` a,- ToExpr b, ExprType b ~ ExprType Selection) =>- a -> String -> b -> Expr (StreamType False ObjectType)-eqJoin this k1 other =- flip concatMap this $ \row ->- bind (get other (row ! k1)) $ \right ->- if' (right != ()) [obj ["left" := row, "right" := right]] nil+-- | Oredering specification for orderBy+data Order =+ Asc { orderAttr :: Key } |+ Desc { orderAttr :: Key } -drop, drop', skip :: (ToStream e, t `HasToStreamValueOf` e,- ToExpr n, ExprType n ~ ValueType NumberType) =>- e -> n -> Expr (StreamType (ExprIsView e) t)-drop e n = Expr $ do- (vw, ex) <- exprV e- withView vw $ rapply [return ex, expr (), expr n] (op QL.SLICE)-drop' = drop-skip = drop+-- | Order a sequence by the given keys+orderBy :: (Expr s) => [Order] -> s -> ReQL+orderBy o s = ReQL $ do+ s' <- baseReQL (expr s)+ o' <- baseArray $ arr $ P.map buildOrder o+ return $ BaseReQL ORDERBY P.Nothing (s' : o') []+ where+ buildOrder (Asc k) = op ASC [k] ()+ buildOrder (Desc k) = op DESC [k] () -take, take', limit :: (ToStream e, t `HasToStreamValueOf` e,- ToExpr n, ExprType n ~ ValueType NumberType) =>- e -> n -> Expr (StreamType (ExprIsView e) t)-take e n = Expr $ do- (vw, ex) <- exprV e- withView vw $ rapply [return ex, expr n, expr ()] (op QL.SLICE)-take' = take-limit = take+-- | Turn a grouping function and a reduction function into a grouped map reduce operation+groupBy ::+ (Expr group, Expr reduction, Expr seq)+ => (ReQL -> group) -> (ReQL -> reduction) -> seq -> ReQL+groupBy g mr s = ReQL $ do+ (m, r, f) <- termToMapReduce (expr . mr)+ baseReQL $ map (f . (!"reduction")) $+ op GROUPED_MAP_REDUCE [expr s, expr $ expr P.. g, expr m, expr r] () -slice :: (ToStream e, t `HasToStreamValueOf` e,- ToExpr n, ExprType n ~ ValueType NumberType,- ToExpr m, ExprType m ~ ValueType NumberType) =>- e -> n -> m -> Expr (StreamType (ExprIsView e) t)-slice e n m = Expr $ do- (vw, ex) <- exprV e- withView vw $ rapply [return ex, expr n, expr m] (op QL.SLICE)+-- | The sum of a sequence+sum :: (Expr s) => s -> ReQL+sum = reduce ((+) :: ReQL -> ReQL -> ReQL) (0 :: ReQL) -(!!), nth :: (ToStream e, t `HasToStreamValueOf` e,- ToExpr n, ExprType n ~ ValueType NumberType) =>- e -> n -> ValueExpr t-nth e n = Expr $ withView NoView $ rapply [stream e, expr n] (op QL.NTH)-(!!) = nth+-- | The average of a sequence+avg :: (Expr s) => s -> ReQL+avg = (\x -> (x!!0) / (x!!1)) .+ reduce (\a b -> [(a!!0) + (b!!0), (a!!1) + (b!!1)]) [num 0, num 0] .+ map (\x -> [x, 1]) --- | The empty list expression-nil :: ValueExpr ArrayType-nil = toExpr ([] :: [()])+-- * Accessors -union, union' :: (ToStream a, t `HasToStreamValueOf` a,- ToStream b, t `HasToStreamValueOf` b) =>- a -> b -> Expr (StreamType False t)-union a b = simpleOp QL.UNION [stream a, stream b]-union' = union+-- | Get a single field form an object+(!) :: (Expr s) => s -> ReQL -> ReQL+s ! k = op GET_FIELD (s, k) () --- | A fold--- --- >>> run h $ reduce [1,2,3] (0 :: Int) (+)--- 6+-- | Keep only the given attributes+pluck :: (Expr o) => [ReQL] -> o -> ReQL+pluck ks e = op PLUCK (cons e $ arr (P.map expr ks)) () -fold :: (ToValue z, ToValueType (ExprType z) ~ a,- ToStream e, b `HasToStreamValueOf` e,- ToExpr c, ExprIsView c ~ False) =>- (ValueExpr a -> ValueExpr b -> c) -> z -> e -> Expr (ExprType c)-fold f a e = Expr $ do- v1 <- newVar- v2 <- newVar- aq <- value a- result <- expr (f (var v1) (var v2))- withView NoView $ rapply [stream e] (op QL.REDUCE) {- QL.reduce = Just $ QL.Reduction {- QL.base = aq,- QL.var1 = uFromString v1,- QL.var2 = uFromString v2, - QLReduction.body = result } }+-- | Remove the given attributes from an object+without :: (Expr o) => [ReQL] -> o -> ReQL+without ks e = op WITHOUT (cons e $ arr (P.map expr ks)) () -reduce :: (ToValue z, ToValueType (ExprType z) ~ a,- ToStream e, b `HasToStreamValueOf` e,- ToExpr c, ExprIsView c ~ False) =>- e -> z -> (ValueExpr a -> ValueExpr b -> c) -> Expr (ExprType c)-reduce this base f = fold f base this+-- | Test if an object contains the given attribute+-- Called /contains/ in the official drivers+member :: (Expr o) => [ReQL] -> o -> ReQL+member ks o = op CONTAINS (cons o $ arr (P.map expr ks)) () -distinct :: (ToStream e, v `HasToStreamValueOf` e) =>- e -> Expr (StreamType False v)-distinct e = simpleOp QL.DISTINCT [stream e]+-- | Merge two objects together+merge :: (Expr a, Expr b) => a -> b -> ReQL+merge a b = op MERGE (a, b) () --- TODO: does not work-groupedMapReduce :: (ToValue group, ToValue value,- ToValue acc, ToValueType (ExprType acc) ~ b,- ToValue acc', ToValueType (ExprType acc') ~ b,- ToStream e, a `HasToStreamValueOf` e) =>- (ValueExpr a -> group) ->- (ValueExpr a -> value) ->- acc ->- (ValueExpr b -> ValueExpr v -> acc') ->- e -> - Expr (StreamType False b)-groupedMapReduce group val base reduction e = Expr $ do- g <- mapping group- v <- mapping val- v1 <- newVar- v2 <- newVar- b <- value base- result <- value (reduction (var v1) (var v2))- withView NoView $ rapply [stream e] (op QL.GROUPEDMAPREDUCE) {- QL.grouped_map_reduce = Just $ QL.GroupedMapReduce {- QL.group_mapping = g,- QL.value_mapping = v,- QL.reduction = QL.Reduction {- QL.base = b, - QL.var1 = uFromString v1,- QL.var2 = uFromString v2,- QLReduction.body = result }} }+-- | Create a javascript expression+class Javascript r where+ js :: P.String -> r --- | Execute a write query for each element of the stream--- --- >>> run h $ forEach [1,2,3::Int] (\x -> insert (table "fruits") (obj ["n" := x]))+instance Javascript ReQL where+ js s = op JAVASCRIPT [str s] () -forEach :: (ToStream a, v `HasToStreamValueOf` a) =>- a -> (ValueExpr v -> WriteQuery b) -> WriteQuery ()-forEach s mkwq = WriteQuery (do- arg <- newVar- let wq = mkwq (var arg)- qlwq <- writeQueryBuild wq- as <- stream s- return $ defaultValue {- QLWriteQuery.type' = QL.FOREACH,- QL.for_each = Just $ QL.ForEach as (uFromString arg) (Seq.singleton qlwq) })- (whenSuccess_ ())+instance Javascript (ReQL -> ReQL) where+ js s x = op FUNCALL (op JAVASCRIPT [str s] (), x) () -zip, zip' :: (ToStream e, ObjectType `HasToStreamValueOf` e) =>- e -> Expr (StreamType False ObjectType)-zip = map (\row -> if' (row !? "right")- (merge (row ! "left") (row ! "right"))- (row ! "left"))-zip' = zip+instance Javascript (ReQL -> ReQL -> ReQL) where+ js s x y = op FUNCALL (op JAVASCRIPT [str s] (), x, y) () -data Order = Asc { orderAttr :: String }- | Desc { orderAttr :: String }+-- | Called /branch/ in the official drivers+if' :: (Expr a, Expr b, Expr c) => a -> b -> c -> ReQL+if' a b c = op BRANCH (a, b, c) () -orderAscending :: Order -> Bool-orderAscending Asc {} = True-orderAscending Desc {} = False+error :: (Expr s) => s -> ReQL+error m = op ERROR [m] () -class ToOrder a where toOrder :: a -> Order-instance ToOrder String where toOrder = Asc-instance ToOrder Order where toOrder o = o+-- | Create a Database reference+db :: Text -> O.Database+db s = O.Database s -orderBy :: (ToOrder o, ToStream e, a `HasToStreamValueOf` e) =>- [o] -> e -> Expr (StreamType (ExprIsView e) a)-orderBy o e = Expr $ do- (vw, ex) <- exprV e- withView vw $ rapply [return ex] (op QL.ORDERBY) {- QL.order_by = Seq.fromList $ flip P.map o $ \(toOrder -> x) -> QL.OrderBy {- QLOrderBy.attr = uFromString (orderAttr x), QL.ascending = Just $ orderAscending x }}+-- | Create a database on the server+dbCreate :: P.String -> ReQL+dbCreate db_name = op DB_CREATE [str db_name] () -groupBy,groupBy' :: (ToStream e, ObjectType `HasToStreamValueOf` e) =>- [String] -> MapReduce ObjectType b c d -> e -> Expr (StreamType False d)-groupBy ks (MapReduce m b r f) e = map f (groupedMapReduce (pick ks) m b r e)-groupBy' = groupBy+-- | Drop a database+dbDrop :: Database -> ReQL+dbDrop (O.Database name) = op DB_DROP [name] () -data MapReduce a b c d = MapReduce (ValueExpr a -> ValueExpr b) (ValueExpr c)- (ValueExpr c -> ValueExpr b -> ValueExpr c)- (ValueExpr c -> ValueExpr d)+-- | List the databases on the server+dbList :: ReQL+dbList = op DB_LIST () () -sum, sum' :: String -> MapReduce ObjectType NumberType NumberType NumberType-sum a = MapReduce (! a) 0 (+) P.id-sum' = sum+-- | Create an index on the table from the given function+indexCreate :: (Expr fun) => P.String -> fun -> Table -> ReQL+indexCreate name f tbl = op INDEX_CREATE (tbl, str name, f) () -count' :: MapReduce ObjectType NoneType NumberType NumberType-count' = MapReduce (P.const (toExpr ())) 0 (\x _ -> x + (1 :: Int)) P.id+-- | Drop an index+indexDrop :: Key -> Table -> ReQL+indexDrop name tbl = op INDEX_DROP (tbl, name) () -avg :: String -> MapReduce ObjectType ArrayType ArrayType NumberType-avg k = MapReduce (\x -> toExpr [x ! k :: NumberExpr, 1]) (toExpr [0,0 :: Int])- (\a o -> toExpr [(a !! (0 :: Int)) + (o !! (0 :: Int)), (a !! (1 :: Int)) + (o !! (1 :: Int)) :: NumberExpr])- (\a -> ((a !! (0 :: Int)) / (a !! (1 :: Int))))+-- | List the indexes on the table+indexList :: Table -> ReQL+indexList tbl = op INDEX_LIST [tbl] () --- * Accessors+-- | Retreive documents by their indexed value+getAll :: (Expr value) => Key -> [value] -> Table -> ReQL+getAll idx xs tbl = op GET_ALL (expr tbl : P.map expr xs) ["index" := idx] --- | Get the value of the field of an object--- --- When GHC thinks the result is ambiguous, it may have to be annotated.--- --- >>> run h $ (get (table "tea") "black" ! "water_temperature" :: NumberExpr)--- 95+-- | Create a simple table refence with no associated database+table :: Text -> Table+table n = O.Table Nothing n Nothing -(!) :: (ToExpr a, ExprValueType a ~ ObjectType) => a -> String -> ValueExpr t-(!) a b = mkExpr $ rapply [expr a] (op QL.GETATTR) {- QLBuiltin.attr = Just (uFromString b) }+-- | Create a table on the server+tableCreate :: Table -> TableCreateOptions -> ReQL+tableCreate (O.Table mdb table_name pkey) opts =+ withQuerySettings $ \QuerySettings{ queryDefaultDatabase = ddb } ->+ op TABLE_CREATE (fromMaybe ddb mdb, table_name) $ catMaybes [+ ("datacenter" :=) <$> tableDataCenter opts,+ ("cache_size" :=) <$> tableCacheSize opts,+ ("primary_key" :=) <$> pkey ] -pick :: HasValueType e ObjectType => [String] -> e -> ObjectExpr-pick ks e = mkExpr $ rapply [value e] (op QL.PICKATTRS) {- QL.attrs = Seq.fromList $ P.map uFromString ks }+-- | Drop a table+tableDrop :: Table -> ReQL+tableDrop (O.Table mdb table_name _) =+ withQuerySettings $ \QuerySettings{ queryDefaultDatabase = ddb } ->+ op TABLE_DROP (fromMaybe ddb mdb, table_name) () -unpick :: HasValueType e ObjectType => [String] -> e -> ObjectExpr-unpick ks e = mkExpr $ rapply [value e] (op QL.WITHOUT) {- QL.attrs = Seq.fromList $ P.map uFromString ks }+-- | List the tables in a database+tableList :: Database -> ReQL+tableList (O.Database name) = op DB_LIST [name] () -(!?) :: (HasValueType a ObjectType) => a -> String -> BoolExpr -(!?) a b = mkExpr $ rapply [value a] (op QL.HASATTR) {- QLBuiltin.attr = Just $ uFromString b }+-- | Get a document by primary key +get :: (Expr s, Expr k) => k -> s -> ReQL+get k e = op GET (e, k) () -pluck :: (ToStream e, ObjectType `HasToStreamValueOf` e) =>- [String] -> e -> Expr (StreamType False ObjectType)-pluck ks = map (pick ks)+-- | Insert a document or a list of documents into a table+insert :: (Expr table, Expr object) => object -> table -> ReQL+insert a tb = op INSERT (tb, a) () -without :: (ToStream e, ObjectType `HasToStreamValueOf` e) =>- [String] -> e -> Expr (StreamType False ObjectType)-without ks = map (unpick ks)+-- | Like insert, but update existing documents with the same primary key+upsert :: (Expr table, Expr object) => object -> table -> ReQL+upsert a tb = op INSERT (tb, a) ["upsert" := P.True] -merge :: (ToExpr a, ExprType a ~ ValueType ObjectType,- ToExpr b, ExprType b ~ ValueType ObjectType) =>- a -> b -> ObjectExpr-merge this other = simpleOp QL.MAPMERGE [expr this, expr other]+-- | Add to or modify the contents of a document+update :: (Expr selection) => (ReQL -> ReQL) -> selection -> ReQL+update f s = op UPDATE (s, f) () --- * Control Structures, Functions and Javascript+-- | Replace a document with another+replace :: (Expr selection) => (ReQL -> ReQL) -> selection -> ReQL+replace f s = op REPLACE (s, f) () --- | A javascript expression--- --- It is often necessary to specify the result type:--- --- >>> run h $ (js "1 + 2" :: NumberExpr)--- 3+-- | Delete the documents+delete :: (Expr selection) => selection -> ReQL+delete s = op DELETE [s] () -js :: String -> Expr (ValueType any)-js s = mkExpr $ return defaultValue {- QLTerm.type' = QL.JAVASCRIPT,- QLTerm.javascript = Just $ uFromString ("return (" P.++ s P.++ ")") }+-- | Convert a value to a different type+coerceTo :: (Expr x) => ReQL -> x -> ReQL+coerceTo t a = op COERCE_TO (a, t) () -bind :: (ToValue e) => e -> (ValueExpr (ToValueType (ExprType e)) -> Expr t) -> Expr t-bind val f = Expr $ do- arg <- value val- v <- newVar- (vw, body) <- exprV (f (var v))- withView vw $ return defaultValue {- QLTerm.type' = QL.LET,- QLTerm.let' = Just $ QL.Let (Seq.singleton $ QL.VarTermTuple (uFromString v) arg)- body }+-- | Convert a value to a different type+asArray, asString, asNumber, asObject, asBool :: Expr x => x -> ReQL+asArray = coerceTo "ARRAY"+asString = coerceTo "STRING"+asNumber = coerceTo "NUMBER"+asObject = coerceTo "OBJECT"+asBool = coerceTo "BOOL" -let' :: [Attribute] -> Expr t -> Expr t-let' pairs e = Expr $ do- varTerms <- mapM (\(k := v) ->- (QL.VarTermTuple (uFromString k)) `liftM` value v) pairs- (vw, body) <- exprV e- withView vw $ return defaultValue {- QLTerm.type' = QL.LET,- QLTerm.let' = Just $ QL.Let (Seq.fromList $ varTerms) body }+-- | Like hasFields followed by pluck+withFields :: (Expr paths, Expr seq) => [paths] -> seq -> ReQL+withFields p s = op WITH_FIELDS (s, p) () -var :: ExprIsView (Expr t) ~ False => String -> Expr t-var v = mkExpr $ return defaultValue { - QLTerm.type' = QL.VAR,- QLTerm.var = Just $ uFromString v- }+-- | The position in the sequence of the elements that match the predicate+indexesOf :: (Expr fun, Expr seq) => fun -> seq -> ReQL+indexesOf f s = op INDEXES_OF (s, f) () -if' :: (ToValue e, ToValueType (ExprType e) ~ BoolType,- ToExpr a, ExprTypeNoView (ExprType a) ~ x,- ToExpr b, ExprTypeNoView (ExprType b) ~ x,- ExprTypeIsView x ~ False) =>- e -> a -> b -> Expr x-if' t a b = mkExpr $ do- tq <- value t- aq <- expr a- bq <- expr b- return defaultValue {- QLTerm.type' = QL.IF, QL.if_ = Just $ QL.If tq aq bq }+-- | Test if a sequence is empty+isEmpty :: Expr seq => seq -> ReQL+isEmpty s = op IS_EMPTY [s] () --- | A javascript function--- --- >>> let squareRoot = jsfun "Math.sqrt" :: NumberExpr -> NumberExpr--- >>> run h $ squareRoot 5 :: IO Double--- 2.23606797749979+-- | Select a given number of elements from a sequence with uniform random distribution+sample :: (Expr n, Expr seq) => n -> seq -> ReQL+sample n s = op SAMPLE (s, n) () -jsfun :: ToValue e => String -> e -> Expr (ValueType y)-jsfun f e = mkExpr $ do - v <- newVar- expr (let' [v := e] $ js $ f P.++ "(" P.++ v P.++ ")")+-- | Prepend an element to an array+prepend :: (Expr datum, Expr array) => datum -> array -> ReQL+prepend d a = op PREPEND (a, d) () -error, error' :: (ExprTypeIsView t ~ False) => String -> Expr t-error m = Expr $ withView NoView $ return defaultValue {- QLTerm.type' = QL.ERROR, QL.error = Just $ uFromString m }-error' = error+-- | Called /difference/ in the official drivers+(\\) :: (Expr a, Expr b) => a -> b -> ReQL+a \\ b = op DIFFERENCE (a, b) () -class CanConcat (a :: ValueTypeKind)-instance CanConcat StringType-instance CanConcat ArrayType+-- | Insert a datum into an array if it is not yet present+setInsert :: (Expr datum, Expr array) => datum -> array -> ReQL+setInsert d a = op SET_INSERT (a, d) ()++-- | The union of two sets+setUnion :: (Expr a, Expr b) => a -> b -> ReQL+setUnion a b = op SET_UNION (b, a) ()++-- | The intersection of two sets+setIntersection :: (Expr a, Expr b) => a -> b -> ReQL+setIntersection a b = op SET_INTERSECTION (b, a) ()++-- | The difference of two sets+setDifference :: (Expr set, Expr remove) => remove -> set -> ReQL+setDifference r s = op SET_DIFFERENCE (s, r) ()++-- | Test if an object has the given fields+hasFields :: (Expr obj, Expr paths) => paths -> obj -> ReQL+hasFields p o = op HAS_FIELDS (o, p) ()++-- | Insert a datum at the given position in an array+insertAt :: (Expr n, Expr datum, Expr array) => n -> datum -> array -> ReQL+insertAt n d a = op INSERT_AT (a, n, d) ()++-- | Splice an array at a given position inside another array+spliceAt :: (Expr n, Expr replace, Expr array) => n -> replace -> array -> ReQL+spliceAt n s a = op SPLICE_AT (a, n, s) ()++-- | Delete an element from an array+deleteAt :: (Expr n, Expr array) => n -> array -> ReQL+deleteAt n a = op DELETE_AT (a, n) ()++-- | Change an element in an array+changeAt :: (Expr n, Expr datum, Expr array) => n -> datum -> array -> ReQL+changeAt n d a = op CHANGE_AT (a, n, d) ()++-- | The list of keys of the given object+keys :: Expr obj => obj -> ReQL+keys o = op KEYS [o] ()++-- | Match a string to a regulr expression+-- Called /match/ in the official drivers+(=~) :: (Expr string, Expr regex) => string -> regex -> ReQL+s =~ r = op MATCH (s, r) ()++-- | Apply a function to a list of arguments+-- Called /do/ in the official drivers+apply :: (Expr fun, Expr arg) => fun -> [arg] -> ReQL+f `apply` as = op FUNCALL (expr f : P.map expr as) ()++-- | Catch some expections inside the query.+-- Called /default/ in the official drivers+handle :: (Expr handler, Expr reql) => handler -> reql -> ReQL+handle h r = op DEFAULT (r, h) ()++-- | A string representing the type of an expression+typeOf :: Expr a => a -> ReQL+typeOf a = op TYPEOF [a] ()++-- | Get information on a given expression. Useful for tables and databases.+info :: Expr a => a -> ReQL+info a = op INFO [a] ()++-- | Parse a json string into an object+json :: Expr string => string -> ReQL+json s = op JSON [s] ()++-- | Flipped function composition+(#) :: (Expr a, Expr b, Expr c) => (ReQL -> a) -> (ReQL -> b) -> c -> ReQL+(f # g) x = expr (g (expr (f (expr x))))++-- | Specialised function composition+(.) :: (Expr a, Expr b, Expr c) => (ReQL -> b) -> (ReQL -> a) -> c -> ReQL+(f . g) x = expr (f (expr (g (expr x))))
− Database/RethinkDB/Functions.hs-boot
@@ -1,9 +0,0 @@-{-# LANGUAGE ConstraintKinds, DataKinds, TypeFamilies #-}-module Database.RethinkDB.Functions where-import Database.RethinkDB.Types-import {-# SOURCE #-} Database.RethinkDB.Driver-add, sub, mul, div'- :: (HaveValueType a b NumberType) => a -> b -> NumberExpr-jsfun :: ToValue e => String -> e -> Expr (ValueType y)-var :: ExprIsView (Expr t) ~ False => String -> Expr t-signum' :: (ToValue e, ToValueType (ExprType e) ~ NumberType) => e -> NumberExpr
− Database/RethinkDB/Internal/Query_Language/Builtin.hs
@@ -1,123 +0,0 @@-{-# LANGUAGE BangPatterns, DeriveDataTypeable, FlexibleInstances, MultiParamTypeClasses #-}-module Database.RethinkDB.Internal.Query_Language.Builtin (Builtin(..)) where-import Prelude ((+), (/))-import qualified Prelude as Prelude'-import qualified Data.Typeable as Prelude'-import qualified Data.Data as Prelude'-import qualified Text.ProtocolBuffers.Header as P'-import qualified Database.RethinkDB.Internal.Query_Language.Builtin.BuiltinType as Query_Language.Builtin (BuiltinType)-import qualified Database.RethinkDB.Internal.Query_Language.Builtin.Comparison as Query_Language.Builtin (Comparison)-import qualified Database.RethinkDB.Internal.Query_Language.Builtin.ConcatMap as Query_Language.Builtin (ConcatMap)-import qualified Database.RethinkDB.Internal.Query_Language.Builtin.Filter as Query_Language.Builtin (Filter)-import qualified Database.RethinkDB.Internal.Query_Language.Builtin.GroupedMapReduce as Query_Language.Builtin (GroupedMapReduce)-import qualified Database.RethinkDB.Internal.Query_Language.Builtin.Map as Query_Language.Builtin (Map)-import qualified Database.RethinkDB.Internal.Query_Language.Builtin.OrderBy as Query_Language.Builtin (OrderBy)-import qualified Database.RethinkDB.Internal.Query_Language.Builtin.Range as Query_Language.Builtin (Range)-import qualified Database.RethinkDB.Internal.Query_Language.Reduction as Query_Language (Reduction)- -data Builtin = Builtin{type' :: !Query_Language.Builtin.BuiltinType, attr :: !(P'.Maybe P'.Utf8), attrs :: !(P'.Seq P'.Utf8),- comparison :: !(P'.Maybe Query_Language.Builtin.Comparison),- filter :: !(P'.Maybe Query_Language.Builtin.Filter), map :: !(P'.Maybe Query_Language.Builtin.Map),- concat_map :: !(P'.Maybe Query_Language.Builtin.ConcatMap),- order_by :: !(P'.Seq Query_Language.Builtin.OrderBy), reduce :: !(P'.Maybe Query_Language.Reduction),- grouped_map_reduce :: !(P'.Maybe Query_Language.Builtin.GroupedMapReduce),- range :: !(P'.Maybe Query_Language.Builtin.Range)}- deriving (Prelude'.Show, Prelude'.Eq, Prelude'.Ord, Prelude'.Typeable, Prelude'.Data)- -instance P'.Mergeable Builtin where- mergeAppend (Builtin x'1 x'2 x'3 x'4 x'5 x'6 x'7 x'8 x'9 x'10 x'11) (Builtin y'1 y'2 y'3 y'4 y'5 y'6 y'7 y'8 y'9 y'10 y'11)- = Builtin (P'.mergeAppend x'1 y'1) (P'.mergeAppend x'2 y'2) (P'.mergeAppend x'3 y'3) (P'.mergeAppend x'4 y'4)- (P'.mergeAppend x'5 y'5)- (P'.mergeAppend x'6 y'6)- (P'.mergeAppend x'7 y'7)- (P'.mergeAppend x'8 y'8)- (P'.mergeAppend x'9 y'9)- (P'.mergeAppend x'10 y'10)- (P'.mergeAppend x'11 y'11)- -instance P'.Default Builtin where- defaultValue- = Builtin P'.defaultValue P'.defaultValue P'.defaultValue P'.defaultValue P'.defaultValue P'.defaultValue P'.defaultValue- P'.defaultValue- P'.defaultValue- P'.defaultValue- P'.defaultValue- -instance P'.Wire Builtin where- wireSize ft' self'@(Builtin x'1 x'2 x'3 x'4 x'5 x'6 x'7 x'8 x'9 x'10 x'11)- = case ft' of- 10 -> calc'Size- 11 -> P'.prependMessageSize calc'Size- _ -> P'.wireSizeErr ft' self'- where- calc'Size- = (P'.wireSizeReq 1 14 x'1 + P'.wireSizeOpt 1 9 x'2 + P'.wireSizeRep 1 9 x'3 + P'.wireSizeOpt 1 14 x'4 +- P'.wireSizeOpt 1 11 x'5- + P'.wireSizeOpt 1 11 x'6- + P'.wireSizeOpt 1 11 x'7- + P'.wireSizeRep 1 11 x'8- + P'.wireSizeOpt 1 11 x'9- + P'.wireSizeOpt 1 11 x'10- + P'.wireSizeOpt 1 11 x'11)- wirePut ft' self'@(Builtin x'1 x'2 x'3 x'4 x'5 x'6 x'7 x'8 x'9 x'10 x'11)- = case ft' of- 10 -> put'Fields- 11 -> do- P'.putSize (P'.wireSize 10 self')- put'Fields- _ -> P'.wirePutErr ft' self'- where- put'Fields- = do- P'.wirePutReq 8 14 x'1- P'.wirePutOpt 18 9 x'2- P'.wirePutRep 26 9 x'3- P'.wirePutOpt 32 14 x'4- P'.wirePutOpt 42 11 x'5- P'.wirePutOpt 50 11 x'6- P'.wirePutOpt 58 11 x'7- P'.wirePutRep 66 11 x'8- P'.wirePutOpt 74 11 x'9- P'.wirePutOpt 82 11 x'10- P'.wirePutOpt 90 11 x'11- wireGet ft'- = case ft' of- 10 -> P'.getBareMessageWith update'Self- 11 -> P'.getMessageWith update'Self- _ -> P'.wireGetErr ft'- where- update'Self wire'Tag old'Self- = case wire'Tag of- 8 -> Prelude'.fmap (\ !new'Field -> old'Self{type' = new'Field}) (P'.wireGet 14)- 18 -> Prelude'.fmap (\ !new'Field -> old'Self{attr = Prelude'.Just new'Field}) (P'.wireGet 9)- 26 -> Prelude'.fmap (\ !new'Field -> old'Self{attrs = P'.append (attrs old'Self) new'Field}) (P'.wireGet 9)- 32 -> Prelude'.fmap (\ !new'Field -> old'Self{comparison = Prelude'.Just new'Field}) (P'.wireGet 14)- 42 -> Prelude'.fmap (\ !new'Field -> old'Self{filter = P'.mergeAppend (filter old'Self) (Prelude'.Just new'Field)})- (P'.wireGet 11)- 50 -> Prelude'.fmap (\ !new'Field -> old'Self{map = P'.mergeAppend (map old'Self) (Prelude'.Just new'Field)})- (P'.wireGet 11)- 58 -> Prelude'.fmap- (\ !new'Field -> old'Self{concat_map = P'.mergeAppend (concat_map old'Self) (Prelude'.Just new'Field)})- (P'.wireGet 11)- 66 -> Prelude'.fmap (\ !new'Field -> old'Self{order_by = P'.append (order_by old'Self) new'Field}) (P'.wireGet 11)- 74 -> Prelude'.fmap (\ !new'Field -> old'Self{reduce = P'.mergeAppend (reduce old'Self) (Prelude'.Just new'Field)})- (P'.wireGet 11)- 82 -> Prelude'.fmap- (\ !new'Field ->- old'Self{grouped_map_reduce = P'.mergeAppend (grouped_map_reduce old'Self) (Prelude'.Just new'Field)})- (P'.wireGet 11)- 90 -> Prelude'.fmap (\ !new'Field -> old'Self{range = P'.mergeAppend (range old'Self) (Prelude'.Just new'Field)})- (P'.wireGet 11)- _ -> let (field'Number, wire'Type) = P'.splitWireTag wire'Tag in P'.unknown field'Number wire'Type old'Self- -instance P'.MessageAPI msg' (msg' -> Builtin) Builtin where- getVal m' f' = f' m'- -instance P'.GPB Builtin- -instance P'.ReflectDescriptor Builtin where- getMessageInfo _- = P'.GetMessageInfo (P'.fromDistinctAscList [8]) (P'.fromDistinctAscList [8, 18, 26, 32, 42, 50, 58, 66, 74, 82, 90])- reflectDescriptorInfo _- = Prelude'.read- "DescriptorInfo {descName = ProtoName {protobufName = FIName \".Query_Language.Builtin\", haskellPrefix = [MName \"Database\",MName \"RethinkDB\",MName \"Internal\"], parentModule = [MName \"Query_Language\"], baseName = MName \"Builtin\"}, descFilePath = [\"Database\",\"RethinkDB\",\"Internal\",\"Query_Language\",\"Builtin.hs\"], isGroup = False, fields = fromList [FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".Query_Language.Builtin.type\", haskellPrefix' = [MName \"Database\",MName \"RethinkDB\",MName \"Internal\"], parentModule' = [MName \"Query_Language\",MName \"Builtin\"], baseName' = FName \"type'\"}, fieldNumber = FieldId {getFieldId = 1}, wireTag = WireTag {getWireTag = 8}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = True, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 14}, typeName = Just (ProtoName {protobufName = FIName \".Query_Language.Builtin.BuiltinType\", haskellPrefix = [MName \"Database\",MName \"RethinkDB\",MName \"Internal\"], parentModule = [MName \"Query_Language\",MName \"Builtin\"], baseName = MName \"BuiltinType\"}), hsRawDefault = Nothing, hsDefault = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".Query_Language.Builtin.attr\", haskellPrefix' = [MName \"Database\",MName \"RethinkDB\",MName \"Internal\"], parentModule' = [MName \"Query_Language\",MName \"Builtin\"], baseName' = FName \"attr\"}, fieldNumber = FieldId {getFieldId = 2}, wireTag = WireTag {getWireTag = 18}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 9}, typeName = Nothing, hsRawDefault = Nothing, hsDefault = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".Query_Language.Builtin.attrs\", haskellPrefix' = [MName \"Database\",MName \"RethinkDB\",MName \"Internal\"], parentModule' = [MName \"Query_Language\",MName \"Builtin\"], baseName' = FName \"attrs\"}, fieldNumber = FieldId {getFieldId = 3}, wireTag = WireTag {getWireTag = 26}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = True, mightPack = False, typeCode = FieldType {getFieldType = 9}, typeName = Nothing, hsRawDefault = Nothing, hsDefault = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".Query_Language.Builtin.comparison\", haskellPrefix' = [MName \"Database\",MName \"RethinkDB\",MName \"Internal\"], parentModule' = [MName \"Query_Language\",MName \"Builtin\"], baseName' = FName \"comparison\"}, fieldNumber = FieldId {getFieldId = 4}, wireTag = WireTag {getWireTag = 32}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 14}, typeName = Just (ProtoName {protobufName = FIName \".Query_Language.Builtin.Comparison\", haskellPrefix = [MName \"Database\",MName \"RethinkDB\",MName \"Internal\"], parentModule = [MName \"Query_Language\",MName \"Builtin\"], baseName = MName \"Comparison\"}), hsRawDefault = Nothing, hsDefault = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".Query_Language.Builtin.filter\", haskellPrefix' = [MName \"Database\",MName \"RethinkDB\",MName \"Internal\"], parentModule' = [MName \"Query_Language\",MName \"Builtin\"], baseName' = FName \"filter\"}, fieldNumber = FieldId {getFieldId = 5}, wireTag = WireTag {getWireTag = 42}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 11}, typeName = Just (ProtoName {protobufName = FIName \".Query_Language.Builtin.Filter\", haskellPrefix = [MName \"Database\",MName \"RethinkDB\",MName \"Internal\"], parentModule = [MName \"Query_Language\",MName \"Builtin\"], baseName = MName \"Filter\"}), hsRawDefault = Nothing, hsDefault = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".Query_Language.Builtin.map\", haskellPrefix' = [MName \"Database\",MName \"RethinkDB\",MName \"Internal\"], parentModule' = [MName \"Query_Language\",MName \"Builtin\"], baseName' = FName \"map\"}, fieldNumber = FieldId {getFieldId = 6}, wireTag = WireTag {getWireTag = 50}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 11}, typeName = Just (ProtoName {protobufName = FIName \".Query_Language.Builtin.Map\", haskellPrefix = [MName \"Database\",MName \"RethinkDB\",MName \"Internal\"], parentModule = [MName \"Query_Language\",MName \"Builtin\"], baseName = MName \"Map\"}), hsRawDefault = Nothing, hsDefault = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".Query_Language.Builtin.concat_map\", haskellPrefix' = [MName \"Database\",MName \"RethinkDB\",MName \"Internal\"], parentModule' = [MName \"Query_Language\",MName \"Builtin\"], baseName' = FName \"concat_map\"}, fieldNumber = FieldId {getFieldId = 7}, wireTag = WireTag {getWireTag = 58}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 11}, typeName = Just (ProtoName {protobufName = FIName \".Query_Language.Builtin.ConcatMap\", haskellPrefix = [MName \"Database\",MName \"RethinkDB\",MName \"Internal\"], parentModule = [MName \"Query_Language\",MName \"Builtin\"], baseName = MName \"ConcatMap\"}), hsRawDefault = Nothing, hsDefault = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".Query_Language.Builtin.order_by\", haskellPrefix' = [MName \"Database\",MName \"RethinkDB\",MName \"Internal\"], parentModule' = [MName \"Query_Language\",MName \"Builtin\"], baseName' = FName \"order_by\"}, fieldNumber = FieldId {getFieldId = 8}, wireTag = WireTag {getWireTag = 66}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = True, mightPack = False, typeCode = FieldType {getFieldType = 11}, typeName = Just (ProtoName {protobufName = FIName \".Query_Language.Builtin.OrderBy\", haskellPrefix = [MName \"Database\",MName \"RethinkDB\",MName \"Internal\"], parentModule = [MName \"Query_Language\",MName \"Builtin\"], baseName = MName \"OrderBy\"}), hsRawDefault = Nothing, hsDefault = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".Query_Language.Builtin.reduce\", haskellPrefix' = [MName \"Database\",MName \"RethinkDB\",MName \"Internal\"], parentModule' = [MName \"Query_Language\",MName \"Builtin\"], baseName' = FName \"reduce\"}, fieldNumber = FieldId {getFieldId = 9}, wireTag = WireTag {getWireTag = 74}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 11}, typeName = Just (ProtoName {protobufName = FIName \".Query_Language.Reduction\", haskellPrefix = [MName \"Database\",MName \"RethinkDB\",MName \"Internal\"], parentModule = [MName \"Query_Language\"], baseName = MName \"Reduction\"}), hsRawDefault = Nothing, hsDefault = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".Query_Language.Builtin.grouped_map_reduce\", haskellPrefix' = [MName \"Database\",MName \"RethinkDB\",MName \"Internal\"], parentModule' = [MName \"Query_Language\",MName \"Builtin\"], baseName' = FName \"grouped_map_reduce\"}, fieldNumber = FieldId {getFieldId = 10}, wireTag = WireTag {getWireTag = 82}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 11}, typeName = Just (ProtoName {protobufName = FIName \".Query_Language.Builtin.GroupedMapReduce\", haskellPrefix = [MName \"Database\",MName \"RethinkDB\",MName \"Internal\"], parentModule = [MName \"Query_Language\",MName \"Builtin\"], baseName = MName \"GroupedMapReduce\"}), hsRawDefault = Nothing, hsDefault = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".Query_Language.Builtin.range\", haskellPrefix' = [MName \"Database\",MName \"RethinkDB\",MName \"Internal\"], parentModule' = [MName \"Query_Language\",MName \"Builtin\"], baseName' = FName \"range\"}, fieldNumber = FieldId {getFieldId = 11}, wireTag = WireTag {getWireTag = 90}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 11}, typeName = Just (ProtoName {protobufName = FIName \".Query_Language.Builtin.Range\", haskellPrefix = [MName \"Database\",MName \"RethinkDB\",MName \"Internal\"], parentModule = [MName \"Query_Language\",MName \"Builtin\"], baseName = MName \"Range\"}), hsRawDefault = Nothing, hsDefault = Nothing}], keys = fromList [], extRanges = [], knownKeys = fromList [], storeUnknown = False, lazyFields = False}"
− Database/RethinkDB/Internal/Query_Language/Builtin/BuiltinType.hs
@@ -1,231 +0,0 @@-{-# LANGUAGE BangPatterns, DeriveDataTypeable, FlexibleInstances, MultiParamTypeClasses #-}-module Database.RethinkDB.Internal.Query_Language.Builtin.BuiltinType (BuiltinType(..)) where-import Prelude ((+), (/), (.))-import qualified Prelude as Prelude'-import qualified Data.Typeable as Prelude'-import qualified Data.Data as Prelude'-import qualified Text.ProtocolBuffers.Header as P'- -data BuiltinType = NOT- | GETATTR- | IMPLICIT_GETATTR- | HASATTR- | IMPLICIT_HASATTR- | PICKATTRS- | IMPLICIT_PICKATTRS- | MAPMERGE- | ARRAYAPPEND- | SLICE- | ADD- | SUBTRACT- | MULTIPLY- | DIVIDE- | MODULO- | COMPARE- | FILTER- | MAP- | CONCATMAP- | ORDERBY- | DISTINCT- | LENGTH- | UNION- | NTH- | STREAMTOARRAY- | ARRAYTOSTREAM- | REDUCE- | GROUPEDMAPREDUCE- | ANY- | ALL- | RANGE- | IMPLICIT_WITHOUT- | WITHOUT- deriving (Prelude'.Read, Prelude'.Show, Prelude'.Eq, Prelude'.Ord, Prelude'.Typeable, Prelude'.Data)- -instance P'.Mergeable BuiltinType- -instance Prelude'.Bounded BuiltinType where- minBound = NOT- maxBound = WITHOUT- -instance P'.Default BuiltinType where- defaultValue = NOT- -toMaybe'Enum :: Prelude'.Int -> P'.Maybe BuiltinType-toMaybe'Enum 1 = Prelude'.Just NOT-toMaybe'Enum 2 = Prelude'.Just GETATTR-toMaybe'Enum 3 = Prelude'.Just IMPLICIT_GETATTR-toMaybe'Enum 4 = Prelude'.Just HASATTR-toMaybe'Enum 5 = Prelude'.Just IMPLICIT_HASATTR-toMaybe'Enum 6 = Prelude'.Just PICKATTRS-toMaybe'Enum 7 = Prelude'.Just IMPLICIT_PICKATTRS-toMaybe'Enum 8 = Prelude'.Just MAPMERGE-toMaybe'Enum 9 = Prelude'.Just ARRAYAPPEND-toMaybe'Enum 11 = Prelude'.Just SLICE-toMaybe'Enum 14 = Prelude'.Just ADD-toMaybe'Enum 15 = Prelude'.Just SUBTRACT-toMaybe'Enum 16 = Prelude'.Just MULTIPLY-toMaybe'Enum 17 = Prelude'.Just DIVIDE-toMaybe'Enum 18 = Prelude'.Just MODULO-toMaybe'Enum 19 = Prelude'.Just COMPARE-toMaybe'Enum 20 = Prelude'.Just FILTER-toMaybe'Enum 21 = Prelude'.Just MAP-toMaybe'Enum 22 = Prelude'.Just CONCATMAP-toMaybe'Enum 23 = Prelude'.Just ORDERBY-toMaybe'Enum 24 = Prelude'.Just DISTINCT-toMaybe'Enum 26 = Prelude'.Just LENGTH-toMaybe'Enum 27 = Prelude'.Just UNION-toMaybe'Enum 28 = Prelude'.Just NTH-toMaybe'Enum 29 = Prelude'.Just STREAMTOARRAY-toMaybe'Enum 30 = Prelude'.Just ARRAYTOSTREAM-toMaybe'Enum 31 = Prelude'.Just REDUCE-toMaybe'Enum 32 = Prelude'.Just GROUPEDMAPREDUCE-toMaybe'Enum 35 = Prelude'.Just ANY-toMaybe'Enum 36 = Prelude'.Just ALL-toMaybe'Enum 37 = Prelude'.Just RANGE-toMaybe'Enum 38 = Prelude'.Just IMPLICIT_WITHOUT-toMaybe'Enum 39 = Prelude'.Just WITHOUT-toMaybe'Enum _ = Prelude'.Nothing- -instance Prelude'.Enum BuiltinType where- fromEnum NOT = 1- fromEnum GETATTR = 2- fromEnum IMPLICIT_GETATTR = 3- fromEnum HASATTR = 4- fromEnum IMPLICIT_HASATTR = 5- fromEnum PICKATTRS = 6- fromEnum IMPLICIT_PICKATTRS = 7- fromEnum MAPMERGE = 8- fromEnum ARRAYAPPEND = 9- fromEnum SLICE = 11- fromEnum ADD = 14- fromEnum SUBTRACT = 15- fromEnum MULTIPLY = 16- fromEnum DIVIDE = 17- fromEnum MODULO = 18- fromEnum COMPARE = 19- fromEnum FILTER = 20- fromEnum MAP = 21- fromEnum CONCATMAP = 22- fromEnum ORDERBY = 23- fromEnum DISTINCT = 24- fromEnum LENGTH = 26- fromEnum UNION = 27- fromEnum NTH = 28- fromEnum STREAMTOARRAY = 29- fromEnum ARRAYTOSTREAM = 30- fromEnum REDUCE = 31- fromEnum GROUPEDMAPREDUCE = 32- fromEnum ANY = 35- fromEnum ALL = 36- fromEnum RANGE = 37- fromEnum IMPLICIT_WITHOUT = 38- fromEnum WITHOUT = 39- toEnum- = P'.fromMaybe- (Prelude'.error- "hprotoc generated code: toEnum failure for type Database.RethinkDB.Internal.Query_Language.Builtin.BuiltinType")- . toMaybe'Enum- succ NOT = GETATTR- succ GETATTR = IMPLICIT_GETATTR- succ IMPLICIT_GETATTR = HASATTR- succ HASATTR = IMPLICIT_HASATTR- succ IMPLICIT_HASATTR = PICKATTRS- succ PICKATTRS = IMPLICIT_PICKATTRS- succ IMPLICIT_PICKATTRS = MAPMERGE- succ MAPMERGE = ARRAYAPPEND- succ ARRAYAPPEND = SLICE- succ SLICE = ADD- succ ADD = SUBTRACT- succ SUBTRACT = MULTIPLY- succ MULTIPLY = DIVIDE- succ DIVIDE = MODULO- succ MODULO = COMPARE- succ COMPARE = FILTER- succ FILTER = MAP- succ MAP = CONCATMAP- succ CONCATMAP = ORDERBY- succ ORDERBY = DISTINCT- succ DISTINCT = LENGTH- succ LENGTH = UNION- succ UNION = NTH- succ NTH = STREAMTOARRAY- succ STREAMTOARRAY = ARRAYTOSTREAM- succ ARRAYTOSTREAM = REDUCE- succ REDUCE = GROUPEDMAPREDUCE- succ GROUPEDMAPREDUCE = ANY- succ ANY = ALL- succ ALL = RANGE- succ RANGE = IMPLICIT_WITHOUT- succ IMPLICIT_WITHOUT = WITHOUT- succ _- = Prelude'.error "hprotoc generated code: succ failure for type Database.RethinkDB.Internal.Query_Language.Builtin.BuiltinType"- pred GETATTR = NOT- pred IMPLICIT_GETATTR = GETATTR- pred HASATTR = IMPLICIT_GETATTR- pred IMPLICIT_HASATTR = HASATTR- pred PICKATTRS = IMPLICIT_HASATTR- pred IMPLICIT_PICKATTRS = PICKATTRS- pred MAPMERGE = IMPLICIT_PICKATTRS- pred ARRAYAPPEND = MAPMERGE- pred SLICE = ARRAYAPPEND- pred ADD = SLICE- pred SUBTRACT = ADD- pred MULTIPLY = SUBTRACT- pred DIVIDE = MULTIPLY- pred MODULO = DIVIDE- pred COMPARE = MODULO- pred FILTER = COMPARE- pred MAP = FILTER- pred CONCATMAP = MAP- pred ORDERBY = CONCATMAP- pred DISTINCT = ORDERBY- pred LENGTH = DISTINCT- pred UNION = LENGTH- pred NTH = UNION- pred STREAMTOARRAY = NTH- pred ARRAYTOSTREAM = STREAMTOARRAY- pred REDUCE = ARRAYTOSTREAM- pred GROUPEDMAPREDUCE = REDUCE- pred ANY = GROUPEDMAPREDUCE- pred ALL = ANY- pred RANGE = ALL- pred IMPLICIT_WITHOUT = RANGE- pred WITHOUT = IMPLICIT_WITHOUT- pred _- = Prelude'.error "hprotoc generated code: pred failure for type Database.RethinkDB.Internal.Query_Language.Builtin.BuiltinType"- -instance P'.Wire BuiltinType where- wireSize ft' enum = P'.wireSize ft' (Prelude'.fromEnum enum)- wirePut ft' enum = P'.wirePut ft' (Prelude'.fromEnum enum)- wireGet 14 = P'.wireGetEnum toMaybe'Enum- wireGet ft' = P'.wireGetErr ft'- wireGetPacked 14 = P'.wireGetPackedEnum toMaybe'Enum- wireGetPacked ft' = P'.wireGetErr ft'- -instance P'.GPB BuiltinType- -instance P'.MessageAPI msg' (msg' -> BuiltinType) BuiltinType where- getVal m' f' = f' m'- -instance P'.ReflectEnum BuiltinType where- reflectEnum- = [(1, "NOT", NOT), (2, "GETATTR", GETATTR), (3, "IMPLICIT_GETATTR", IMPLICIT_GETATTR), (4, "HASATTR", HASATTR),- (5, "IMPLICIT_HASATTR", IMPLICIT_HASATTR), (6, "PICKATTRS", PICKATTRS), (7, "IMPLICIT_PICKATTRS", IMPLICIT_PICKATTRS),- (8, "MAPMERGE", MAPMERGE), (9, "ARRAYAPPEND", ARRAYAPPEND), (11, "SLICE", SLICE), (14, "ADD", ADD),- (15, "SUBTRACT", SUBTRACT), (16, "MULTIPLY", MULTIPLY), (17, "DIVIDE", DIVIDE), (18, "MODULO", MODULO),- (19, "COMPARE", COMPARE), (20, "FILTER", FILTER), (21, "MAP", MAP), (22, "CONCATMAP", CONCATMAP), (23, "ORDERBY", ORDERBY),- (24, "DISTINCT", DISTINCT), (26, "LENGTH", LENGTH), (27, "UNION", UNION), (28, "NTH", NTH),- (29, "STREAMTOARRAY", STREAMTOARRAY), (30, "ARRAYTOSTREAM", ARRAYTOSTREAM), (31, "REDUCE", REDUCE),- (32, "GROUPEDMAPREDUCE", GROUPEDMAPREDUCE), (35, "ANY", ANY), (36, "ALL", ALL), (37, "RANGE", RANGE),- (38, "IMPLICIT_WITHOUT", IMPLICIT_WITHOUT), (39, "WITHOUT", WITHOUT)]- reflectEnumInfo _- = P'.EnumInfo- (P'.makePNF (P'.pack ".Query_Language.Builtin.BuiltinType") ["Database", "RethinkDB", "Internal"]- ["Query_Language", "Builtin"]- "BuiltinType")- ["Database", "RethinkDB", "Internal", "Query_Language", "Builtin", "BuiltinType.hs"]- [(1, "NOT"), (2, "GETATTR"), (3, "IMPLICIT_GETATTR"), (4, "HASATTR"), (5, "IMPLICIT_HASATTR"), (6, "PICKATTRS"),- (7, "IMPLICIT_PICKATTRS"), (8, "MAPMERGE"), (9, "ARRAYAPPEND"), (11, "SLICE"), (14, "ADD"), (15, "SUBTRACT"),- (16, "MULTIPLY"), (17, "DIVIDE"), (18, "MODULO"), (19, "COMPARE"), (20, "FILTER"), (21, "MAP"), (22, "CONCATMAP"),- (23, "ORDERBY"), (24, "DISTINCT"), (26, "LENGTH"), (27, "UNION"), (28, "NTH"), (29, "STREAMTOARRAY"), (30, "ARRAYTOSTREAM"),- (31, "REDUCE"), (32, "GROUPEDMAPREDUCE"), (35, "ANY"), (36, "ALL"), (37, "RANGE"), (38, "IMPLICIT_WITHOUT"), (39, "WITHOUT")]
− Database/RethinkDB/Internal/Query_Language/Builtin/Comparison.hs
@@ -1,82 +0,0 @@-{-# LANGUAGE BangPatterns, DeriveDataTypeable, FlexibleInstances, MultiParamTypeClasses #-}-module Database.RethinkDB.Internal.Query_Language.Builtin.Comparison (Comparison(..)) where-import Prelude ((+), (/), (.))-import qualified Prelude as Prelude'-import qualified Data.Typeable as Prelude'-import qualified Data.Data as Prelude'-import qualified Text.ProtocolBuffers.Header as P'- -data Comparison = EQ- | NE- | LT- | LE- | GT- | GE- deriving (Prelude'.Read, Prelude'.Show, Prelude'.Eq, Prelude'.Ord, Prelude'.Typeable, Prelude'.Data)- -instance P'.Mergeable Comparison- -instance Prelude'.Bounded Comparison where- minBound = EQ- maxBound = GE- -instance P'.Default Comparison where- defaultValue = EQ- -toMaybe'Enum :: Prelude'.Int -> P'.Maybe Comparison-toMaybe'Enum 1 = Prelude'.Just EQ-toMaybe'Enum 2 = Prelude'.Just NE-toMaybe'Enum 3 = Prelude'.Just LT-toMaybe'Enum 4 = Prelude'.Just LE-toMaybe'Enum 5 = Prelude'.Just GT-toMaybe'Enum 6 = Prelude'.Just GE-toMaybe'Enum _ = Prelude'.Nothing- -instance Prelude'.Enum Comparison where- fromEnum EQ = 1- fromEnum NE = 2- fromEnum LT = 3- fromEnum LE = 4- fromEnum GT = 5- fromEnum GE = 6- toEnum- = P'.fromMaybe- (Prelude'.error- "hprotoc generated code: toEnum failure for type Database.RethinkDB.Internal.Query_Language.Builtin.Comparison")- . toMaybe'Enum- succ EQ = NE- succ NE = LT- succ LT = LE- succ LE = GT- succ GT = GE- succ _- = Prelude'.error "hprotoc generated code: succ failure for type Database.RethinkDB.Internal.Query_Language.Builtin.Comparison"- pred NE = EQ- pred LT = NE- pred LE = LT- pred GT = LE- pred GE = GT- pred _- = Prelude'.error "hprotoc generated code: pred failure for type Database.RethinkDB.Internal.Query_Language.Builtin.Comparison"- -instance P'.Wire Comparison where- wireSize ft' enum = P'.wireSize ft' (Prelude'.fromEnum enum)- wirePut ft' enum = P'.wirePut ft' (Prelude'.fromEnum enum)- wireGet 14 = P'.wireGetEnum toMaybe'Enum- wireGet ft' = P'.wireGetErr ft'- wireGetPacked 14 = P'.wireGetPackedEnum toMaybe'Enum- wireGetPacked ft' = P'.wireGetErr ft'- -instance P'.GPB Comparison- -instance P'.MessageAPI msg' (msg' -> Comparison) Comparison where- getVal m' f' = f' m'- -instance P'.ReflectEnum Comparison where- reflectEnum = [(1, "EQ", EQ), (2, "NE", NE), (3, "LT", LT), (4, "LE", LE), (5, "GT", GT), (6, "GE", GE)]- reflectEnumInfo _- = P'.EnumInfo- (P'.makePNF (P'.pack ".Query_Language.Builtin.Comparison") ["Database", "RethinkDB", "Internal"] ["Query_Language", "Builtin"]- "Comparison")- ["Database", "RethinkDB", "Internal", "Query_Language", "Builtin", "Comparison.hs"]- [(1, "EQ"), (2, "NE"), (3, "LT"), (4, "LE"), (5, "GT"), (6, "GE")]
− Database/RethinkDB/Internal/Query_Language/Builtin/ConcatMap.hs
@@ -1,58 +0,0 @@-{-# LANGUAGE BangPatterns, DeriveDataTypeable, FlexibleInstances, MultiParamTypeClasses #-}-module Database.RethinkDB.Internal.Query_Language.Builtin.ConcatMap (ConcatMap(..)) where-import Prelude ((+), (/))-import qualified Prelude as Prelude'-import qualified Data.Typeable as Prelude'-import qualified Data.Data as Prelude'-import qualified Text.ProtocolBuffers.Header as P'-import qualified Database.RethinkDB.Internal.Query_Language.Mapping as Query_Language (Mapping)- -data ConcatMap = ConcatMap{mapping :: !Query_Language.Mapping}- deriving (Prelude'.Show, Prelude'.Eq, Prelude'.Ord, Prelude'.Typeable, Prelude'.Data)- -instance P'.Mergeable ConcatMap where- mergeAppend (ConcatMap x'1) (ConcatMap y'1) = ConcatMap (P'.mergeAppend x'1 y'1)- -instance P'.Default ConcatMap where- defaultValue = ConcatMap P'.defaultValue- -instance P'.Wire ConcatMap where- wireSize ft' self'@(ConcatMap x'1)- = case ft' of- 10 -> calc'Size- 11 -> P'.prependMessageSize calc'Size- _ -> P'.wireSizeErr ft' self'- where- calc'Size = (P'.wireSizeReq 1 11 x'1)- wirePut ft' self'@(ConcatMap x'1)- = case ft' of- 10 -> put'Fields- 11 -> do- P'.putSize (P'.wireSize 10 self')- put'Fields- _ -> P'.wirePutErr ft' self'- where- put'Fields- = do- P'.wirePutReq 10 11 x'1- wireGet ft'- = case ft' of- 10 -> P'.getBareMessageWith update'Self- 11 -> P'.getMessageWith update'Self- _ -> P'.wireGetErr ft'- where- update'Self wire'Tag old'Self- = case wire'Tag of- 10 -> Prelude'.fmap (\ !new'Field -> old'Self{mapping = P'.mergeAppend (mapping old'Self) (new'Field)}) (P'.wireGet 11)- _ -> let (field'Number, wire'Type) = P'.splitWireTag wire'Tag in P'.unknown field'Number wire'Type old'Self- -instance P'.MessageAPI msg' (msg' -> ConcatMap) ConcatMap where- getVal m' f' = f' m'- -instance P'.GPB ConcatMap- -instance P'.ReflectDescriptor ConcatMap where- getMessageInfo _ = P'.GetMessageInfo (P'.fromDistinctAscList [10]) (P'.fromDistinctAscList [10])- reflectDescriptorInfo _- = Prelude'.read- "DescriptorInfo {descName = ProtoName {protobufName = FIName \".Query_Language.Builtin.ConcatMap\", haskellPrefix = [MName \"Database\",MName \"RethinkDB\",MName \"Internal\"], parentModule = [MName \"Query_Language\",MName \"Builtin\"], baseName = MName \"ConcatMap\"}, descFilePath = [\"Database\",\"RethinkDB\",\"Internal\",\"Query_Language\",\"Builtin\",\"ConcatMap.hs\"], isGroup = False, fields = fromList [FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".Query_Language.Builtin.ConcatMap.mapping\", haskellPrefix' = [MName \"Database\",MName \"RethinkDB\",MName \"Internal\"], parentModule' = [MName \"Query_Language\",MName \"Builtin\",MName \"ConcatMap\"], baseName' = FName \"mapping\"}, fieldNumber = FieldId {getFieldId = 1}, wireTag = WireTag {getWireTag = 10}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = True, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 11}, typeName = Just (ProtoName {protobufName = FIName \".Query_Language.Mapping\", haskellPrefix = [MName \"Database\",MName \"RethinkDB\",MName \"Internal\"], parentModule = [MName \"Query_Language\"], baseName = MName \"Mapping\"}), hsRawDefault = Nothing, hsDefault = Nothing}], keys = fromList [], extRanges = [], knownKeys = fromList [], storeUnknown = False, lazyFields = False}"
− Database/RethinkDB/Internal/Query_Language/Builtin/Filter.hs
@@ -1,59 +0,0 @@-{-# LANGUAGE BangPatterns, DeriveDataTypeable, FlexibleInstances, MultiParamTypeClasses #-}-module Database.RethinkDB.Internal.Query_Language.Builtin.Filter (Filter(..)) where-import Prelude ((+), (/))-import qualified Prelude as Prelude'-import qualified Data.Typeable as Prelude'-import qualified Data.Data as Prelude'-import qualified Text.ProtocolBuffers.Header as P'-import qualified Database.RethinkDB.Internal.Query_Language.Predicate as Query_Language (Predicate)- -data Filter = Filter{predicate :: !Query_Language.Predicate}- deriving (Prelude'.Show, Prelude'.Eq, Prelude'.Ord, Prelude'.Typeable, Prelude'.Data)- -instance P'.Mergeable Filter where- mergeAppend (Filter x'1) (Filter y'1) = Filter (P'.mergeAppend x'1 y'1)- -instance P'.Default Filter where- defaultValue = Filter P'.defaultValue- -instance P'.Wire Filter where- wireSize ft' self'@(Filter x'1)- = case ft' of- 10 -> calc'Size- 11 -> P'.prependMessageSize calc'Size- _ -> P'.wireSizeErr ft' self'- where- calc'Size = (P'.wireSizeReq 1 11 x'1)- wirePut ft' self'@(Filter x'1)- = case ft' of- 10 -> put'Fields- 11 -> do- P'.putSize (P'.wireSize 10 self')- put'Fields- _ -> P'.wirePutErr ft' self'- where- put'Fields- = do- P'.wirePutReq 10 11 x'1- wireGet ft'- = case ft' of- 10 -> P'.getBareMessageWith update'Self- 11 -> P'.getMessageWith update'Self- _ -> P'.wireGetErr ft'- where- update'Self wire'Tag old'Self- = case wire'Tag of- 10 -> Prelude'.fmap (\ !new'Field -> old'Self{predicate = P'.mergeAppend (predicate old'Self) (new'Field)})- (P'.wireGet 11)- _ -> let (field'Number, wire'Type) = P'.splitWireTag wire'Tag in P'.unknown field'Number wire'Type old'Self- -instance P'.MessageAPI msg' (msg' -> Filter) Filter where- getVal m' f' = f' m'- -instance P'.GPB Filter- -instance P'.ReflectDescriptor Filter where- getMessageInfo _ = P'.GetMessageInfo (P'.fromDistinctAscList [10]) (P'.fromDistinctAscList [10])- reflectDescriptorInfo _- = Prelude'.read- "DescriptorInfo {descName = ProtoName {protobufName = FIName \".Query_Language.Builtin.Filter\", haskellPrefix = [MName \"Database\",MName \"RethinkDB\",MName \"Internal\"], parentModule = [MName \"Query_Language\",MName \"Builtin\"], baseName = MName \"Filter\"}, descFilePath = [\"Database\",\"RethinkDB\",\"Internal\",\"Query_Language\",\"Builtin\",\"Filter.hs\"], isGroup = False, fields = fromList [FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".Query_Language.Builtin.Filter.predicate\", haskellPrefix' = [MName \"Database\",MName \"RethinkDB\",MName \"Internal\"], parentModule' = [MName \"Query_Language\",MName \"Builtin\",MName \"Filter\"], baseName' = FName \"predicate\"}, fieldNumber = FieldId {getFieldId = 1}, wireTag = WireTag {getWireTag = 10}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = True, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 11}, typeName = Just (ProtoName {protobufName = FIName \".Query_Language.Predicate\", haskellPrefix = [MName \"Database\",MName \"RethinkDB\",MName \"Internal\"], parentModule = [MName \"Query_Language\"], baseName = MName \"Predicate\"}), hsRawDefault = Nothing, hsDefault = Nothing}], keys = fromList [], extRanges = [], knownKeys = fromList [], storeUnknown = False, lazyFields = False}"
− Database/RethinkDB/Internal/Query_Language/Builtin/GroupedMapReduce.hs
@@ -1,68 +0,0 @@-{-# LANGUAGE BangPatterns, DeriveDataTypeable, FlexibleInstances, MultiParamTypeClasses #-}-module Database.RethinkDB.Internal.Query_Language.Builtin.GroupedMapReduce (GroupedMapReduce(..)) where-import Prelude ((+), (/))-import qualified Prelude as Prelude'-import qualified Data.Typeable as Prelude'-import qualified Data.Data as Prelude'-import qualified Text.ProtocolBuffers.Header as P'-import qualified Database.RethinkDB.Internal.Query_Language.Mapping as Query_Language (Mapping)-import qualified Database.RethinkDB.Internal.Query_Language.Reduction as Query_Language (Reduction)- -data GroupedMapReduce = GroupedMapReduce{group_mapping :: !Query_Language.Mapping, value_mapping :: !Query_Language.Mapping,- reduction :: !Query_Language.Reduction}- deriving (Prelude'.Show, Prelude'.Eq, Prelude'.Ord, Prelude'.Typeable, Prelude'.Data)- -instance P'.Mergeable GroupedMapReduce where- mergeAppend (GroupedMapReduce x'1 x'2 x'3) (GroupedMapReduce y'1 y'2 y'3)- = GroupedMapReduce (P'.mergeAppend x'1 y'1) (P'.mergeAppend x'2 y'2) (P'.mergeAppend x'3 y'3)- -instance P'.Default GroupedMapReduce where- defaultValue = GroupedMapReduce P'.defaultValue P'.defaultValue P'.defaultValue- -instance P'.Wire GroupedMapReduce where- wireSize ft' self'@(GroupedMapReduce x'1 x'2 x'3)- = case ft' of- 10 -> calc'Size- 11 -> P'.prependMessageSize calc'Size- _ -> P'.wireSizeErr ft' self'- where- calc'Size = (P'.wireSizeReq 1 11 x'1 + P'.wireSizeReq 1 11 x'2 + P'.wireSizeReq 1 11 x'3)- wirePut ft' self'@(GroupedMapReduce x'1 x'2 x'3)- = case ft' of- 10 -> put'Fields- 11 -> do- P'.putSize (P'.wireSize 10 self')- put'Fields- _ -> P'.wirePutErr ft' self'- where- put'Fields- = do- P'.wirePutReq 10 11 x'1- P'.wirePutReq 18 11 x'2- P'.wirePutReq 26 11 x'3- wireGet ft'- = case ft' of- 10 -> P'.getBareMessageWith update'Self- 11 -> P'.getMessageWith update'Self- _ -> P'.wireGetErr ft'- where- update'Self wire'Tag old'Self- = case wire'Tag of- 10 -> Prelude'.fmap (\ !new'Field -> old'Self{group_mapping = P'.mergeAppend (group_mapping old'Self) (new'Field)})- (P'.wireGet 11)- 18 -> Prelude'.fmap (\ !new'Field -> old'Self{value_mapping = P'.mergeAppend (value_mapping old'Self) (new'Field)})- (P'.wireGet 11)- 26 -> Prelude'.fmap (\ !new'Field -> old'Self{reduction = P'.mergeAppend (reduction old'Self) (new'Field)})- (P'.wireGet 11)- _ -> let (field'Number, wire'Type) = P'.splitWireTag wire'Tag in P'.unknown field'Number wire'Type old'Self- -instance P'.MessageAPI msg' (msg' -> GroupedMapReduce) GroupedMapReduce where- getVal m' f' = f' m'- -instance P'.GPB GroupedMapReduce- -instance P'.ReflectDescriptor GroupedMapReduce where- getMessageInfo _ = P'.GetMessageInfo (P'.fromDistinctAscList [10, 18, 26]) (P'.fromDistinctAscList [10, 18, 26])- reflectDescriptorInfo _- = Prelude'.read- "DescriptorInfo {descName = ProtoName {protobufName = FIName \".Query_Language.Builtin.GroupedMapReduce\", haskellPrefix = [MName \"Database\",MName \"RethinkDB\",MName \"Internal\"], parentModule = [MName \"Query_Language\",MName \"Builtin\"], baseName = MName \"GroupedMapReduce\"}, descFilePath = [\"Database\",\"RethinkDB\",\"Internal\",\"Query_Language\",\"Builtin\",\"GroupedMapReduce.hs\"], isGroup = False, fields = fromList [FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".Query_Language.Builtin.GroupedMapReduce.group_mapping\", haskellPrefix' = [MName \"Database\",MName \"RethinkDB\",MName \"Internal\"], parentModule' = [MName \"Query_Language\",MName \"Builtin\",MName \"GroupedMapReduce\"], baseName' = FName \"group_mapping\"}, fieldNumber = FieldId {getFieldId = 1}, wireTag = WireTag {getWireTag = 10}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = True, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 11}, typeName = Just (ProtoName {protobufName = FIName \".Query_Language.Mapping\", haskellPrefix = [MName \"Database\",MName \"RethinkDB\",MName \"Internal\"], parentModule = [MName \"Query_Language\"], baseName = MName \"Mapping\"}), hsRawDefault = Nothing, hsDefault = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".Query_Language.Builtin.GroupedMapReduce.value_mapping\", haskellPrefix' = [MName \"Database\",MName \"RethinkDB\",MName \"Internal\"], parentModule' = [MName \"Query_Language\",MName \"Builtin\",MName \"GroupedMapReduce\"], baseName' = FName \"value_mapping\"}, fieldNumber = FieldId {getFieldId = 2}, wireTag = WireTag {getWireTag = 18}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = True, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 11}, typeName = Just (ProtoName {protobufName = FIName \".Query_Language.Mapping\", haskellPrefix = [MName \"Database\",MName \"RethinkDB\",MName \"Internal\"], parentModule = [MName \"Query_Language\"], baseName = MName \"Mapping\"}), hsRawDefault = Nothing, hsDefault = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".Query_Language.Builtin.GroupedMapReduce.reduction\", haskellPrefix' = [MName \"Database\",MName \"RethinkDB\",MName \"Internal\"], parentModule' = [MName \"Query_Language\",MName \"Builtin\",MName \"GroupedMapReduce\"], baseName' = FName \"reduction\"}, fieldNumber = FieldId {getFieldId = 3}, wireTag = WireTag {getWireTag = 26}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = True, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 11}, typeName = Just (ProtoName {protobufName = FIName \".Query_Language.Reduction\", haskellPrefix = [MName \"Database\",MName \"RethinkDB\",MName \"Internal\"], parentModule = [MName \"Query_Language\"], baseName = MName \"Reduction\"}), hsRawDefault = Nothing, hsDefault = Nothing}], keys = fromList [], extRanges = [], knownKeys = fromList [], storeUnknown = False, lazyFields = False}"
− Database/RethinkDB/Internal/Query_Language/Builtin/Map.hs
@@ -1,58 +0,0 @@-{-# LANGUAGE BangPatterns, DeriveDataTypeable, FlexibleInstances, MultiParamTypeClasses #-}-module Database.RethinkDB.Internal.Query_Language.Builtin.Map (Map(..)) where-import Prelude ((+), (/))-import qualified Prelude as Prelude'-import qualified Data.Typeable as Prelude'-import qualified Data.Data as Prelude'-import qualified Text.ProtocolBuffers.Header as P'-import qualified Database.RethinkDB.Internal.Query_Language.Mapping as Query_Language (Mapping)- -data Map = Map{mapping :: !Query_Language.Mapping}- deriving (Prelude'.Show, Prelude'.Eq, Prelude'.Ord, Prelude'.Typeable, Prelude'.Data)- -instance P'.Mergeable Map where- mergeAppend (Map x'1) (Map y'1) = Map (P'.mergeAppend x'1 y'1)- -instance P'.Default Map where- defaultValue = Map P'.defaultValue- -instance P'.Wire Map where- wireSize ft' self'@(Map x'1)- = case ft' of- 10 -> calc'Size- 11 -> P'.prependMessageSize calc'Size- _ -> P'.wireSizeErr ft' self'- where- calc'Size = (P'.wireSizeReq 1 11 x'1)- wirePut ft' self'@(Map x'1)- = case ft' of- 10 -> put'Fields- 11 -> do- P'.putSize (P'.wireSize 10 self')- put'Fields- _ -> P'.wirePutErr ft' self'- where- put'Fields- = do- P'.wirePutReq 10 11 x'1- wireGet ft'- = case ft' of- 10 -> P'.getBareMessageWith update'Self- 11 -> P'.getMessageWith update'Self- _ -> P'.wireGetErr ft'- where- update'Self wire'Tag old'Self- = case wire'Tag of- 10 -> Prelude'.fmap (\ !new'Field -> old'Self{mapping = P'.mergeAppend (mapping old'Self) (new'Field)}) (P'.wireGet 11)- _ -> let (field'Number, wire'Type) = P'.splitWireTag wire'Tag in P'.unknown field'Number wire'Type old'Self- -instance P'.MessageAPI msg' (msg' -> Map) Map where- getVal m' f' = f' m'- -instance P'.GPB Map- -instance P'.ReflectDescriptor Map where- getMessageInfo _ = P'.GetMessageInfo (P'.fromDistinctAscList [10]) (P'.fromDistinctAscList [10])- reflectDescriptorInfo _- = Prelude'.read- "DescriptorInfo {descName = ProtoName {protobufName = FIName \".Query_Language.Builtin.Map\", haskellPrefix = [MName \"Database\",MName \"RethinkDB\",MName \"Internal\"], parentModule = [MName \"Query_Language\",MName \"Builtin\"], baseName = MName \"Map\"}, descFilePath = [\"Database\",\"RethinkDB\",\"Internal\",\"Query_Language\",\"Builtin\",\"Map.hs\"], isGroup = False, fields = fromList [FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".Query_Language.Builtin.Map.mapping\", haskellPrefix' = [MName \"Database\",MName \"RethinkDB\",MName \"Internal\"], parentModule' = [MName \"Query_Language\",MName \"Builtin\",MName \"Map\"], baseName' = FName \"mapping\"}, fieldNumber = FieldId {getFieldId = 1}, wireTag = WireTag {getWireTag = 10}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = True, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 11}, typeName = Just (ProtoName {protobufName = FIName \".Query_Language.Mapping\", haskellPrefix = [MName \"Database\",MName \"RethinkDB\",MName \"Internal\"], parentModule = [MName \"Query_Language\"], baseName = MName \"Mapping\"}), hsRawDefault = Nothing, hsDefault = Nothing}], keys = fromList [], extRanges = [], knownKeys = fromList [], storeUnknown = False, lazyFields = False}"
− Database/RethinkDB/Internal/Query_Language/Builtin/OrderBy.hs
@@ -1,59 +0,0 @@-{-# LANGUAGE BangPatterns, DeriveDataTypeable, FlexibleInstances, MultiParamTypeClasses #-}-module Database.RethinkDB.Internal.Query_Language.Builtin.OrderBy (OrderBy(..)) where-import Prelude ((+), (/))-import qualified Prelude as Prelude'-import qualified Data.Typeable as Prelude'-import qualified Data.Data as Prelude'-import qualified Text.ProtocolBuffers.Header as P'- -data OrderBy = OrderBy{attr :: !P'.Utf8, ascending :: !(P'.Maybe P'.Bool)}- deriving (Prelude'.Show, Prelude'.Eq, Prelude'.Ord, Prelude'.Typeable, Prelude'.Data)- -instance P'.Mergeable OrderBy where- mergeAppend (OrderBy x'1 x'2) (OrderBy y'1 y'2) = OrderBy (P'.mergeAppend x'1 y'1) (P'.mergeAppend x'2 y'2)- -instance P'.Default OrderBy where- defaultValue = OrderBy P'.defaultValue (Prelude'.Just Prelude'.True)- -instance P'.Wire OrderBy where- wireSize ft' self'@(OrderBy x'1 x'2)- = case ft' of- 10 -> calc'Size- 11 -> P'.prependMessageSize calc'Size- _ -> P'.wireSizeErr ft' self'- where- calc'Size = (P'.wireSizeReq 1 9 x'1 + P'.wireSizeOpt 1 8 x'2)- wirePut ft' self'@(OrderBy x'1 x'2)- = case ft' of- 10 -> put'Fields- 11 -> do- P'.putSize (P'.wireSize 10 self')- put'Fields- _ -> P'.wirePutErr ft' self'- where- put'Fields- = do- P'.wirePutReq 10 9 x'1- P'.wirePutOpt 16 8 x'2- wireGet ft'- = case ft' of- 10 -> P'.getBareMessageWith update'Self- 11 -> P'.getMessageWith update'Self- _ -> P'.wireGetErr ft'- where- update'Self wire'Tag old'Self- = case wire'Tag of- 10 -> Prelude'.fmap (\ !new'Field -> old'Self{attr = new'Field}) (P'.wireGet 9)- 16 -> Prelude'.fmap (\ !new'Field -> old'Self{ascending = Prelude'.Just new'Field}) (P'.wireGet 8)- _ -> let (field'Number, wire'Type) = P'.splitWireTag wire'Tag in P'.unknown field'Number wire'Type old'Self- -instance P'.MessageAPI msg' (msg' -> OrderBy) OrderBy where- getVal m' f' = f' m'- -instance P'.GPB OrderBy- -instance P'.ReflectDescriptor OrderBy where- getMessageInfo _ = P'.GetMessageInfo (P'.fromDistinctAscList [10]) (P'.fromDistinctAscList [10, 16])- reflectDescriptorInfo _- = Prelude'.read- "DescriptorInfo {descName = ProtoName {protobufName = FIName \".Query_Language.Builtin.OrderBy\", haskellPrefix = [MName \"Database\",MName \"RethinkDB\",MName \"Internal\"], parentModule = [MName \"Query_Language\",MName \"Builtin\"], baseName = MName \"OrderBy\"}, descFilePath = [\"Database\",\"RethinkDB\",\"Internal\",\"Query_Language\",\"Builtin\",\"OrderBy.hs\"], isGroup = False, fields = fromList [FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".Query_Language.Builtin.OrderBy.attr\", haskellPrefix' = [MName \"Database\",MName \"RethinkDB\",MName \"Internal\"], parentModule' = [MName \"Query_Language\",MName \"Builtin\",MName \"OrderBy\"], baseName' = FName \"attr\"}, fieldNumber = FieldId {getFieldId = 1}, wireTag = WireTag {getWireTag = 10}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = True, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 9}, typeName = Nothing, hsRawDefault = Nothing, hsDefault = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".Query_Language.Builtin.OrderBy.ascending\", haskellPrefix' = [MName \"Database\",MName \"RethinkDB\",MName \"Internal\"], parentModule' = [MName \"Query_Language\",MName \"Builtin\",MName \"OrderBy\"], baseName' = FName \"ascending\"}, fieldNumber = FieldId {getFieldId = 2}, wireTag = WireTag {getWireTag = 16}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 8}, typeName = Nothing, hsRawDefault = Just \"true\", hsDefault = Just (HsDef'Bool True)}], keys = fromList [], extRanges = [], knownKeys = fromList [], storeUnknown = False, lazyFields = False}"
− Database/RethinkDB/Internal/Query_Language/Builtin/Range.hs
@@ -1,68 +0,0 @@-{-# LANGUAGE BangPatterns, DeriveDataTypeable, FlexibleInstances, MultiParamTypeClasses #-}-module Database.RethinkDB.Internal.Query_Language.Builtin.Range (Range(..)) where-import Prelude ((+), (/))-import qualified Prelude as Prelude'-import qualified Data.Typeable as Prelude'-import qualified Data.Data as Prelude'-import qualified Text.ProtocolBuffers.Header as P'-import {-# SOURCE #-} qualified Database.RethinkDB.Internal.Query_Language.Term as Query_Language (Term)- -data Range = Range{attrname :: !P'.Utf8, lowerbound :: !(P'.Maybe Query_Language.Term),- upperbound :: !(P'.Maybe Query_Language.Term)}- deriving (Prelude'.Show, Prelude'.Eq, Prelude'.Ord, Prelude'.Typeable, Prelude'.Data)- -instance P'.Mergeable Range where- mergeAppend (Range x'1 x'2 x'3) (Range y'1 y'2 y'3)- = Range (P'.mergeAppend x'1 y'1) (P'.mergeAppend x'2 y'2) (P'.mergeAppend x'3 y'3)- -instance P'.Default Range where- defaultValue = Range P'.defaultValue P'.defaultValue P'.defaultValue- -instance P'.Wire Range where- wireSize ft' self'@(Range x'1 x'2 x'3)- = case ft' of- 10 -> calc'Size- 11 -> P'.prependMessageSize calc'Size- _ -> P'.wireSizeErr ft' self'- where- calc'Size = (P'.wireSizeReq 1 9 x'1 + P'.wireSizeOpt 1 11 x'2 + P'.wireSizeOpt 1 11 x'3)- wirePut ft' self'@(Range x'1 x'2 x'3)- = case ft' of- 10 -> put'Fields- 11 -> do- P'.putSize (P'.wireSize 10 self')- put'Fields- _ -> P'.wirePutErr ft' self'- where- put'Fields- = do- P'.wirePutReq 10 9 x'1- P'.wirePutOpt 18 11 x'2- P'.wirePutOpt 26 11 x'3- wireGet ft'- = case ft' of- 10 -> P'.getBareMessageWith update'Self- 11 -> P'.getMessageWith update'Self- _ -> P'.wireGetErr ft'- where- update'Self wire'Tag old'Self- = case wire'Tag of- 10 -> Prelude'.fmap (\ !new'Field -> old'Self{attrname = new'Field}) (P'.wireGet 9)- 18 -> Prelude'.fmap- (\ !new'Field -> old'Self{lowerbound = P'.mergeAppend (lowerbound old'Self) (Prelude'.Just new'Field)})- (P'.wireGet 11)- 26 -> Prelude'.fmap- (\ !new'Field -> old'Self{upperbound = P'.mergeAppend (upperbound old'Self) (Prelude'.Just new'Field)})- (P'.wireGet 11)- _ -> let (field'Number, wire'Type) = P'.splitWireTag wire'Tag in P'.unknown field'Number wire'Type old'Self- -instance P'.MessageAPI msg' (msg' -> Range) Range where- getVal m' f' = f' m'- -instance P'.GPB Range- -instance P'.ReflectDescriptor Range where- getMessageInfo _ = P'.GetMessageInfo (P'.fromDistinctAscList [10]) (P'.fromDistinctAscList [10, 18, 26])- reflectDescriptorInfo _- = Prelude'.read- "DescriptorInfo {descName = ProtoName {protobufName = FIName \".Query_Language.Builtin.Range\", haskellPrefix = [MName \"Database\",MName \"RethinkDB\",MName \"Internal\"], parentModule = [MName \"Query_Language\",MName \"Builtin\"], baseName = MName \"Range\"}, descFilePath = [\"Database\",\"RethinkDB\",\"Internal\",\"Query_Language\",\"Builtin\",\"Range.hs\"], isGroup = False, fields = fromList [FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".Query_Language.Builtin.Range.attrname\", haskellPrefix' = [MName \"Database\",MName \"RethinkDB\",MName \"Internal\"], parentModule' = [MName \"Query_Language\",MName \"Builtin\",MName \"Range\"], baseName' = FName \"attrname\"}, fieldNumber = FieldId {getFieldId = 1}, wireTag = WireTag {getWireTag = 10}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = True, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 9}, typeName = Nothing, hsRawDefault = Nothing, hsDefault = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".Query_Language.Builtin.Range.lowerbound\", haskellPrefix' = [MName \"Database\",MName \"RethinkDB\",MName \"Internal\"], parentModule' = [MName \"Query_Language\",MName \"Builtin\",MName \"Range\"], baseName' = FName \"lowerbound\"}, fieldNumber = FieldId {getFieldId = 2}, wireTag = WireTag {getWireTag = 18}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 11}, typeName = Just (ProtoName {protobufName = FIName \".Query_Language.Term\", haskellPrefix = [MName \"Database\",MName \"RethinkDB\",MName \"Internal\"], parentModule = [MName \"Query_Language\"], baseName = MName \"Term\"}), hsRawDefault = Nothing, hsDefault = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".Query_Language.Builtin.Range.upperbound\", haskellPrefix' = [MName \"Database\",MName \"RethinkDB\",MName \"Internal\"], parentModule' = [MName \"Query_Language\",MName \"Builtin\",MName \"Range\"], baseName' = FName \"upperbound\"}, fieldNumber = FieldId {getFieldId = 3}, wireTag = WireTag {getWireTag = 26}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 11}, typeName = Just (ProtoName {protobufName = FIName \".Query_Language.Term\", haskellPrefix = [MName \"Database\",MName \"RethinkDB\",MName \"Internal\"], parentModule = [MName \"Query_Language\"], baseName = MName \"Term\"}), hsRawDefault = Nothing, hsDefault = Nothing}], keys = fromList [], extRanges = [], knownKeys = fromList [], storeUnknown = False, lazyFields = False}"
− Database/RethinkDB/Internal/Query_Language/Mapping.hs
@@ -1,69 +0,0 @@-{-# LANGUAGE BangPatterns, DeriveDataTypeable, FlexibleInstances, MultiParamTypeClasses #-}-module Database.RethinkDB.Internal.Query_Language.Mapping (Mapping(..)) where-import Prelude ((+), (/), (==), (<=), (&&))-import qualified Prelude as Prelude'-import qualified Data.Typeable as Prelude'-import qualified Data.Data as Prelude'-import qualified Text.ProtocolBuffers.Header as P'-import {-# SOURCE #-} qualified Database.RethinkDB.Internal.Query_Language.Term as Query_Language (Term)- -data Mapping = Mapping{arg :: !P'.Utf8, body :: !Query_Language.Term, ext'field :: !P'.ExtField}- deriving (Prelude'.Show, Prelude'.Eq, Prelude'.Ord, Prelude'.Typeable, Prelude'.Data)- -instance P'.ExtendMessage Mapping where- getExtField = ext'field- putExtField e'f msg = msg{ext'field = e'f}- validExtRanges msg = P'.extRanges (P'.reflectDescriptorInfo msg)- -instance P'.Mergeable Mapping where- mergeAppend (Mapping x'1 x'2 x'3) (Mapping y'1 y'2 y'3)- = Mapping (P'.mergeAppend x'1 y'1) (P'.mergeAppend x'2 y'2) (P'.mergeAppend x'3 y'3)- -instance P'.Default Mapping where- defaultValue = Mapping P'.defaultValue P'.defaultValue P'.defaultValue- -instance P'.Wire Mapping where- wireSize ft' self'@(Mapping x'1 x'2 x'3)- = case ft' of- 10 -> calc'Size- 11 -> P'.prependMessageSize calc'Size- _ -> P'.wireSizeErr ft' self'- where- calc'Size = (P'.wireSizeReq 1 9 x'1 + P'.wireSizeReq 1 11 x'2 + P'.wireSizeExtField x'3)- wirePut ft' self'@(Mapping x'1 x'2 x'3)- = case ft' of- 10 -> put'Fields- 11 -> do- P'.putSize (P'.wireSize 10 self')- put'Fields- _ -> P'.wirePutErr ft' self'- where- put'Fields- = do- P'.wirePutReq 10 9 x'1- P'.wirePutReq 18 11 x'2- P'.wirePutExtField x'3- wireGet ft'- = case ft' of- 10 -> P'.getBareMessageWith update'Self- 11 -> P'.getMessageWith update'Self- _ -> P'.wireGetErr ft'- where- update'Self wire'Tag old'Self- = case wire'Tag of- 10 -> Prelude'.fmap (\ !new'Field -> old'Self{arg = new'Field}) (P'.wireGet 9)- 18 -> Prelude'.fmap (\ !new'Field -> old'Self{body = P'.mergeAppend (body old'Self) (new'Field)}) (P'.wireGet 11)- _ -> let (field'Number, wire'Type) = P'.splitWireTag wire'Tag in- if Prelude'.or [1000 <= field'Number && field'Number <= 1099] then- P'.loadExtension field'Number wire'Type old'Self else P'.unknown field'Number wire'Type old'Self- -instance P'.MessageAPI msg' (msg' -> Mapping) Mapping where- getVal m' f' = f' m'- -instance P'.GPB Mapping- -instance P'.ReflectDescriptor Mapping where- getMessageInfo _ = P'.GetMessageInfo (P'.fromDistinctAscList [10, 18]) (P'.fromDistinctAscList [10, 18])- reflectDescriptorInfo _- = Prelude'.read- "DescriptorInfo {descName = ProtoName {protobufName = FIName \".Query_Language.Mapping\", haskellPrefix = [MName \"Database\",MName \"RethinkDB\",MName \"Internal\"], parentModule = [MName \"Query_Language\"], baseName = MName \"Mapping\"}, descFilePath = [\"Database\",\"RethinkDB\",\"Internal\",\"Query_Language\",\"Mapping.hs\"], isGroup = False, fields = fromList [FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".Query_Language.Mapping.arg\", haskellPrefix' = [MName \"Database\",MName \"RethinkDB\",MName \"Internal\"], parentModule' = [MName \"Query_Language\",MName \"Mapping\"], baseName' = FName \"arg\"}, fieldNumber = FieldId {getFieldId = 1}, wireTag = WireTag {getWireTag = 10}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = True, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 9}, typeName = Nothing, hsRawDefault = Nothing, hsDefault = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".Query_Language.Mapping.body\", haskellPrefix' = [MName \"Database\",MName \"RethinkDB\",MName \"Internal\"], parentModule' = [MName \"Query_Language\",MName \"Mapping\"], baseName' = FName \"body\"}, fieldNumber = FieldId {getFieldId = 2}, wireTag = WireTag {getWireTag = 18}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = True, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 11}, typeName = Just (ProtoName {protobufName = FIName \".Query_Language.Term\", haskellPrefix = [MName \"Database\",MName \"RethinkDB\",MName \"Internal\"], parentModule = [MName \"Query_Language\"], baseName = MName \"Term\"}), hsRawDefault = Nothing, hsDefault = Nothing}], keys = fromList [], extRanges = [(FieldId {getFieldId = 1000},FieldId {getFieldId = 1099})], knownKeys = fromList [], storeUnknown = False, lazyFields = False}"
− Database/RethinkDB/Internal/Query_Language/MetaQuery.hs
@@ -1,73 +0,0 @@-{-# LANGUAGE BangPatterns, DeriveDataTypeable, FlexibleInstances, MultiParamTypeClasses #-}-module Database.RethinkDB.Internal.Query_Language.MetaQuery (MetaQuery(..)) where-import Prelude ((+), (/))-import qualified Prelude as Prelude'-import qualified Data.Typeable as Prelude'-import qualified Data.Data as Prelude'-import qualified Text.ProtocolBuffers.Header as P'-import qualified Database.RethinkDB.Internal.Query_Language.MetaQuery.CreateTable as Query_Language.MetaQuery (CreateTable)-import qualified Database.RethinkDB.Internal.Query_Language.MetaQuery.MetaQueryType as Query_Language.MetaQuery (MetaQueryType)-import qualified Database.RethinkDB.Internal.Query_Language.TableRef as Query_Language (TableRef)- -data MetaQuery = MetaQuery{type' :: !Query_Language.MetaQuery.MetaQueryType, db_name :: !(P'.Maybe P'.Utf8),- create_table :: !(P'.Maybe Query_Language.MetaQuery.CreateTable),- drop_table :: !(P'.Maybe Query_Language.TableRef)}- deriving (Prelude'.Show, Prelude'.Eq, Prelude'.Ord, Prelude'.Typeable, Prelude'.Data)- -instance P'.Mergeable MetaQuery where- mergeAppend (MetaQuery x'1 x'2 x'3 x'4) (MetaQuery y'1 y'2 y'3 y'4)- = MetaQuery (P'.mergeAppend x'1 y'1) (P'.mergeAppend x'2 y'2) (P'.mergeAppend x'3 y'3) (P'.mergeAppend x'4 y'4)- -instance P'.Default MetaQuery where- defaultValue = MetaQuery P'.defaultValue P'.defaultValue P'.defaultValue P'.defaultValue- -instance P'.Wire MetaQuery where- wireSize ft' self'@(MetaQuery x'1 x'2 x'3 x'4)- = case ft' of- 10 -> calc'Size- 11 -> P'.prependMessageSize calc'Size- _ -> P'.wireSizeErr ft' self'- where- calc'Size = (P'.wireSizeReq 1 14 x'1 + P'.wireSizeOpt 1 9 x'2 + P'.wireSizeOpt 1 11 x'3 + P'.wireSizeOpt 1 11 x'4)- wirePut ft' self'@(MetaQuery x'1 x'2 x'3 x'4)- = case ft' of- 10 -> put'Fields- 11 -> do- P'.putSize (P'.wireSize 10 self')- put'Fields- _ -> P'.wirePutErr ft' self'- where- put'Fields- = do- P'.wirePutReq 8 14 x'1- P'.wirePutOpt 18 9 x'2- P'.wirePutOpt 26 11 x'3- P'.wirePutOpt 34 11 x'4- wireGet ft'- = case ft' of- 10 -> P'.getBareMessageWith update'Self- 11 -> P'.getMessageWith update'Self- _ -> P'.wireGetErr ft'- where- update'Self wire'Tag old'Self- = case wire'Tag of- 8 -> Prelude'.fmap (\ !new'Field -> old'Self{type' = new'Field}) (P'.wireGet 14)- 18 -> Prelude'.fmap (\ !new'Field -> old'Self{db_name = Prelude'.Just new'Field}) (P'.wireGet 9)- 26 -> Prelude'.fmap- (\ !new'Field -> old'Self{create_table = P'.mergeAppend (create_table old'Self) (Prelude'.Just new'Field)})- (P'.wireGet 11)- 34 -> Prelude'.fmap- (\ !new'Field -> old'Self{drop_table = P'.mergeAppend (drop_table old'Self) (Prelude'.Just new'Field)})- (P'.wireGet 11)- _ -> let (field'Number, wire'Type) = P'.splitWireTag wire'Tag in P'.unknown field'Number wire'Type old'Self- -instance P'.MessageAPI msg' (msg' -> MetaQuery) MetaQuery where- getVal m' f' = f' m'- -instance P'.GPB MetaQuery- -instance P'.ReflectDescriptor MetaQuery where- getMessageInfo _ = P'.GetMessageInfo (P'.fromDistinctAscList [8]) (P'.fromDistinctAscList [8, 18, 26, 34])- reflectDescriptorInfo _- = Prelude'.read- "DescriptorInfo {descName = ProtoName {protobufName = FIName \".Query_Language.MetaQuery\", haskellPrefix = [MName \"Database\",MName \"RethinkDB\",MName \"Internal\"], parentModule = [MName \"Query_Language\"], baseName = MName \"MetaQuery\"}, descFilePath = [\"Database\",\"RethinkDB\",\"Internal\",\"Query_Language\",\"MetaQuery.hs\"], isGroup = False, fields = fromList [FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".Query_Language.MetaQuery.type\", haskellPrefix' = [MName \"Database\",MName \"RethinkDB\",MName \"Internal\"], parentModule' = [MName \"Query_Language\",MName \"MetaQuery\"], baseName' = FName \"type'\"}, fieldNumber = FieldId {getFieldId = 1}, wireTag = WireTag {getWireTag = 8}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = True, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 14}, typeName = Just (ProtoName {protobufName = FIName \".Query_Language.MetaQuery.MetaQueryType\", haskellPrefix = [MName \"Database\",MName \"RethinkDB\",MName \"Internal\"], parentModule = [MName \"Query_Language\",MName \"MetaQuery\"], baseName = MName \"MetaQueryType\"}), hsRawDefault = Nothing, hsDefault = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".Query_Language.MetaQuery.db_name\", haskellPrefix' = [MName \"Database\",MName \"RethinkDB\",MName \"Internal\"], parentModule' = [MName \"Query_Language\",MName \"MetaQuery\"], baseName' = FName \"db_name\"}, fieldNumber = FieldId {getFieldId = 2}, wireTag = WireTag {getWireTag = 18}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 9}, typeName = Nothing, hsRawDefault = Nothing, hsDefault = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".Query_Language.MetaQuery.create_table\", haskellPrefix' = [MName \"Database\",MName \"RethinkDB\",MName \"Internal\"], parentModule' = [MName \"Query_Language\",MName \"MetaQuery\"], baseName' = FName \"create_table\"}, fieldNumber = FieldId {getFieldId = 3}, wireTag = WireTag {getWireTag = 26}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 11}, typeName = Just (ProtoName {protobufName = FIName \".Query_Language.MetaQuery.CreateTable\", haskellPrefix = [MName \"Database\",MName \"RethinkDB\",MName \"Internal\"], parentModule = [MName \"Query_Language\",MName \"MetaQuery\"], baseName = MName \"CreateTable\"}), hsRawDefault = Nothing, hsDefault = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".Query_Language.MetaQuery.drop_table\", haskellPrefix' = [MName \"Database\",MName \"RethinkDB\",MName \"Internal\"], parentModule' = [MName \"Query_Language\",MName \"MetaQuery\"], baseName' = FName \"drop_table\"}, fieldNumber = FieldId {getFieldId = 4}, wireTag = WireTag {getWireTag = 34}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 11}, typeName = Just (ProtoName {protobufName = FIName \".Query_Language.TableRef\", haskellPrefix = [MName \"Database\",MName \"RethinkDB\",MName \"Internal\"], parentModule = [MName \"Query_Language\"], baseName = MName \"TableRef\"}), hsRawDefault = Nothing, hsDefault = Nothing}], keys = fromList [], extRanges = [], knownKeys = fromList [], storeUnknown = False, lazyFields = False}"
− Database/RethinkDB/Internal/Query_Language/MetaQuery/CreateTable.hs
@@ -1,67 +0,0 @@-{-# LANGUAGE BangPatterns, DeriveDataTypeable, FlexibleInstances, MultiParamTypeClasses #-}-module Database.RethinkDB.Internal.Query_Language.MetaQuery.CreateTable (CreateTable(..)) where-import Prelude ((+), (/))-import qualified Prelude as Prelude'-import qualified Data.Typeable as Prelude'-import qualified Data.Data as Prelude'-import qualified Text.ProtocolBuffers.Header as P'-import qualified Database.RethinkDB.Internal.Query_Language.TableRef as Query_Language (TableRef)- -data CreateTable = CreateTable{datacenter :: !(P'.Maybe P'.Utf8), table_ref :: !Query_Language.TableRef,- primary_key :: !(P'.Maybe P'.Utf8), cache_size :: !(P'.Maybe P'.Int64)}- deriving (Prelude'.Show, Prelude'.Eq, Prelude'.Ord, Prelude'.Typeable, Prelude'.Data)- -instance P'.Mergeable CreateTable where- mergeAppend (CreateTable x'1 x'2 x'3 x'4) (CreateTable y'1 y'2 y'3 y'4)- = CreateTable (P'.mergeAppend x'1 y'1) (P'.mergeAppend x'2 y'2) (P'.mergeAppend x'3 y'3) (P'.mergeAppend x'4 y'4)- -instance P'.Default CreateTable where- defaultValue = CreateTable P'.defaultValue P'.defaultValue (Prelude'.Just (P'.Utf8 (P'.pack "id"))) (Prelude'.Just 1073741824)- -instance P'.Wire CreateTable where- wireSize ft' self'@(CreateTable x'1 x'2 x'3 x'4)- = case ft' of- 10 -> calc'Size- 11 -> P'.prependMessageSize calc'Size- _ -> P'.wireSizeErr ft' self'- where- calc'Size = (P'.wireSizeOpt 1 9 x'1 + P'.wireSizeReq 1 11 x'2 + P'.wireSizeOpt 1 9 x'3 + P'.wireSizeOpt 1 3 x'4)- wirePut ft' self'@(CreateTable x'1 x'2 x'3 x'4)- = case ft' of- 10 -> put'Fields- 11 -> do- P'.putSize (P'.wireSize 10 self')- put'Fields- _ -> P'.wirePutErr ft' self'- where- put'Fields- = do- P'.wirePutOpt 10 9 x'1- P'.wirePutReq 26 11 x'2- P'.wirePutOpt 34 9 x'3- P'.wirePutOpt 40 3 x'4- wireGet ft'- = case ft' of- 10 -> P'.getBareMessageWith update'Self- 11 -> P'.getMessageWith update'Self- _ -> P'.wireGetErr ft'- where- update'Self wire'Tag old'Self- = case wire'Tag of- 10 -> Prelude'.fmap (\ !new'Field -> old'Self{datacenter = Prelude'.Just new'Field}) (P'.wireGet 9)- 26 -> Prelude'.fmap (\ !new'Field -> old'Self{table_ref = P'.mergeAppend (table_ref old'Self) (new'Field)})- (P'.wireGet 11)- 34 -> Prelude'.fmap (\ !new'Field -> old'Self{primary_key = Prelude'.Just new'Field}) (P'.wireGet 9)- 40 -> Prelude'.fmap (\ !new'Field -> old'Self{cache_size = Prelude'.Just new'Field}) (P'.wireGet 3)- _ -> let (field'Number, wire'Type) = P'.splitWireTag wire'Tag in P'.unknown field'Number wire'Type old'Self- -instance P'.MessageAPI msg' (msg' -> CreateTable) CreateTable where- getVal m' f' = f' m'- -instance P'.GPB CreateTable- -instance P'.ReflectDescriptor CreateTable where- getMessageInfo _ = P'.GetMessageInfo (P'.fromDistinctAscList [26]) (P'.fromDistinctAscList [10, 26, 34, 40])- reflectDescriptorInfo _- = Prelude'.read- "DescriptorInfo {descName = ProtoName {protobufName = FIName \".Query_Language.MetaQuery.CreateTable\", haskellPrefix = [MName \"Database\",MName \"RethinkDB\",MName \"Internal\"], parentModule = [MName \"Query_Language\",MName \"MetaQuery\"], baseName = MName \"CreateTable\"}, descFilePath = [\"Database\",\"RethinkDB\",\"Internal\",\"Query_Language\",\"MetaQuery\",\"CreateTable.hs\"], isGroup = False, fields = fromList [FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".Query_Language.MetaQuery.CreateTable.datacenter\", haskellPrefix' = [MName \"Database\",MName \"RethinkDB\",MName \"Internal\"], parentModule' = [MName \"Query_Language\",MName \"MetaQuery\",MName \"CreateTable\"], baseName' = FName \"datacenter\"}, fieldNumber = FieldId {getFieldId = 1}, wireTag = WireTag {getWireTag = 10}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 9}, typeName = Nothing, hsRawDefault = Nothing, hsDefault = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".Query_Language.MetaQuery.CreateTable.table_ref\", haskellPrefix' = [MName \"Database\",MName \"RethinkDB\",MName \"Internal\"], parentModule' = [MName \"Query_Language\",MName \"MetaQuery\",MName \"CreateTable\"], baseName' = FName \"table_ref\"}, fieldNumber = FieldId {getFieldId = 3}, wireTag = WireTag {getWireTag = 26}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = True, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 11}, typeName = Just (ProtoName {protobufName = FIName \".Query_Language.TableRef\", haskellPrefix = [MName \"Database\",MName \"RethinkDB\",MName \"Internal\"], parentModule = [MName \"Query_Language\"], baseName = MName \"TableRef\"}), hsRawDefault = Nothing, hsDefault = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".Query_Language.MetaQuery.CreateTable.primary_key\", haskellPrefix' = [MName \"Database\",MName \"RethinkDB\",MName \"Internal\"], parentModule' = [MName \"Query_Language\",MName \"MetaQuery\",MName \"CreateTable\"], baseName' = FName \"primary_key\"}, fieldNumber = FieldId {getFieldId = 4}, wireTag = WireTag {getWireTag = 34}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 9}, typeName = Nothing, hsRawDefault = Just \"id\", hsDefault = Just (HsDef'ByteString \"id\")},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".Query_Language.MetaQuery.CreateTable.cache_size\", haskellPrefix' = [MName \"Database\",MName \"RethinkDB\",MName \"Internal\"], parentModule' = [MName \"Query_Language\",MName \"MetaQuery\",MName \"CreateTable\"], baseName' = FName \"cache_size\"}, fieldNumber = FieldId {getFieldId = 5}, wireTag = WireTag {getWireTag = 40}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 3}, typeName = Nothing, hsRawDefault = Just \"1073741824\", hsDefault = Just (HsDef'Integer 1073741824)}], keys = fromList [], extRanges = [], knownKeys = fromList [], storeUnknown = False, lazyFields = False}"
− Database/RethinkDB/Internal/Query_Language/MetaQuery/MetaQueryType.hs
@@ -1,87 +0,0 @@-{-# LANGUAGE BangPatterns, DeriveDataTypeable, FlexibleInstances, MultiParamTypeClasses #-}-module Database.RethinkDB.Internal.Query_Language.MetaQuery.MetaQueryType (MetaQueryType(..)) where-import Prelude ((+), (/), (.))-import qualified Prelude as Prelude'-import qualified Data.Typeable as Prelude'-import qualified Data.Data as Prelude'-import qualified Text.ProtocolBuffers.Header as P'- -data MetaQueryType = CREATE_DB- | DROP_DB- | LIST_DBS- | CREATE_TABLE- | DROP_TABLE- | LIST_TABLES- deriving (Prelude'.Read, Prelude'.Show, Prelude'.Eq, Prelude'.Ord, Prelude'.Typeable, Prelude'.Data)- -instance P'.Mergeable MetaQueryType- -instance Prelude'.Bounded MetaQueryType where- minBound = CREATE_DB- maxBound = LIST_TABLES- -instance P'.Default MetaQueryType where- defaultValue = CREATE_DB- -toMaybe'Enum :: Prelude'.Int -> P'.Maybe MetaQueryType-toMaybe'Enum 1 = Prelude'.Just CREATE_DB-toMaybe'Enum 2 = Prelude'.Just DROP_DB-toMaybe'Enum 3 = Prelude'.Just LIST_DBS-toMaybe'Enum 4 = Prelude'.Just CREATE_TABLE-toMaybe'Enum 5 = Prelude'.Just DROP_TABLE-toMaybe'Enum 6 = Prelude'.Just LIST_TABLES-toMaybe'Enum _ = Prelude'.Nothing- -instance Prelude'.Enum MetaQueryType where- fromEnum CREATE_DB = 1- fromEnum DROP_DB = 2- fromEnum LIST_DBS = 3- fromEnum CREATE_TABLE = 4- fromEnum DROP_TABLE = 5- fromEnum LIST_TABLES = 6- toEnum- = P'.fromMaybe- (Prelude'.error- "hprotoc generated code: toEnum failure for type Database.RethinkDB.Internal.Query_Language.MetaQuery.MetaQueryType")- . toMaybe'Enum- succ CREATE_DB = DROP_DB- succ DROP_DB = LIST_DBS- succ LIST_DBS = CREATE_TABLE- succ CREATE_TABLE = DROP_TABLE- succ DROP_TABLE = LIST_TABLES- succ _- = Prelude'.error- "hprotoc generated code: succ failure for type Database.RethinkDB.Internal.Query_Language.MetaQuery.MetaQueryType"- pred DROP_DB = CREATE_DB- pred LIST_DBS = DROP_DB- pred CREATE_TABLE = LIST_DBS- pred DROP_TABLE = CREATE_TABLE- pred LIST_TABLES = DROP_TABLE- pred _- = Prelude'.error- "hprotoc generated code: pred failure for type Database.RethinkDB.Internal.Query_Language.MetaQuery.MetaQueryType"- -instance P'.Wire MetaQueryType where- wireSize ft' enum = P'.wireSize ft' (Prelude'.fromEnum enum)- wirePut ft' enum = P'.wirePut ft' (Prelude'.fromEnum enum)- wireGet 14 = P'.wireGetEnum toMaybe'Enum- wireGet ft' = P'.wireGetErr ft'- wireGetPacked 14 = P'.wireGetPackedEnum toMaybe'Enum- wireGetPacked ft' = P'.wireGetErr ft'- -instance P'.GPB MetaQueryType- -instance P'.MessageAPI msg' (msg' -> MetaQueryType) MetaQueryType where- getVal m' f' = f' m'- -instance P'.ReflectEnum MetaQueryType where- reflectEnum- = [(1, "CREATE_DB", CREATE_DB), (2, "DROP_DB", DROP_DB), (3, "LIST_DBS", LIST_DBS), (4, "CREATE_TABLE", CREATE_TABLE),- (5, "DROP_TABLE", DROP_TABLE), (6, "LIST_TABLES", LIST_TABLES)]- reflectEnumInfo _- = P'.EnumInfo- (P'.makePNF (P'.pack ".Query_Language.MetaQuery.MetaQueryType") ["Database", "RethinkDB", "Internal"]- ["Query_Language", "MetaQuery"]- "MetaQueryType")- ["Database", "RethinkDB", "Internal", "Query_Language", "MetaQuery", "MetaQueryType.hs"]- [(1, "CREATE_DB"), (2, "DROP_DB"), (3, "LIST_DBS"), (4, "CREATE_TABLE"), (5, "DROP_TABLE"), (6, "LIST_TABLES")]
− Database/RethinkDB/Internal/Query_Language/Predicate.hs
@@ -1,60 +0,0 @@-{-# LANGUAGE BangPatterns, DeriveDataTypeable, FlexibleInstances, MultiParamTypeClasses #-}-module Database.RethinkDB.Internal.Query_Language.Predicate (Predicate(..)) where-import Prelude ((+), (/))-import qualified Prelude as Prelude'-import qualified Data.Typeable as Prelude'-import qualified Data.Data as Prelude'-import qualified Text.ProtocolBuffers.Header as P'-import {-# SOURCE #-} qualified Database.RethinkDB.Internal.Query_Language.Term as Query_Language (Term)- -data Predicate = Predicate{arg :: !P'.Utf8, body :: !Query_Language.Term}- deriving (Prelude'.Show, Prelude'.Eq, Prelude'.Ord, Prelude'.Typeable, Prelude'.Data)- -instance P'.Mergeable Predicate where- mergeAppend (Predicate x'1 x'2) (Predicate y'1 y'2) = Predicate (P'.mergeAppend x'1 y'1) (P'.mergeAppend x'2 y'2)- -instance P'.Default Predicate where- defaultValue = Predicate P'.defaultValue P'.defaultValue- -instance P'.Wire Predicate where- wireSize ft' self'@(Predicate x'1 x'2)- = case ft' of- 10 -> calc'Size- 11 -> P'.prependMessageSize calc'Size- _ -> P'.wireSizeErr ft' self'- where- calc'Size = (P'.wireSizeReq 1 9 x'1 + P'.wireSizeReq 1 11 x'2)- wirePut ft' self'@(Predicate x'1 x'2)- = case ft' of- 10 -> put'Fields- 11 -> do- P'.putSize (P'.wireSize 10 self')- put'Fields- _ -> P'.wirePutErr ft' self'- where- put'Fields- = do- P'.wirePutReq 10 9 x'1- P'.wirePutReq 18 11 x'2- wireGet ft'- = case ft' of- 10 -> P'.getBareMessageWith update'Self- 11 -> P'.getMessageWith update'Self- _ -> P'.wireGetErr ft'- where- update'Self wire'Tag old'Self- = case wire'Tag of- 10 -> Prelude'.fmap (\ !new'Field -> old'Self{arg = new'Field}) (P'.wireGet 9)- 18 -> Prelude'.fmap (\ !new'Field -> old'Self{body = P'.mergeAppend (body old'Self) (new'Field)}) (P'.wireGet 11)- _ -> let (field'Number, wire'Type) = P'.splitWireTag wire'Tag in P'.unknown field'Number wire'Type old'Self- -instance P'.MessageAPI msg' (msg' -> Predicate) Predicate where- getVal m' f' = f' m'- -instance P'.GPB Predicate- -instance P'.ReflectDescriptor Predicate where- getMessageInfo _ = P'.GetMessageInfo (P'.fromDistinctAscList [10, 18]) (P'.fromDistinctAscList [10, 18])- reflectDescriptorInfo _- = Prelude'.read- "DescriptorInfo {descName = ProtoName {protobufName = FIName \".Query_Language.Predicate\", haskellPrefix = [MName \"Database\",MName \"RethinkDB\",MName \"Internal\"], parentModule = [MName \"Query_Language\"], baseName = MName \"Predicate\"}, descFilePath = [\"Database\",\"RethinkDB\",\"Internal\",\"Query_Language\",\"Predicate.hs\"], isGroup = False, fields = fromList [FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".Query_Language.Predicate.arg\", haskellPrefix' = [MName \"Database\",MName \"RethinkDB\",MName \"Internal\"], parentModule' = [MName \"Query_Language\",MName \"Predicate\"], baseName' = FName \"arg\"}, fieldNumber = FieldId {getFieldId = 1}, wireTag = WireTag {getWireTag = 10}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = True, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 9}, typeName = Nothing, hsRawDefault = Nothing, hsDefault = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".Query_Language.Predicate.body\", haskellPrefix' = [MName \"Database\",MName \"RethinkDB\",MName \"Internal\"], parentModule' = [MName \"Query_Language\",MName \"Predicate\"], baseName' = FName \"body\"}, fieldNumber = FieldId {getFieldId = 2}, wireTag = WireTag {getWireTag = 18}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = True, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 11}, typeName = Just (ProtoName {protobufName = FIName \".Query_Language.Term\", haskellPrefix = [MName \"Database\",MName \"RethinkDB\",MName \"Internal\"], parentModule = [MName \"Query_Language\"], baseName = MName \"Term\"}), hsRawDefault = Nothing, hsDefault = Nothing}], keys = fromList [], extRanges = [], knownKeys = fromList [], storeUnknown = False, lazyFields = False}"
− Database/RethinkDB/Internal/Query_Language/Query.hs
@@ -1,80 +0,0 @@-{-# LANGUAGE BangPatterns, DeriveDataTypeable, FlexibleInstances, MultiParamTypeClasses #-}-module Database.RethinkDB.Internal.Query_Language.Query (Query(..)) where-import Prelude ((+), (/))-import qualified Prelude as Prelude'-import qualified Data.Typeable as Prelude'-import qualified Data.Data as Prelude'-import qualified Text.ProtocolBuffers.Header as P'-import qualified Database.RethinkDB.Internal.Query_Language.MetaQuery as Query_Language (MetaQuery)-import qualified Database.RethinkDB.Internal.Query_Language.Query.QueryType as Query_Language.Query (QueryType)-import qualified Database.RethinkDB.Internal.Query_Language.ReadQuery as Query_Language (ReadQuery)-import qualified Database.RethinkDB.Internal.Query_Language.WriteQuery as Query_Language (WriteQuery)- -data Query = Query{type' :: !Query_Language.Query.QueryType, token :: !P'.Int64, read_query :: !(P'.Maybe Query_Language.ReadQuery),- write_query :: !(P'.Maybe Query_Language.WriteQuery), meta_query :: !(P'.Maybe Query_Language.MetaQuery)}- deriving (Prelude'.Show, Prelude'.Eq, Prelude'.Ord, Prelude'.Typeable, Prelude'.Data)- -instance P'.Mergeable Query where- mergeAppend (Query x'1 x'2 x'3 x'4 x'5) (Query y'1 y'2 y'3 y'4 y'5)- = Query (P'.mergeAppend x'1 y'1) (P'.mergeAppend x'2 y'2) (P'.mergeAppend x'3 y'3) (P'.mergeAppend x'4 y'4)- (P'.mergeAppend x'5 y'5)- -instance P'.Default Query where- defaultValue = Query P'.defaultValue P'.defaultValue P'.defaultValue P'.defaultValue P'.defaultValue- -instance P'.Wire Query where- wireSize ft' self'@(Query x'1 x'2 x'3 x'4 x'5)- = case ft' of- 10 -> calc'Size- 11 -> P'.prependMessageSize calc'Size- _ -> P'.wireSizeErr ft' self'- where- calc'Size- = (P'.wireSizeReq 1 14 x'1 + P'.wireSizeReq 1 3 x'2 + P'.wireSizeOpt 1 11 x'3 + P'.wireSizeOpt 1 11 x'4 +- P'.wireSizeOpt 1 11 x'5)- wirePut ft' self'@(Query x'1 x'2 x'3 x'4 x'5)- = case ft' of- 10 -> put'Fields- 11 -> do- P'.putSize (P'.wireSize 10 self')- put'Fields- _ -> P'.wirePutErr ft' self'- where- put'Fields- = do- P'.wirePutReq 8 14 x'1- P'.wirePutReq 16 3 x'2- P'.wirePutOpt 26 11 x'3- P'.wirePutOpt 34 11 x'4- P'.wirePutOpt 42 11 x'5- wireGet ft'- = case ft' of- 10 -> P'.getBareMessageWith update'Self- 11 -> P'.getMessageWith update'Self- _ -> P'.wireGetErr ft'- where- update'Self wire'Tag old'Self- = case wire'Tag of- 8 -> Prelude'.fmap (\ !new'Field -> old'Self{type' = new'Field}) (P'.wireGet 14)- 16 -> Prelude'.fmap (\ !new'Field -> old'Self{token = new'Field}) (P'.wireGet 3)- 26 -> Prelude'.fmap- (\ !new'Field -> old'Self{read_query = P'.mergeAppend (read_query old'Self) (Prelude'.Just new'Field)})- (P'.wireGet 11)- 34 -> Prelude'.fmap- (\ !new'Field -> old'Self{write_query = P'.mergeAppend (write_query old'Self) (Prelude'.Just new'Field)})- (P'.wireGet 11)- 42 -> Prelude'.fmap- (\ !new'Field -> old'Self{meta_query = P'.mergeAppend (meta_query old'Self) (Prelude'.Just new'Field)})- (P'.wireGet 11)- _ -> let (field'Number, wire'Type) = P'.splitWireTag wire'Tag in P'.unknown field'Number wire'Type old'Self- -instance P'.MessageAPI msg' (msg' -> Query) Query where- getVal m' f' = f' m'- -instance P'.GPB Query- -instance P'.ReflectDescriptor Query where- getMessageInfo _ = P'.GetMessageInfo (P'.fromDistinctAscList [8, 16]) (P'.fromDistinctAscList [8, 16, 26, 34, 42])- reflectDescriptorInfo _- = Prelude'.read- "DescriptorInfo {descName = ProtoName {protobufName = FIName \".Query_Language.Query\", haskellPrefix = [MName \"Database\",MName \"RethinkDB\",MName \"Internal\"], parentModule = [MName \"Query_Language\"], baseName = MName \"Query\"}, descFilePath = [\"Database\",\"RethinkDB\",\"Internal\",\"Query_Language\",\"Query.hs\"], isGroup = False, fields = fromList [FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".Query_Language.Query.type\", haskellPrefix' = [MName \"Database\",MName \"RethinkDB\",MName \"Internal\"], parentModule' = [MName \"Query_Language\",MName \"Query\"], baseName' = FName \"type'\"}, fieldNumber = FieldId {getFieldId = 1}, wireTag = WireTag {getWireTag = 8}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = True, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 14}, typeName = Just (ProtoName {protobufName = FIName \".Query_Language.Query.QueryType\", haskellPrefix = [MName \"Database\",MName \"RethinkDB\",MName \"Internal\"], parentModule = [MName \"Query_Language\",MName \"Query\"], baseName = MName \"QueryType\"}), hsRawDefault = Nothing, hsDefault = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".Query_Language.Query.token\", haskellPrefix' = [MName \"Database\",MName \"RethinkDB\",MName \"Internal\"], parentModule' = [MName \"Query_Language\",MName \"Query\"], baseName' = FName \"token\"}, fieldNumber = FieldId {getFieldId = 2}, wireTag = WireTag {getWireTag = 16}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = True, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 3}, typeName = Nothing, hsRawDefault = Nothing, hsDefault = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".Query_Language.Query.read_query\", haskellPrefix' = [MName \"Database\",MName \"RethinkDB\",MName \"Internal\"], parentModule' = [MName \"Query_Language\",MName \"Query\"], baseName' = FName \"read_query\"}, fieldNumber = FieldId {getFieldId = 3}, wireTag = WireTag {getWireTag = 26}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 11}, typeName = Just (ProtoName {protobufName = FIName \".Query_Language.ReadQuery\", haskellPrefix = [MName \"Database\",MName \"RethinkDB\",MName \"Internal\"], parentModule = [MName \"Query_Language\"], baseName = MName \"ReadQuery\"}), hsRawDefault = Nothing, hsDefault = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".Query_Language.Query.write_query\", haskellPrefix' = [MName \"Database\",MName \"RethinkDB\",MName \"Internal\"], parentModule' = [MName \"Query_Language\",MName \"Query\"], baseName' = FName \"write_query\"}, fieldNumber = FieldId {getFieldId = 4}, wireTag = WireTag {getWireTag = 34}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 11}, typeName = Just (ProtoName {protobufName = FIName \".Query_Language.WriteQuery\", haskellPrefix = [MName \"Database\",MName \"RethinkDB\",MName \"Internal\"], parentModule = [MName \"Query_Language\"], baseName = MName \"WriteQuery\"}), hsRawDefault = Nothing, hsDefault = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".Query_Language.Query.meta_query\", haskellPrefix' = [MName \"Database\",MName \"RethinkDB\",MName \"Internal\"], parentModule' = [MName \"Query_Language\",MName \"Query\"], baseName' = FName \"meta_query\"}, fieldNumber = FieldId {getFieldId = 5}, wireTag = WireTag {getWireTag = 42}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 11}, typeName = Just (ProtoName {protobufName = FIName \".Query_Language.MetaQuery\", haskellPrefix = [MName \"Database\",MName \"RethinkDB\",MName \"Internal\"], parentModule = [MName \"Query_Language\"], baseName = MName \"MetaQuery\"}), hsRawDefault = Nothing, hsDefault = Nothing}], keys = fromList [], extRanges = [], knownKeys = fromList [], storeUnknown = False, lazyFields = False}"
− Database/RethinkDB/Internal/Query_Language/Query/QueryType.hs
@@ -1,74 +0,0 @@-{-# LANGUAGE BangPatterns, DeriveDataTypeable, FlexibleInstances, MultiParamTypeClasses #-}-module Database.RethinkDB.Internal.Query_Language.Query.QueryType (QueryType(..)) where-import Prelude ((+), (/), (.))-import qualified Prelude as Prelude'-import qualified Data.Typeable as Prelude'-import qualified Data.Data as Prelude'-import qualified Text.ProtocolBuffers.Header as P'- -data QueryType = READ- | WRITE- | CONTINUE- | STOP- | META- deriving (Prelude'.Read, Prelude'.Show, Prelude'.Eq, Prelude'.Ord, Prelude'.Typeable, Prelude'.Data)- -instance P'.Mergeable QueryType- -instance Prelude'.Bounded QueryType where- minBound = READ- maxBound = META- -instance P'.Default QueryType where- defaultValue = READ- -toMaybe'Enum :: Prelude'.Int -> P'.Maybe QueryType-toMaybe'Enum 1 = Prelude'.Just READ-toMaybe'Enum 2 = Prelude'.Just WRITE-toMaybe'Enum 3 = Prelude'.Just CONTINUE-toMaybe'Enum 4 = Prelude'.Just STOP-toMaybe'Enum 5 = Prelude'.Just META-toMaybe'Enum _ = Prelude'.Nothing- -instance Prelude'.Enum QueryType where- fromEnum READ = 1- fromEnum WRITE = 2- fromEnum CONTINUE = 3- fromEnum STOP = 4- fromEnum META = 5- toEnum- = P'.fromMaybe- (Prelude'.error "hprotoc generated code: toEnum failure for type Database.RethinkDB.Internal.Query_Language.Query.QueryType")- . toMaybe'Enum- succ READ = WRITE- succ WRITE = CONTINUE- succ CONTINUE = STOP- succ STOP = META- succ _ = Prelude'.error "hprotoc generated code: succ failure for type Database.RethinkDB.Internal.Query_Language.Query.QueryType"- pred WRITE = READ- pred CONTINUE = WRITE- pred STOP = CONTINUE- pred META = STOP- pred _ = Prelude'.error "hprotoc generated code: pred failure for type Database.RethinkDB.Internal.Query_Language.Query.QueryType"- -instance P'.Wire QueryType where- wireSize ft' enum = P'.wireSize ft' (Prelude'.fromEnum enum)- wirePut ft' enum = P'.wirePut ft' (Prelude'.fromEnum enum)- wireGet 14 = P'.wireGetEnum toMaybe'Enum- wireGet ft' = P'.wireGetErr ft'- wireGetPacked 14 = P'.wireGetPackedEnum toMaybe'Enum- wireGetPacked ft' = P'.wireGetErr ft'- -instance P'.GPB QueryType- -instance P'.MessageAPI msg' (msg' -> QueryType) QueryType where- getVal m' f' = f' m'- -instance P'.ReflectEnum QueryType where- reflectEnum = [(1, "READ", READ), (2, "WRITE", WRITE), (3, "CONTINUE", CONTINUE), (4, "STOP", STOP), (5, "META", META)]- reflectEnumInfo _- = P'.EnumInfo- (P'.makePNF (P'.pack ".Query_Language.Query.QueryType") ["Database", "RethinkDB", "Internal"] ["Query_Language", "Query"]- "QueryType")- ["Database", "RethinkDB", "Internal", "Query_Language", "Query", "QueryType.hs"]- [(1, "READ"), (2, "WRITE"), (3, "CONTINUE"), (4, "STOP"), (5, "META")]
− Database/RethinkDB/Internal/Query_Language/ReadQuery.hs
@@ -1,72 +0,0 @@-{-# LANGUAGE BangPatterns, DeriveDataTypeable, FlexibleInstances, MultiParamTypeClasses #-}-module Database.RethinkDB.Internal.Query_Language.ReadQuery (ReadQuery(..)) where-import Prelude ((+), (/), (==), (<=), (&&))-import qualified Prelude as Prelude'-import qualified Data.Typeable as Prelude'-import qualified Data.Data as Prelude'-import qualified Text.ProtocolBuffers.Header as P'-import qualified Database.RethinkDB.Internal.Query_Language.Term as Query_Language (Term)- -data ReadQuery = ReadQuery{term :: !Query_Language.Term, max_chunk_size :: !(P'.Maybe P'.Int64), max_age :: !(P'.Maybe P'.Int64),- ext'field :: !P'.ExtField}- deriving (Prelude'.Show, Prelude'.Eq, Prelude'.Ord, Prelude'.Typeable, Prelude'.Data)- -instance P'.ExtendMessage ReadQuery where- getExtField = ext'field- putExtField e'f msg = msg{ext'field = e'f}- validExtRanges msg = P'.extRanges (P'.reflectDescriptorInfo msg)- -instance P'.Mergeable ReadQuery where- mergeAppend (ReadQuery x'1 x'2 x'3 x'4) (ReadQuery y'1 y'2 y'3 y'4)- = ReadQuery (P'.mergeAppend x'1 y'1) (P'.mergeAppend x'2 y'2) (P'.mergeAppend x'3 y'3) (P'.mergeAppend x'4 y'4)- -instance P'.Default ReadQuery where- defaultValue = ReadQuery P'.defaultValue P'.defaultValue P'.defaultValue P'.defaultValue- -instance P'.Wire ReadQuery where- wireSize ft' self'@(ReadQuery x'1 x'2 x'3 x'4)- = case ft' of- 10 -> calc'Size- 11 -> P'.prependMessageSize calc'Size- _ -> P'.wireSizeErr ft' self'- where- calc'Size = (P'.wireSizeReq 1 11 x'1 + P'.wireSizeOpt 1 3 x'2 + P'.wireSizeOpt 1 3 x'3 + P'.wireSizeExtField x'4)- wirePut ft' self'@(ReadQuery x'1 x'2 x'3 x'4)- = case ft' of- 10 -> put'Fields- 11 -> do- P'.putSize (P'.wireSize 10 self')- put'Fields- _ -> P'.wirePutErr ft' self'- where- put'Fields- = do- P'.wirePutReq 10 11 x'1- P'.wirePutOpt 16 3 x'2- P'.wirePutOpt 24 3 x'3- P'.wirePutExtField x'4- wireGet ft'- = case ft' of- 10 -> P'.getBareMessageWith update'Self- 11 -> P'.getMessageWith update'Self- _ -> P'.wireGetErr ft'- where- update'Self wire'Tag old'Self- = case wire'Tag of- 10 -> Prelude'.fmap (\ !new'Field -> old'Self{term = P'.mergeAppend (term old'Self) (new'Field)}) (P'.wireGet 11)- 16 -> Prelude'.fmap (\ !new'Field -> old'Self{max_chunk_size = Prelude'.Just new'Field}) (P'.wireGet 3)- 24 -> Prelude'.fmap (\ !new'Field -> old'Self{max_age = Prelude'.Just new'Field}) (P'.wireGet 3)- _ -> let (field'Number, wire'Type) = P'.splitWireTag wire'Tag in- if Prelude'.or [1000 <= field'Number && field'Number <= 1099] then- P'.loadExtension field'Number wire'Type old'Self else P'.unknown field'Number wire'Type old'Self- -instance P'.MessageAPI msg' (msg' -> ReadQuery) ReadQuery where- getVal m' f' = f' m'- -instance P'.GPB ReadQuery- -instance P'.ReflectDescriptor ReadQuery where- getMessageInfo _ = P'.GetMessageInfo (P'.fromDistinctAscList [10]) (P'.fromDistinctAscList [10, 16, 24])- reflectDescriptorInfo _- = Prelude'.read- "DescriptorInfo {descName = ProtoName {protobufName = FIName \".Query_Language.ReadQuery\", haskellPrefix = [MName \"Database\",MName \"RethinkDB\",MName \"Internal\"], parentModule = [MName \"Query_Language\"], baseName = MName \"ReadQuery\"}, descFilePath = [\"Database\",\"RethinkDB\",\"Internal\",\"Query_Language\",\"ReadQuery.hs\"], isGroup = False, fields = fromList [FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".Query_Language.ReadQuery.term\", haskellPrefix' = [MName \"Database\",MName \"RethinkDB\",MName \"Internal\"], parentModule' = [MName \"Query_Language\",MName \"ReadQuery\"], baseName' = FName \"term\"}, fieldNumber = FieldId {getFieldId = 1}, wireTag = WireTag {getWireTag = 10}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = True, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 11}, typeName = Just (ProtoName {protobufName = FIName \".Query_Language.Term\", haskellPrefix = [MName \"Database\",MName \"RethinkDB\",MName \"Internal\"], parentModule = [MName \"Query_Language\"], baseName = MName \"Term\"}), hsRawDefault = Nothing, hsDefault = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".Query_Language.ReadQuery.max_chunk_size\", haskellPrefix' = [MName \"Database\",MName \"RethinkDB\",MName \"Internal\"], parentModule' = [MName \"Query_Language\",MName \"ReadQuery\"], baseName' = FName \"max_chunk_size\"}, fieldNumber = FieldId {getFieldId = 2}, wireTag = WireTag {getWireTag = 16}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 3}, typeName = Nothing, hsRawDefault = Nothing, hsDefault = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".Query_Language.ReadQuery.max_age\", haskellPrefix' = [MName \"Database\",MName \"RethinkDB\",MName \"Internal\"], parentModule' = [MName \"Query_Language\",MName \"ReadQuery\"], baseName' = FName \"max_age\"}, fieldNumber = FieldId {getFieldId = 3}, wireTag = WireTag {getWireTag = 24}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 3}, typeName = Nothing, hsRawDefault = Nothing, hsDefault = Nothing}], keys = fromList [], extRanges = [(FieldId {getFieldId = 1000},FieldId {getFieldId = 1099})], knownKeys = fromList [], storeUnknown = False, lazyFields = False}"
− Database/RethinkDB/Internal/Query_Language/Reduction.hs
@@ -1,65 +0,0 @@-{-# LANGUAGE BangPatterns, DeriveDataTypeable, FlexibleInstances, MultiParamTypeClasses #-}-module Database.RethinkDB.Internal.Query_Language.Reduction (Reduction(..)) where-import Prelude ((+), (/))-import qualified Prelude as Prelude'-import qualified Data.Typeable as Prelude'-import qualified Data.Data as Prelude'-import qualified Text.ProtocolBuffers.Header as P'-import {-# SOURCE #-} qualified Database.RethinkDB.Internal.Query_Language.Term as Query_Language (Term)- -data Reduction = Reduction{base :: !Query_Language.Term, var1 :: !P'.Utf8, var2 :: !P'.Utf8, body :: !Query_Language.Term}- deriving (Prelude'.Show, Prelude'.Eq, Prelude'.Ord, Prelude'.Typeable, Prelude'.Data)- -instance P'.Mergeable Reduction where- mergeAppend (Reduction x'1 x'2 x'3 x'4) (Reduction y'1 y'2 y'3 y'4)- = Reduction (P'.mergeAppend x'1 y'1) (P'.mergeAppend x'2 y'2) (P'.mergeAppend x'3 y'3) (P'.mergeAppend x'4 y'4)- -instance P'.Default Reduction where- defaultValue = Reduction P'.defaultValue P'.defaultValue P'.defaultValue P'.defaultValue- -instance P'.Wire Reduction where- wireSize ft' self'@(Reduction x'1 x'2 x'3 x'4)- = case ft' of- 10 -> calc'Size- 11 -> P'.prependMessageSize calc'Size- _ -> P'.wireSizeErr ft' self'- where- calc'Size = (P'.wireSizeReq 1 11 x'1 + P'.wireSizeReq 1 9 x'2 + P'.wireSizeReq 1 9 x'3 + P'.wireSizeReq 1 11 x'4)- wirePut ft' self'@(Reduction x'1 x'2 x'3 x'4)- = case ft' of- 10 -> put'Fields- 11 -> do- P'.putSize (P'.wireSize 10 self')- put'Fields- _ -> P'.wirePutErr ft' self'- where- put'Fields- = do- P'.wirePutReq 10 11 x'1- P'.wirePutReq 18 9 x'2- P'.wirePutReq 26 9 x'3- P'.wirePutReq 34 11 x'4- wireGet ft'- = case ft' of- 10 -> P'.getBareMessageWith update'Self- 11 -> P'.getMessageWith update'Self- _ -> P'.wireGetErr ft'- where- update'Self wire'Tag old'Self- = case wire'Tag of- 10 -> Prelude'.fmap (\ !new'Field -> old'Self{base = P'.mergeAppend (base old'Self) (new'Field)}) (P'.wireGet 11)- 18 -> Prelude'.fmap (\ !new'Field -> old'Self{var1 = new'Field}) (P'.wireGet 9)- 26 -> Prelude'.fmap (\ !new'Field -> old'Self{var2 = new'Field}) (P'.wireGet 9)- 34 -> Prelude'.fmap (\ !new'Field -> old'Self{body = P'.mergeAppend (body old'Self) (new'Field)}) (P'.wireGet 11)- _ -> let (field'Number, wire'Type) = P'.splitWireTag wire'Tag in P'.unknown field'Number wire'Type old'Self- -instance P'.MessageAPI msg' (msg' -> Reduction) Reduction where- getVal m' f' = f' m'- -instance P'.GPB Reduction- -instance P'.ReflectDescriptor Reduction where- getMessageInfo _ = P'.GetMessageInfo (P'.fromDistinctAscList [10, 18, 26, 34]) (P'.fromDistinctAscList [10, 18, 26, 34])- reflectDescriptorInfo _- = Prelude'.read- "DescriptorInfo {descName = ProtoName {protobufName = FIName \".Query_Language.Reduction\", haskellPrefix = [MName \"Database\",MName \"RethinkDB\",MName \"Internal\"], parentModule = [MName \"Query_Language\"], baseName = MName \"Reduction\"}, descFilePath = [\"Database\",\"RethinkDB\",\"Internal\",\"Query_Language\",\"Reduction.hs\"], isGroup = False, fields = fromList [FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".Query_Language.Reduction.base\", haskellPrefix' = [MName \"Database\",MName \"RethinkDB\",MName \"Internal\"], parentModule' = [MName \"Query_Language\",MName \"Reduction\"], baseName' = FName \"base\"}, fieldNumber = FieldId {getFieldId = 1}, wireTag = WireTag {getWireTag = 10}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = True, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 11}, typeName = Just (ProtoName {protobufName = FIName \".Query_Language.Term\", haskellPrefix = [MName \"Database\",MName \"RethinkDB\",MName \"Internal\"], parentModule = [MName \"Query_Language\"], baseName = MName \"Term\"}), hsRawDefault = Nothing, hsDefault = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".Query_Language.Reduction.var1\", haskellPrefix' = [MName \"Database\",MName \"RethinkDB\",MName \"Internal\"], parentModule' = [MName \"Query_Language\",MName \"Reduction\"], baseName' = FName \"var1\"}, fieldNumber = FieldId {getFieldId = 2}, wireTag = WireTag {getWireTag = 18}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = True, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 9}, typeName = Nothing, hsRawDefault = Nothing, hsDefault = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".Query_Language.Reduction.var2\", haskellPrefix' = [MName \"Database\",MName \"RethinkDB\",MName \"Internal\"], parentModule' = [MName \"Query_Language\",MName \"Reduction\"], baseName' = FName \"var2\"}, fieldNumber = FieldId {getFieldId = 3}, wireTag = WireTag {getWireTag = 26}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = True, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 9}, typeName = Nothing, hsRawDefault = Nothing, hsDefault = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".Query_Language.Reduction.body\", haskellPrefix' = [MName \"Database\",MName \"RethinkDB\",MName \"Internal\"], parentModule' = [MName \"Query_Language\",MName \"Reduction\"], baseName' = FName \"body\"}, fieldNumber = FieldId {getFieldId = 4}, wireTag = WireTag {getWireTag = 34}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = True, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 11}, typeName = Just (ProtoName {protobufName = FIName \".Query_Language.Term\", haskellPrefix = [MName \"Database\",MName \"RethinkDB\",MName \"Internal\"], parentModule = [MName \"Query_Language\"], baseName = MName \"Term\"}), hsRawDefault = Nothing, hsDefault = Nothing}], keys = fromList [], extRanges = [], knownKeys = fromList [], storeUnknown = False, lazyFields = False}"
− Database/RethinkDB/Internal/Query_Language/Response.hs
@@ -1,74 +0,0 @@-{-# LANGUAGE BangPatterns, DeriveDataTypeable, FlexibleInstances, MultiParamTypeClasses #-}-module Database.RethinkDB.Internal.Query_Language.Response (Response(..)) where-import Prelude ((+), (/))-import qualified Prelude as Prelude'-import qualified Data.Typeable as Prelude'-import qualified Data.Data as Prelude'-import qualified Text.ProtocolBuffers.Header as P'-import qualified Database.RethinkDB.Internal.Query_Language.Response.Backtrace as Query_Language.Response (Backtrace)-import qualified Database.RethinkDB.Internal.Query_Language.Response.StatusCode as Query_Language.Response (StatusCode)- -data Response = Response{status_code :: !Query_Language.Response.StatusCode, token :: !P'.Int64, response :: !(P'.Seq P'.Utf8),- error_message :: !(P'.Maybe P'.Utf8), backtrace :: !(P'.Maybe Query_Language.Response.Backtrace)}- deriving (Prelude'.Show, Prelude'.Eq, Prelude'.Ord, Prelude'.Typeable, Prelude'.Data)- -instance P'.Mergeable Response where- mergeAppend (Response x'1 x'2 x'3 x'4 x'5) (Response y'1 y'2 y'3 y'4 y'5)- = Response (P'.mergeAppend x'1 y'1) (P'.mergeAppend x'2 y'2) (P'.mergeAppend x'3 y'3) (P'.mergeAppend x'4 y'4)- (P'.mergeAppend x'5 y'5)- -instance P'.Default Response where- defaultValue = Response P'.defaultValue P'.defaultValue P'.defaultValue P'.defaultValue P'.defaultValue- -instance P'.Wire Response where- wireSize ft' self'@(Response x'1 x'2 x'3 x'4 x'5)- = case ft' of- 10 -> calc'Size- 11 -> P'.prependMessageSize calc'Size- _ -> P'.wireSizeErr ft' self'- where- calc'Size- = (P'.wireSizeReq 1 14 x'1 + P'.wireSizeReq 1 3 x'2 + P'.wireSizeRep 1 9 x'3 + P'.wireSizeOpt 1 9 x'4 +- P'.wireSizeOpt 1 11 x'5)- wirePut ft' self'@(Response x'1 x'2 x'3 x'4 x'5)- = case ft' of- 10 -> put'Fields- 11 -> do- P'.putSize (P'.wireSize 10 self')- put'Fields- _ -> P'.wirePutErr ft' self'- where- put'Fields- = do- P'.wirePutReq 8 14 x'1- P'.wirePutReq 16 3 x'2- P'.wirePutRep 26 9 x'3- P'.wirePutOpt 34 9 x'4- P'.wirePutOpt 42 11 x'5- wireGet ft'- = case ft' of- 10 -> P'.getBareMessageWith update'Self- 11 -> P'.getMessageWith update'Self- _ -> P'.wireGetErr ft'- where- update'Self wire'Tag old'Self- = case wire'Tag of- 8 -> Prelude'.fmap (\ !new'Field -> old'Self{status_code = new'Field}) (P'.wireGet 14)- 16 -> Prelude'.fmap (\ !new'Field -> old'Self{token = new'Field}) (P'.wireGet 3)- 26 -> Prelude'.fmap (\ !new'Field -> old'Self{response = P'.append (response old'Self) new'Field}) (P'.wireGet 9)- 34 -> Prelude'.fmap (\ !new'Field -> old'Self{error_message = Prelude'.Just new'Field}) (P'.wireGet 9)- 42 -> Prelude'.fmap- (\ !new'Field -> old'Self{backtrace = P'.mergeAppend (backtrace old'Self) (Prelude'.Just new'Field)})- (P'.wireGet 11)- _ -> let (field'Number, wire'Type) = P'.splitWireTag wire'Tag in P'.unknown field'Number wire'Type old'Self- -instance P'.MessageAPI msg' (msg' -> Response) Response where- getVal m' f' = f' m'- -instance P'.GPB Response- -instance P'.ReflectDescriptor Response where- getMessageInfo _ = P'.GetMessageInfo (P'.fromDistinctAscList [8, 16]) (P'.fromDistinctAscList [8, 16, 26, 34, 42])- reflectDescriptorInfo _- = Prelude'.read- "DescriptorInfo {descName = ProtoName {protobufName = FIName \".Query_Language.Response\", haskellPrefix = [MName \"Database\",MName \"RethinkDB\",MName \"Internal\"], parentModule = [MName \"Query_Language\"], baseName = MName \"Response\"}, descFilePath = [\"Database\",\"RethinkDB\",\"Internal\",\"Query_Language\",\"Response.hs\"], isGroup = False, fields = fromList [FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".Query_Language.Response.status_code\", haskellPrefix' = [MName \"Database\",MName \"RethinkDB\",MName \"Internal\"], parentModule' = [MName \"Query_Language\",MName \"Response\"], baseName' = FName \"status_code\"}, fieldNumber = FieldId {getFieldId = 1}, wireTag = WireTag {getWireTag = 8}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = True, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 14}, typeName = Just (ProtoName {protobufName = FIName \".Query_Language.Response.StatusCode\", haskellPrefix = [MName \"Database\",MName \"RethinkDB\",MName \"Internal\"], parentModule = [MName \"Query_Language\",MName \"Response\"], baseName = MName \"StatusCode\"}), hsRawDefault = Nothing, hsDefault = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".Query_Language.Response.token\", haskellPrefix' = [MName \"Database\",MName \"RethinkDB\",MName \"Internal\"], parentModule' = [MName \"Query_Language\",MName \"Response\"], baseName' = FName \"token\"}, fieldNumber = FieldId {getFieldId = 2}, wireTag = WireTag {getWireTag = 16}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = True, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 3}, typeName = Nothing, hsRawDefault = Nothing, hsDefault = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".Query_Language.Response.response\", haskellPrefix' = [MName \"Database\",MName \"RethinkDB\",MName \"Internal\"], parentModule' = [MName \"Query_Language\",MName \"Response\"], baseName' = FName \"response\"}, fieldNumber = FieldId {getFieldId = 3}, wireTag = WireTag {getWireTag = 26}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = True, mightPack = False, typeCode = FieldType {getFieldType = 9}, typeName = Nothing, hsRawDefault = Nothing, hsDefault = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".Query_Language.Response.error_message\", haskellPrefix' = [MName \"Database\",MName \"RethinkDB\",MName \"Internal\"], parentModule' = [MName \"Query_Language\",MName \"Response\"], baseName' = FName \"error_message\"}, fieldNumber = FieldId {getFieldId = 4}, wireTag = WireTag {getWireTag = 34}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 9}, typeName = Nothing, hsRawDefault = Nothing, hsDefault = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".Query_Language.Response.backtrace\", haskellPrefix' = [MName \"Database\",MName \"RethinkDB\",MName \"Internal\"], parentModule' = [MName \"Query_Language\",MName \"Response\"], baseName' = FName \"backtrace\"}, fieldNumber = FieldId {getFieldId = 5}, wireTag = WireTag {getWireTag = 42}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 11}, typeName = Just (ProtoName {protobufName = FIName \".Query_Language.Response.Backtrace\", haskellPrefix = [MName \"Database\",MName \"RethinkDB\",MName \"Internal\"], parentModule = [MName \"Query_Language\",MName \"Response\"], baseName = MName \"Backtrace\"}), hsRawDefault = Nothing, hsDefault = Nothing}], keys = fromList [], extRanges = [], knownKeys = fromList [], storeUnknown = False, lazyFields = False}"
− Database/RethinkDB/Internal/Query_Language/Response/Backtrace.hs
@@ -1,57 +0,0 @@-{-# LANGUAGE BangPatterns, DeriveDataTypeable, FlexibleInstances, MultiParamTypeClasses #-}-module Database.RethinkDB.Internal.Query_Language.Response.Backtrace (Backtrace(..)) where-import Prelude ((+), (/))-import qualified Prelude as Prelude'-import qualified Data.Typeable as Prelude'-import qualified Data.Data as Prelude'-import qualified Text.ProtocolBuffers.Header as P'- -data Backtrace = Backtrace{frame :: !(P'.Seq P'.Utf8)}- deriving (Prelude'.Show, Prelude'.Eq, Prelude'.Ord, Prelude'.Typeable, Prelude'.Data)- -instance P'.Mergeable Backtrace where- mergeAppend (Backtrace x'1) (Backtrace y'1) = Backtrace (P'.mergeAppend x'1 y'1)- -instance P'.Default Backtrace where- defaultValue = Backtrace P'.defaultValue- -instance P'.Wire Backtrace where- wireSize ft' self'@(Backtrace x'1)- = case ft' of- 10 -> calc'Size- 11 -> P'.prependMessageSize calc'Size- _ -> P'.wireSizeErr ft' self'- where- calc'Size = (P'.wireSizeRep 1 9 x'1)- wirePut ft' self'@(Backtrace x'1)- = case ft' of- 10 -> put'Fields- 11 -> do- P'.putSize (P'.wireSize 10 self')- put'Fields- _ -> P'.wirePutErr ft' self'- where- put'Fields- = do- P'.wirePutRep 10 9 x'1- wireGet ft'- = case ft' of- 10 -> P'.getBareMessageWith update'Self- 11 -> P'.getMessageWith update'Self- _ -> P'.wireGetErr ft'- where- update'Self wire'Tag old'Self- = case wire'Tag of- 10 -> Prelude'.fmap (\ !new'Field -> old'Self{frame = P'.append (frame old'Self) new'Field}) (P'.wireGet 9)- _ -> let (field'Number, wire'Type) = P'.splitWireTag wire'Tag in P'.unknown field'Number wire'Type old'Self- -instance P'.MessageAPI msg' (msg' -> Backtrace) Backtrace where- getVal m' f' = f' m'- -instance P'.GPB Backtrace- -instance P'.ReflectDescriptor Backtrace where- getMessageInfo _ = P'.GetMessageInfo (P'.fromDistinctAscList []) (P'.fromDistinctAscList [10])- reflectDescriptorInfo _- = Prelude'.read- "DescriptorInfo {descName = ProtoName {protobufName = FIName \".Query_Language.Response.Backtrace\", haskellPrefix = [MName \"Database\",MName \"RethinkDB\",MName \"Internal\"], parentModule = [MName \"Query_Language\",MName \"Response\"], baseName = MName \"Backtrace\"}, descFilePath = [\"Database\",\"RethinkDB\",\"Internal\",\"Query_Language\",\"Response\",\"Backtrace.hs\"], isGroup = False, fields = fromList [FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".Query_Language.Response.Backtrace.frame\", haskellPrefix' = [MName \"Database\",MName \"RethinkDB\",MName \"Internal\"], parentModule' = [MName \"Query_Language\",MName \"Response\",MName \"Backtrace\"], baseName' = FName \"frame\"}, fieldNumber = FieldId {getFieldId = 1}, wireTag = WireTag {getWireTag = 10}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = True, mightPack = False, typeCode = FieldType {getFieldType = 9}, typeName = Nothing, hsRawDefault = Nothing, hsDefault = Nothing}], keys = fromList [], extRanges = [], knownKeys = fromList [], storeUnknown = False, lazyFields = False}"
− Database/RethinkDB/Internal/Query_Language/Response/StatusCode.hs
@@ -1,92 +0,0 @@-{-# LANGUAGE BangPatterns, DeriveDataTypeable, FlexibleInstances, MultiParamTypeClasses #-}-module Database.RethinkDB.Internal.Query_Language.Response.StatusCode (StatusCode(..)) where-import Prelude ((+), (/), (.))-import qualified Prelude as Prelude'-import qualified Data.Typeable as Prelude'-import qualified Data.Data as Prelude'-import qualified Text.ProtocolBuffers.Header as P'- -data StatusCode = SUCCESS_EMPTY- | SUCCESS_JSON- | SUCCESS_PARTIAL- | SUCCESS_STREAM- | BROKEN_CLIENT- | BAD_QUERY- | RUNTIME_ERROR- deriving (Prelude'.Read, Prelude'.Show, Prelude'.Eq, Prelude'.Ord, Prelude'.Typeable, Prelude'.Data)- -instance P'.Mergeable StatusCode- -instance Prelude'.Bounded StatusCode where- minBound = SUCCESS_EMPTY- maxBound = RUNTIME_ERROR- -instance P'.Default StatusCode where- defaultValue = SUCCESS_EMPTY- -toMaybe'Enum :: Prelude'.Int -> P'.Maybe StatusCode-toMaybe'Enum 0 = Prelude'.Just SUCCESS_EMPTY-toMaybe'Enum 1 = Prelude'.Just SUCCESS_JSON-toMaybe'Enum 2 = Prelude'.Just SUCCESS_PARTIAL-toMaybe'Enum 3 = Prelude'.Just SUCCESS_STREAM-toMaybe'Enum 101 = Prelude'.Just BROKEN_CLIENT-toMaybe'Enum 102 = Prelude'.Just BAD_QUERY-toMaybe'Enum 103 = Prelude'.Just RUNTIME_ERROR-toMaybe'Enum _ = Prelude'.Nothing- -instance Prelude'.Enum StatusCode where- fromEnum SUCCESS_EMPTY = 0- fromEnum SUCCESS_JSON = 1- fromEnum SUCCESS_PARTIAL = 2- fromEnum SUCCESS_STREAM = 3- fromEnum BROKEN_CLIENT = 101- fromEnum BAD_QUERY = 102- fromEnum RUNTIME_ERROR = 103- toEnum- = P'.fromMaybe- (Prelude'.error- "hprotoc generated code: toEnum failure for type Database.RethinkDB.Internal.Query_Language.Response.StatusCode")- . toMaybe'Enum- succ SUCCESS_EMPTY = SUCCESS_JSON- succ SUCCESS_JSON = SUCCESS_PARTIAL- succ SUCCESS_PARTIAL = SUCCESS_STREAM- succ SUCCESS_STREAM = BROKEN_CLIENT- succ BROKEN_CLIENT = BAD_QUERY- succ BAD_QUERY = RUNTIME_ERROR- succ _- = Prelude'.error "hprotoc generated code: succ failure for type Database.RethinkDB.Internal.Query_Language.Response.StatusCode"- pred SUCCESS_JSON = SUCCESS_EMPTY- pred SUCCESS_PARTIAL = SUCCESS_JSON- pred SUCCESS_STREAM = SUCCESS_PARTIAL- pred BROKEN_CLIENT = SUCCESS_STREAM- pred BAD_QUERY = BROKEN_CLIENT- pred RUNTIME_ERROR = BAD_QUERY- pred _- = Prelude'.error "hprotoc generated code: pred failure for type Database.RethinkDB.Internal.Query_Language.Response.StatusCode"- -instance P'.Wire StatusCode where- wireSize ft' enum = P'.wireSize ft' (Prelude'.fromEnum enum)- wirePut ft' enum = P'.wirePut ft' (Prelude'.fromEnum enum)- wireGet 14 = P'.wireGetEnum toMaybe'Enum- wireGet ft' = P'.wireGetErr ft'- wireGetPacked 14 = P'.wireGetPackedEnum toMaybe'Enum- wireGetPacked ft' = P'.wireGetErr ft'- -instance P'.GPB StatusCode- -instance P'.MessageAPI msg' (msg' -> StatusCode) StatusCode where- getVal m' f' = f' m'- -instance P'.ReflectEnum StatusCode where- reflectEnum- = [(0, "SUCCESS_EMPTY", SUCCESS_EMPTY), (1, "SUCCESS_JSON", SUCCESS_JSON), (2, "SUCCESS_PARTIAL", SUCCESS_PARTIAL),- (3, "SUCCESS_STREAM", SUCCESS_STREAM), (101, "BROKEN_CLIENT", BROKEN_CLIENT), (102, "BAD_QUERY", BAD_QUERY),- (103, "RUNTIME_ERROR", RUNTIME_ERROR)]- reflectEnumInfo _- = P'.EnumInfo- (P'.makePNF (P'.pack ".Query_Language.Response.StatusCode") ["Database", "RethinkDB", "Internal"]- ["Query_Language", "Response"]- "StatusCode")- ["Database", "RethinkDB", "Internal", "Query_Language", "Response", "StatusCode.hs"]- [(0, "SUCCESS_EMPTY"), (1, "SUCCESS_JSON"), (2, "SUCCESS_PARTIAL"), (3, "SUCCESS_STREAM"), (101, "BROKEN_CLIENT"),- (102, "BAD_QUERY"), (103, "RUNTIME_ERROR")]
− Database/RethinkDB/Internal/Query_Language/TableRef.hs
@@ -1,62 +0,0 @@-{-# LANGUAGE BangPatterns, DeriveDataTypeable, FlexibleInstances, MultiParamTypeClasses #-}-module Database.RethinkDB.Internal.Query_Language.TableRef (TableRef(..)) where-import Prelude ((+), (/))-import qualified Prelude as Prelude'-import qualified Data.Typeable as Prelude'-import qualified Data.Data as Prelude'-import qualified Text.ProtocolBuffers.Header as P'- -data TableRef = TableRef{db_name :: !P'.Utf8, table_name :: !P'.Utf8, use_outdated :: !(P'.Maybe P'.Bool)}- deriving (Prelude'.Show, Prelude'.Eq, Prelude'.Ord, Prelude'.Typeable, Prelude'.Data)- -instance P'.Mergeable TableRef where- mergeAppend (TableRef x'1 x'2 x'3) (TableRef y'1 y'2 y'3)- = TableRef (P'.mergeAppend x'1 y'1) (P'.mergeAppend x'2 y'2) (P'.mergeAppend x'3 y'3)- -instance P'.Default TableRef where- defaultValue = TableRef P'.defaultValue P'.defaultValue (Prelude'.Just Prelude'.False)- -instance P'.Wire TableRef where- wireSize ft' self'@(TableRef x'1 x'2 x'3)- = case ft' of- 10 -> calc'Size- 11 -> P'.prependMessageSize calc'Size- _ -> P'.wireSizeErr ft' self'- where- calc'Size = (P'.wireSizeReq 1 9 x'1 + P'.wireSizeReq 1 9 x'2 + P'.wireSizeOpt 1 8 x'3)- wirePut ft' self'@(TableRef x'1 x'2 x'3)- = case ft' of- 10 -> put'Fields- 11 -> do- P'.putSize (P'.wireSize 10 self')- put'Fields- _ -> P'.wirePutErr ft' self'- where- put'Fields- = do- P'.wirePutReq 10 9 x'1- P'.wirePutReq 18 9 x'2- P'.wirePutOpt 24 8 x'3- wireGet ft'- = case ft' of- 10 -> P'.getBareMessageWith update'Self- 11 -> P'.getMessageWith update'Self- _ -> P'.wireGetErr ft'- where- update'Self wire'Tag old'Self- = case wire'Tag of- 10 -> Prelude'.fmap (\ !new'Field -> old'Self{db_name = new'Field}) (P'.wireGet 9)- 18 -> Prelude'.fmap (\ !new'Field -> old'Self{table_name = new'Field}) (P'.wireGet 9)- 24 -> Prelude'.fmap (\ !new'Field -> old'Self{use_outdated = Prelude'.Just new'Field}) (P'.wireGet 8)- _ -> let (field'Number, wire'Type) = P'.splitWireTag wire'Tag in P'.unknown field'Number wire'Type old'Self- -instance P'.MessageAPI msg' (msg' -> TableRef) TableRef where- getVal m' f' = f' m'- -instance P'.GPB TableRef- -instance P'.ReflectDescriptor TableRef where- getMessageInfo _ = P'.GetMessageInfo (P'.fromDistinctAscList [10, 18]) (P'.fromDistinctAscList [10, 18, 24])- reflectDescriptorInfo _- = Prelude'.read- "DescriptorInfo {descName = ProtoName {protobufName = FIName \".Query_Language.TableRef\", haskellPrefix = [MName \"Database\",MName \"RethinkDB\",MName \"Internal\"], parentModule = [MName \"Query_Language\"], baseName = MName \"TableRef\"}, descFilePath = [\"Database\",\"RethinkDB\",\"Internal\",\"Query_Language\",\"TableRef.hs\"], isGroup = False, fields = fromList [FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".Query_Language.TableRef.db_name\", haskellPrefix' = [MName \"Database\",MName \"RethinkDB\",MName \"Internal\"], parentModule' = [MName \"Query_Language\",MName \"TableRef\"], baseName' = FName \"db_name\"}, fieldNumber = FieldId {getFieldId = 1}, wireTag = WireTag {getWireTag = 10}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = True, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 9}, typeName = Nothing, hsRawDefault = Nothing, hsDefault = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".Query_Language.TableRef.table_name\", haskellPrefix' = [MName \"Database\",MName \"RethinkDB\",MName \"Internal\"], parentModule' = [MName \"Query_Language\",MName \"TableRef\"], baseName' = FName \"table_name\"}, fieldNumber = FieldId {getFieldId = 2}, wireTag = WireTag {getWireTag = 18}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = True, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 9}, typeName = Nothing, hsRawDefault = Nothing, hsDefault = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".Query_Language.TableRef.use_outdated\", haskellPrefix' = [MName \"Database\",MName \"RethinkDB\",MName \"Internal\"], parentModule' = [MName \"Query_Language\",MName \"TableRef\"], baseName' = FName \"use_outdated\"}, fieldNumber = FieldId {getFieldId = 3}, wireTag = WireTag {getWireTag = 24}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 8}, typeName = Nothing, hsRawDefault = Just \"false\", hsDefault = Just (HsDef'Bool False)}], keys = fromList [], extRanges = [], knownKeys = fromList [], storeUnknown = False, lazyFields = False}"
− Database/RethinkDB/Internal/Query_Language/Term.hs
@@ -1,150 +0,0 @@-{-# LANGUAGE BangPatterns, DeriveDataTypeable, FlexibleInstances, MultiParamTypeClasses #-}-module Database.RethinkDB.Internal.Query_Language.Term (Term(..)) where-import Prelude ((+), (/), (==), (<=), (&&))-import qualified Prelude as Prelude'-import qualified Data.Typeable as Prelude'-import qualified Data.Data as Prelude'-import qualified Text.ProtocolBuffers.Header as P'-import qualified Database.RethinkDB.Internal.Query_Language.Term.Call as Query_Language.Term (Call)-import qualified Database.RethinkDB.Internal.Query_Language.Term.GetByKey as Query_Language.Term (GetByKey)-import qualified Database.RethinkDB.Internal.Query_Language.Term.If as Query_Language.Term (If)-import qualified Database.RethinkDB.Internal.Query_Language.Term.Let as Query_Language.Term (Let)-import qualified Database.RethinkDB.Internal.Query_Language.Term.Table as Query_Language.Term (Table)-import qualified Database.RethinkDB.Internal.Query_Language.Term.TermType as Query_Language.Term (TermType)-import qualified Database.RethinkDB.Internal.Query_Language.VarTermTuple as Query_Language (VarTermTuple)- -data Term = Term{type' :: !Query_Language.Term.TermType, var :: !(P'.Maybe P'.Utf8), let' :: !(P'.Maybe Query_Language.Term.Let),- call :: !(P'.Maybe Query_Language.Term.Call), if_ :: !(P'.Maybe Query_Language.Term.If),- error :: !(P'.Maybe P'.Utf8), number :: !(P'.Maybe P'.Double), valuestring :: !(P'.Maybe P'.Utf8),- jsonstring :: !(P'.Maybe P'.Utf8), valuebool :: !(P'.Maybe P'.Bool), array :: !(P'.Seq Term),- object :: !(P'.Seq Query_Language.VarTermTuple), get_by_key :: !(P'.Maybe Query_Language.Term.GetByKey),- table :: !(P'.Maybe Query_Language.Term.Table), javascript :: !(P'.Maybe P'.Utf8), ext'field :: !P'.ExtField}- deriving (Prelude'.Show, Prelude'.Eq, Prelude'.Ord, Prelude'.Typeable, Prelude'.Data)- -instance P'.ExtendMessage Term where- getExtField = ext'field- putExtField e'f msg = msg{ext'field = e'f}- validExtRanges msg = P'.extRanges (P'.reflectDescriptorInfo msg)- -instance P'.Mergeable Term where- mergeAppend (Term x'1 x'2 x'3 x'4 x'5 x'6 x'7 x'8 x'9 x'10 x'11 x'12 x'13 x'14 x'15 x'16)- (Term y'1 y'2 y'3 y'4 y'5 y'6 y'7 y'8 y'9 y'10 y'11 y'12 y'13 y'14 y'15 y'16)- = Term (P'.mergeAppend x'1 y'1) (P'.mergeAppend x'2 y'2) (P'.mergeAppend x'3 y'3) (P'.mergeAppend x'4 y'4)- (P'.mergeAppend x'5 y'5)- (P'.mergeAppend x'6 y'6)- (P'.mergeAppend x'7 y'7)- (P'.mergeAppend x'8 y'8)- (P'.mergeAppend x'9 y'9)- (P'.mergeAppend x'10 y'10)- (P'.mergeAppend x'11 y'11)- (P'.mergeAppend x'12 y'12)- (P'.mergeAppend x'13 y'13)- (P'.mergeAppend x'14 y'14)- (P'.mergeAppend x'15 y'15)- (P'.mergeAppend x'16 y'16)- -instance P'.Default Term where- defaultValue- = Term P'.defaultValue P'.defaultValue P'.defaultValue P'.defaultValue P'.defaultValue P'.defaultValue P'.defaultValue- P'.defaultValue- P'.defaultValue- P'.defaultValue- P'.defaultValue- P'.defaultValue- P'.defaultValue- P'.defaultValue- P'.defaultValue- P'.defaultValue- -instance P'.Wire Term where- wireSize ft' self'@(Term x'1 x'2 x'3 x'4 x'5 x'6 x'7 x'8 x'9 x'10 x'11 x'12 x'13 x'14 x'15 x'16)- = case ft' of- 10 -> calc'Size- 11 -> P'.prependMessageSize calc'Size- _ -> P'.wireSizeErr ft' self'- where- calc'Size- = (P'.wireSizeReq 1 14 x'1 + P'.wireSizeOpt 1 9 x'2 + P'.wireSizeOpt 1 11 x'3 + P'.wireSizeOpt 1 11 x'4 +- P'.wireSizeOpt 1 11 x'5- + P'.wireSizeOpt 1 9 x'6- + P'.wireSizeOpt 1 1 x'7- + P'.wireSizeOpt 1 9 x'8- + P'.wireSizeOpt 1 9 x'9- + P'.wireSizeOpt 1 8 x'10- + P'.wireSizeRep 1 11 x'11- + P'.wireSizeRep 1 11 x'12- + P'.wireSizeOpt 1 11 x'13- + P'.wireSizeOpt 1 11 x'14- + P'.wireSizeOpt 2 9 x'15- + P'.wireSizeExtField x'16)- wirePut ft' self'@(Term x'1 x'2 x'3 x'4 x'5 x'6 x'7 x'8 x'9 x'10 x'11 x'12 x'13 x'14 x'15 x'16)- = case ft' of- 10 -> put'Fields- 11 -> do- P'.putSize (P'.wireSize 10 self')- put'Fields- _ -> P'.wirePutErr ft' self'- where- put'Fields- = do- P'.wirePutReq 8 14 x'1- P'.wirePutOpt 18 9 x'2- P'.wirePutOpt 26 11 x'3- P'.wirePutOpt 34 11 x'4- P'.wirePutOpt 42 11 x'5- P'.wirePutOpt 50 9 x'6- P'.wirePutOpt 57 1 x'7- P'.wirePutOpt 66 9 x'8- P'.wirePutOpt 74 9 x'9- P'.wirePutOpt 80 8 x'10- P'.wirePutRep 90 11 x'11- P'.wirePutRep 98 11 x'12- P'.wirePutOpt 114 11 x'13- P'.wirePutOpt 122 11 x'14- P'.wirePutOpt 130 9 x'15- P'.wirePutExtField x'16- wireGet ft'- = case ft' of- 10 -> P'.getBareMessageWith update'Self- 11 -> P'.getMessageWith update'Self- _ -> P'.wireGetErr ft'- where- update'Self wire'Tag old'Self- = case wire'Tag of- 8 -> Prelude'.fmap (\ !new'Field -> old'Self{type' = new'Field}) (P'.wireGet 14)- 18 -> Prelude'.fmap (\ !new'Field -> old'Self{var = Prelude'.Just new'Field}) (P'.wireGet 9)- 26 -> Prelude'.fmap (\ !new'Field -> old'Self{let' = P'.mergeAppend (let' old'Self) (Prelude'.Just new'Field)})- (P'.wireGet 11)- 34 -> Prelude'.fmap (\ !new'Field -> old'Self{call = P'.mergeAppend (call old'Self) (Prelude'.Just new'Field)})- (P'.wireGet 11)- 42 -> Prelude'.fmap (\ !new'Field -> old'Self{if_ = P'.mergeAppend (if_ old'Self) (Prelude'.Just new'Field)})- (P'.wireGet 11)- 50 -> Prelude'.fmap (\ !new'Field -> old'Self{error = Prelude'.Just new'Field}) (P'.wireGet 9)- 57 -> Prelude'.fmap (\ !new'Field -> old'Self{number = Prelude'.Just new'Field}) (P'.wireGet 1)- 66 -> Prelude'.fmap (\ !new'Field -> old'Self{valuestring = Prelude'.Just new'Field}) (P'.wireGet 9)- 74 -> Prelude'.fmap (\ !new'Field -> old'Self{jsonstring = Prelude'.Just new'Field}) (P'.wireGet 9)- 80 -> Prelude'.fmap (\ !new'Field -> old'Self{valuebool = Prelude'.Just new'Field}) (P'.wireGet 8)- 90 -> Prelude'.fmap (\ !new'Field -> old'Self{array = P'.append (array old'Self) new'Field}) (P'.wireGet 11)- 98 -> Prelude'.fmap (\ !new'Field -> old'Self{object = P'.append (object old'Self) new'Field}) (P'.wireGet 11)- 114 -> Prelude'.fmap- (\ !new'Field -> old'Self{get_by_key = P'.mergeAppend (get_by_key old'Self) (Prelude'.Just new'Field)})- (P'.wireGet 11)- 122 -> Prelude'.fmap (\ !new'Field -> old'Self{table = P'.mergeAppend (table old'Self) (Prelude'.Just new'Field)})- (P'.wireGet 11)- 130 -> Prelude'.fmap (\ !new'Field -> old'Self{javascript = Prelude'.Just new'Field}) (P'.wireGet 9)- _ -> let (field'Number, wire'Type) = P'.splitWireTag wire'Tag in- if Prelude'.or [1000 <= field'Number && field'Number <= 1099] then- P'.loadExtension field'Number wire'Type old'Self else P'.unknown field'Number wire'Type old'Self- -instance P'.MessageAPI msg' (msg' -> Term) Term where- getVal m' f' = f' m'- -instance P'.GPB Term- -instance P'.ReflectDescriptor Term where- getMessageInfo _- = P'.GetMessageInfo (P'.fromDistinctAscList [8])- (P'.fromDistinctAscList [8, 18, 26, 34, 42, 50, 57, 66, 74, 80, 90, 98, 114, 122, 130])- reflectDescriptorInfo _- = Prelude'.read- "DescriptorInfo {descName = ProtoName {protobufName = FIName \".Query_Language.Term\", haskellPrefix = [MName \"Database\",MName \"RethinkDB\",MName \"Internal\"], parentModule = [MName \"Query_Language\"], baseName = MName \"Term\"}, descFilePath = [\"Database\",\"RethinkDB\",\"Internal\",\"Query_Language\",\"Term.hs\"], isGroup = False, fields = fromList [FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".Query_Language.Term.type\", haskellPrefix' = [MName \"Database\",MName \"RethinkDB\",MName \"Internal\"], parentModule' = [MName \"Query_Language\",MName \"Term\"], baseName' = FName \"type'\"}, fieldNumber = FieldId {getFieldId = 1}, wireTag = WireTag {getWireTag = 8}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = True, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 14}, typeName = Just (ProtoName {protobufName = FIName \".Query_Language.Term.TermType\", haskellPrefix = [MName \"Database\",MName \"RethinkDB\",MName \"Internal\"], parentModule = [MName \"Query_Language\",MName \"Term\"], baseName = MName \"TermType\"}), hsRawDefault = Nothing, hsDefault = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".Query_Language.Term.var\", haskellPrefix' = [MName \"Database\",MName \"RethinkDB\",MName \"Internal\"], parentModule' = [MName \"Query_Language\",MName \"Term\"], baseName' = FName \"var\"}, fieldNumber = FieldId {getFieldId = 2}, wireTag = WireTag {getWireTag = 18}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 9}, typeName = Nothing, hsRawDefault = Nothing, hsDefault = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".Query_Language.Term.let\", haskellPrefix' = [MName \"Database\",MName \"RethinkDB\",MName \"Internal\"], parentModule' = [MName \"Query_Language\",MName \"Term\"], baseName' = FName \"let'\"}, fieldNumber = FieldId {getFieldId = 3}, wireTag = WireTag {getWireTag = 26}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 11}, typeName = Just (ProtoName {protobufName = FIName \".Query_Language.Term.Let\", haskellPrefix = [MName \"Database\",MName \"RethinkDB\",MName \"Internal\"], parentModule = [MName \"Query_Language\",MName \"Term\"], baseName = MName \"Let\"}), hsRawDefault = Nothing, hsDefault = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".Query_Language.Term.call\", haskellPrefix' = [MName \"Database\",MName \"RethinkDB\",MName \"Internal\"], parentModule' = [MName \"Query_Language\",MName \"Term\"], baseName' = FName \"call\"}, fieldNumber = FieldId {getFieldId = 4}, wireTag = WireTag {getWireTag = 34}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 11}, typeName = Just (ProtoName {protobufName = FIName \".Query_Language.Term.Call\", haskellPrefix = [MName \"Database\",MName \"RethinkDB\",MName \"Internal\"], parentModule = [MName \"Query_Language\",MName \"Term\"], baseName = MName \"Call\"}), hsRawDefault = Nothing, hsDefault = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".Query_Language.Term.if_\", haskellPrefix' = [MName \"Database\",MName \"RethinkDB\",MName \"Internal\"], parentModule' = [MName \"Query_Language\",MName \"Term\"], baseName' = FName \"if_\"}, fieldNumber = FieldId {getFieldId = 5}, wireTag = WireTag {getWireTag = 42}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 11}, typeName = Just (ProtoName {protobufName = FIName \".Query_Language.Term.If\", haskellPrefix = [MName \"Database\",MName \"RethinkDB\",MName \"Internal\"], parentModule = [MName \"Query_Language\",MName \"Term\"], baseName = MName \"If\"}), hsRawDefault = Nothing, hsDefault = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".Query_Language.Term.error\", haskellPrefix' = [MName \"Database\",MName \"RethinkDB\",MName \"Internal\"], parentModule' = [MName \"Query_Language\",MName \"Term\"], baseName' = FName \"error\"}, fieldNumber = FieldId {getFieldId = 6}, wireTag = WireTag {getWireTag = 50}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 9}, typeName = Nothing, hsRawDefault = Nothing, hsDefault = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".Query_Language.Term.number\", haskellPrefix' = [MName \"Database\",MName \"RethinkDB\",MName \"Internal\"], parentModule' = [MName \"Query_Language\",MName \"Term\"], baseName' = FName \"number\"}, fieldNumber = FieldId {getFieldId = 7}, wireTag = WireTag {getWireTag = 57}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 1}, typeName = Nothing, hsRawDefault = Nothing, hsDefault = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".Query_Language.Term.valuestring\", haskellPrefix' = [MName \"Database\",MName \"RethinkDB\",MName \"Internal\"], parentModule' = [MName \"Query_Language\",MName \"Term\"], baseName' = FName \"valuestring\"}, fieldNumber = FieldId {getFieldId = 8}, wireTag = WireTag {getWireTag = 66}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 9}, typeName = Nothing, hsRawDefault = Nothing, hsDefault = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".Query_Language.Term.jsonstring\", haskellPrefix' = [MName \"Database\",MName \"RethinkDB\",MName \"Internal\"], parentModule' = [MName \"Query_Language\",MName \"Term\"], baseName' = FName \"jsonstring\"}, fieldNumber = FieldId {getFieldId = 9}, wireTag = WireTag {getWireTag = 74}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 9}, typeName = Nothing, hsRawDefault = Nothing, hsDefault = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".Query_Language.Term.valuebool\", haskellPrefix' = [MName \"Database\",MName \"RethinkDB\",MName \"Internal\"], parentModule' = [MName \"Query_Language\",MName \"Term\"], baseName' = FName \"valuebool\"}, fieldNumber = FieldId {getFieldId = 10}, wireTag = WireTag {getWireTag = 80}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 8}, typeName = Nothing, hsRawDefault = Nothing, hsDefault = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".Query_Language.Term.array\", haskellPrefix' = [MName \"Database\",MName \"RethinkDB\",MName \"Internal\"], parentModule' = [MName \"Query_Language\",MName \"Term\"], baseName' = FName \"array\"}, fieldNumber = FieldId {getFieldId = 11}, wireTag = WireTag {getWireTag = 90}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = True, mightPack = False, typeCode = FieldType {getFieldType = 11}, typeName = Just (ProtoName {protobufName = FIName \".Query_Language.Term\", haskellPrefix = [MName \"Database\",MName \"RethinkDB\",MName \"Internal\"], parentModule = [MName \"Query_Language\"], baseName = MName \"Term\"}), hsRawDefault = Nothing, hsDefault = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".Query_Language.Term.object\", haskellPrefix' = [MName \"Database\",MName \"RethinkDB\",MName \"Internal\"], parentModule' = [MName \"Query_Language\",MName \"Term\"], baseName' = FName \"object\"}, fieldNumber = FieldId {getFieldId = 12}, wireTag = WireTag {getWireTag = 98}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = True, mightPack = False, typeCode = FieldType {getFieldType = 11}, typeName = Just (ProtoName {protobufName = FIName \".Query_Language.VarTermTuple\", haskellPrefix = [MName \"Database\",MName \"RethinkDB\",MName \"Internal\"], parentModule = [MName \"Query_Language\"], baseName = MName \"VarTermTuple\"}), hsRawDefault = Nothing, hsDefault = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".Query_Language.Term.get_by_key\", haskellPrefix' = [MName \"Database\",MName \"RethinkDB\",MName \"Internal\"], parentModule' = [MName \"Query_Language\",MName \"Term\"], baseName' = FName \"get_by_key\"}, fieldNumber = FieldId {getFieldId = 14}, wireTag = WireTag {getWireTag = 114}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 11}, typeName = Just (ProtoName {protobufName = FIName \".Query_Language.Term.GetByKey\", haskellPrefix = [MName \"Database\",MName \"RethinkDB\",MName \"Internal\"], parentModule = [MName \"Query_Language\",MName \"Term\"], baseName = MName \"GetByKey\"}), hsRawDefault = Nothing, hsDefault = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".Query_Language.Term.table\", haskellPrefix' = [MName \"Database\",MName \"RethinkDB\",MName \"Internal\"], parentModule' = [MName \"Query_Language\",MName \"Term\"], baseName' = FName \"table\"}, fieldNumber = FieldId {getFieldId = 15}, wireTag = WireTag {getWireTag = 122}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 11}, typeName = Just (ProtoName {protobufName = FIName \".Query_Language.Term.Table\", haskellPrefix = [MName \"Database\",MName \"RethinkDB\",MName \"Internal\"], parentModule = [MName \"Query_Language\",MName \"Term\"], baseName = MName \"Table\"}), hsRawDefault = Nothing, hsDefault = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".Query_Language.Term.javascript\", haskellPrefix' = [MName \"Database\",MName \"RethinkDB\",MName \"Internal\"], parentModule' = [MName \"Query_Language\",MName \"Term\"], baseName' = FName \"javascript\"}, fieldNumber = FieldId {getFieldId = 16}, wireTag = WireTag {getWireTag = 130}, packedTag = Nothing, wireTagLength = 2, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 9}, typeName = Nothing, hsRawDefault = Nothing, hsDefault = Nothing}], keys = fromList [], extRanges = [(FieldId {getFieldId = 1000},FieldId {getFieldId = 1099})], knownKeys = fromList [], storeUnknown = False, lazyFields = False}"
− Database/RethinkDB/Internal/Query_Language/Term.hs-boot
@@ -1,32 +0,0 @@-{-# LANGUAGE BangPatterns, DeriveDataTypeable, FlexibleInstances, MultiParamTypeClasses #-}-module Database.RethinkDB.Internal.Query_Language.Term (Term) where-import qualified Prelude as Prelude'-import qualified Data.Typeable as Prelude'-import qualified Data.Data as Prelude'-import qualified Text.ProtocolBuffers.Header as P'- -data Term- -instance P'.MessageAPI msg' (msg' -> Term) Term- -instance Prelude'.Show Term- -instance Prelude'.Eq Term- -instance Prelude'.Ord Term- -instance Prelude'.Typeable Term- -instance Prelude'.Data Term- -instance P'.Mergeable Term- -instance P'.Default Term- -instance P'.Wire Term- -instance P'.GPB Term- -instance P'.ReflectDescriptor Term- -instance P'.ExtendMessage Term
− Database/RethinkDB/Internal/Query_Language/Term/Call.hs
@@ -1,61 +0,0 @@-{-# LANGUAGE BangPatterns, DeriveDataTypeable, FlexibleInstances, MultiParamTypeClasses #-}-module Database.RethinkDB.Internal.Query_Language.Term.Call (Call(..)) where-import Prelude ((+), (/))-import qualified Prelude as Prelude'-import qualified Data.Typeable as Prelude'-import qualified Data.Data as Prelude'-import qualified Text.ProtocolBuffers.Header as P'-import qualified Database.RethinkDB.Internal.Query_Language.Builtin as Query_Language (Builtin)-import {-# SOURCE #-} qualified Database.RethinkDB.Internal.Query_Language.Term as Query_Language (Term)- -data Call = Call{builtin :: !Query_Language.Builtin, args :: !(P'.Seq Query_Language.Term)}- deriving (Prelude'.Show, Prelude'.Eq, Prelude'.Ord, Prelude'.Typeable, Prelude'.Data)- -instance P'.Mergeable Call where- mergeAppend (Call x'1 x'2) (Call y'1 y'2) = Call (P'.mergeAppend x'1 y'1) (P'.mergeAppend x'2 y'2)- -instance P'.Default Call where- defaultValue = Call P'.defaultValue P'.defaultValue- -instance P'.Wire Call where- wireSize ft' self'@(Call x'1 x'2)- = case ft' of- 10 -> calc'Size- 11 -> P'.prependMessageSize calc'Size- _ -> P'.wireSizeErr ft' self'- where- calc'Size = (P'.wireSizeReq 1 11 x'1 + P'.wireSizeRep 1 11 x'2)- wirePut ft' self'@(Call x'1 x'2)- = case ft' of- 10 -> put'Fields- 11 -> do- P'.putSize (P'.wireSize 10 self')- put'Fields- _ -> P'.wirePutErr ft' self'- where- put'Fields- = do- P'.wirePutReq 10 11 x'1- P'.wirePutRep 18 11 x'2- wireGet ft'- = case ft' of- 10 -> P'.getBareMessageWith update'Self- 11 -> P'.getMessageWith update'Self- _ -> P'.wireGetErr ft'- where- update'Self wire'Tag old'Self- = case wire'Tag of- 10 -> Prelude'.fmap (\ !new'Field -> old'Self{builtin = P'.mergeAppend (builtin old'Self) (new'Field)}) (P'.wireGet 11)- 18 -> Prelude'.fmap (\ !new'Field -> old'Self{args = P'.append (args old'Self) new'Field}) (P'.wireGet 11)- _ -> let (field'Number, wire'Type) = P'.splitWireTag wire'Tag in P'.unknown field'Number wire'Type old'Self- -instance P'.MessageAPI msg' (msg' -> Call) Call where- getVal m' f' = f' m'- -instance P'.GPB Call- -instance P'.ReflectDescriptor Call where- getMessageInfo _ = P'.GetMessageInfo (P'.fromDistinctAscList [10]) (P'.fromDistinctAscList [10, 18])- reflectDescriptorInfo _- = Prelude'.read- "DescriptorInfo {descName = ProtoName {protobufName = FIName \".Query_Language.Term.Call\", haskellPrefix = [MName \"Database\",MName \"RethinkDB\",MName \"Internal\"], parentModule = [MName \"Query_Language\",MName \"Term\"], baseName = MName \"Call\"}, descFilePath = [\"Database\",\"RethinkDB\",\"Internal\",\"Query_Language\",\"Term\",\"Call.hs\"], isGroup = False, fields = fromList [FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".Query_Language.Term.Call.builtin\", haskellPrefix' = [MName \"Database\",MName \"RethinkDB\",MName \"Internal\"], parentModule' = [MName \"Query_Language\",MName \"Term\",MName \"Call\"], baseName' = FName \"builtin\"}, fieldNumber = FieldId {getFieldId = 1}, wireTag = WireTag {getWireTag = 10}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = True, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 11}, typeName = Just (ProtoName {protobufName = FIName \".Query_Language.Builtin\", haskellPrefix = [MName \"Database\",MName \"RethinkDB\",MName \"Internal\"], parentModule = [MName \"Query_Language\"], baseName = MName \"Builtin\"}), hsRawDefault = Nothing, hsDefault = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".Query_Language.Term.Call.args\", haskellPrefix' = [MName \"Database\",MName \"RethinkDB\",MName \"Internal\"], parentModule' = [MName \"Query_Language\",MName \"Term\",MName \"Call\"], baseName' = FName \"args\"}, fieldNumber = FieldId {getFieldId = 2}, wireTag = WireTag {getWireTag = 18}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = True, mightPack = False, typeCode = FieldType {getFieldType = 11}, typeName = Just (ProtoName {protobufName = FIName \".Query_Language.Term\", haskellPrefix = [MName \"Database\",MName \"RethinkDB\",MName \"Internal\"], parentModule = [MName \"Query_Language\"], baseName = MName \"Term\"}), hsRawDefault = Nothing, hsDefault = Nothing}], keys = fromList [], extRanges = [], knownKeys = fromList [], storeUnknown = False, lazyFields = False}"
− Database/RethinkDB/Internal/Query_Language/Term/GetByKey.hs
@@ -1,65 +0,0 @@-{-# LANGUAGE BangPatterns, DeriveDataTypeable, FlexibleInstances, MultiParamTypeClasses #-}-module Database.RethinkDB.Internal.Query_Language.Term.GetByKey (GetByKey(..)) where-import Prelude ((+), (/))-import qualified Prelude as Prelude'-import qualified Data.Typeable as Prelude'-import qualified Data.Data as Prelude'-import qualified Text.ProtocolBuffers.Header as P'-import qualified Database.RethinkDB.Internal.Query_Language.TableRef as Query_Language (TableRef)-import {-# SOURCE #-} qualified Database.RethinkDB.Internal.Query_Language.Term as Query_Language (Term)- -data GetByKey = GetByKey{table_ref :: !Query_Language.TableRef, attrname :: !P'.Utf8, key :: !Query_Language.Term}- deriving (Prelude'.Show, Prelude'.Eq, Prelude'.Ord, Prelude'.Typeable, Prelude'.Data)- -instance P'.Mergeable GetByKey where- mergeAppend (GetByKey x'1 x'2 x'3) (GetByKey y'1 y'2 y'3)- = GetByKey (P'.mergeAppend x'1 y'1) (P'.mergeAppend x'2 y'2) (P'.mergeAppend x'3 y'3)- -instance P'.Default GetByKey where- defaultValue = GetByKey P'.defaultValue P'.defaultValue P'.defaultValue- -instance P'.Wire GetByKey where- wireSize ft' self'@(GetByKey x'1 x'2 x'3)- = case ft' of- 10 -> calc'Size- 11 -> P'.prependMessageSize calc'Size- _ -> P'.wireSizeErr ft' self'- where- calc'Size = (P'.wireSizeReq 1 11 x'1 + P'.wireSizeReq 1 9 x'2 + P'.wireSizeReq 1 11 x'3)- wirePut ft' self'@(GetByKey x'1 x'2 x'3)- = case ft' of- 10 -> put'Fields- 11 -> do- P'.putSize (P'.wireSize 10 self')- put'Fields- _ -> P'.wirePutErr ft' self'- where- put'Fields- = do- P'.wirePutReq 10 11 x'1- P'.wirePutReq 18 9 x'2- P'.wirePutReq 26 11 x'3- wireGet ft'- = case ft' of- 10 -> P'.getBareMessageWith update'Self- 11 -> P'.getMessageWith update'Self- _ -> P'.wireGetErr ft'- where- update'Self wire'Tag old'Self- = case wire'Tag of- 10 -> Prelude'.fmap (\ !new'Field -> old'Self{table_ref = P'.mergeAppend (table_ref old'Self) (new'Field)})- (P'.wireGet 11)- 18 -> Prelude'.fmap (\ !new'Field -> old'Self{attrname = new'Field}) (P'.wireGet 9)- 26 -> Prelude'.fmap (\ !new'Field -> old'Self{key = P'.mergeAppend (key old'Self) (new'Field)}) (P'.wireGet 11)- _ -> let (field'Number, wire'Type) = P'.splitWireTag wire'Tag in P'.unknown field'Number wire'Type old'Self- -instance P'.MessageAPI msg' (msg' -> GetByKey) GetByKey where- getVal m' f' = f' m'- -instance P'.GPB GetByKey- -instance P'.ReflectDescriptor GetByKey where- getMessageInfo _ = P'.GetMessageInfo (P'.fromDistinctAscList [10, 18, 26]) (P'.fromDistinctAscList [10, 18, 26])- reflectDescriptorInfo _- = Prelude'.read- "DescriptorInfo {descName = ProtoName {protobufName = FIName \".Query_Language.Term.GetByKey\", haskellPrefix = [MName \"Database\",MName \"RethinkDB\",MName \"Internal\"], parentModule = [MName \"Query_Language\",MName \"Term\"], baseName = MName \"GetByKey\"}, descFilePath = [\"Database\",\"RethinkDB\",\"Internal\",\"Query_Language\",\"Term\",\"GetByKey.hs\"], isGroup = False, fields = fromList [FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".Query_Language.Term.GetByKey.table_ref\", haskellPrefix' = [MName \"Database\",MName \"RethinkDB\",MName \"Internal\"], parentModule' = [MName \"Query_Language\",MName \"Term\",MName \"GetByKey\"], baseName' = FName \"table_ref\"}, fieldNumber = FieldId {getFieldId = 1}, wireTag = WireTag {getWireTag = 10}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = True, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 11}, typeName = Just (ProtoName {protobufName = FIName \".Query_Language.TableRef\", haskellPrefix = [MName \"Database\",MName \"RethinkDB\",MName \"Internal\"], parentModule = [MName \"Query_Language\"], baseName = MName \"TableRef\"}), hsRawDefault = Nothing, hsDefault = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".Query_Language.Term.GetByKey.attrname\", haskellPrefix' = [MName \"Database\",MName \"RethinkDB\",MName \"Internal\"], parentModule' = [MName \"Query_Language\",MName \"Term\",MName \"GetByKey\"], baseName' = FName \"attrname\"}, fieldNumber = FieldId {getFieldId = 2}, wireTag = WireTag {getWireTag = 18}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = True, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 9}, typeName = Nothing, hsRawDefault = Nothing, hsDefault = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".Query_Language.Term.GetByKey.key\", haskellPrefix' = [MName \"Database\",MName \"RethinkDB\",MName \"Internal\"], parentModule' = [MName \"Query_Language\",MName \"Term\",MName \"GetByKey\"], baseName' = FName \"key\"}, fieldNumber = FieldId {getFieldId = 3}, wireTag = WireTag {getWireTag = 26}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = True, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 11}, typeName = Just (ProtoName {protobufName = FIName \".Query_Language.Term\", haskellPrefix = [MName \"Database\",MName \"RethinkDB\",MName \"Internal\"], parentModule = [MName \"Query_Language\"], baseName = MName \"Term\"}), hsRawDefault = Nothing, hsDefault = Nothing}], keys = fromList [], extRanges = [], knownKeys = fromList [], storeUnknown = False, lazyFields = False}"
− Database/RethinkDB/Internal/Query_Language/Term/If.hs
@@ -1,64 +0,0 @@-{-# LANGUAGE BangPatterns, DeriveDataTypeable, FlexibleInstances, MultiParamTypeClasses #-}-module Database.RethinkDB.Internal.Query_Language.Term.If (If(..)) where-import Prelude ((+), (/))-import qualified Prelude as Prelude'-import qualified Data.Typeable as Prelude'-import qualified Data.Data as Prelude'-import qualified Text.ProtocolBuffers.Header as P'-import {-# SOURCE #-} qualified Database.RethinkDB.Internal.Query_Language.Term as Query_Language (Term)- -data If = If{test :: !Query_Language.Term, true_branch :: !Query_Language.Term, false_branch :: !Query_Language.Term}- deriving (Prelude'.Show, Prelude'.Eq, Prelude'.Ord, Prelude'.Typeable, Prelude'.Data)- -instance P'.Mergeable If where- mergeAppend (If x'1 x'2 x'3) (If y'1 y'2 y'3) = If (P'.mergeAppend x'1 y'1) (P'.mergeAppend x'2 y'2) (P'.mergeAppend x'3 y'3)- -instance P'.Default If where- defaultValue = If P'.defaultValue P'.defaultValue P'.defaultValue- -instance P'.Wire If where- wireSize ft' self'@(If x'1 x'2 x'3)- = case ft' of- 10 -> calc'Size- 11 -> P'.prependMessageSize calc'Size- _ -> P'.wireSizeErr ft' self'- where- calc'Size = (P'.wireSizeReq 1 11 x'1 + P'.wireSizeReq 1 11 x'2 + P'.wireSizeReq 1 11 x'3)- wirePut ft' self'@(If x'1 x'2 x'3)- = case ft' of- 10 -> put'Fields- 11 -> do- P'.putSize (P'.wireSize 10 self')- put'Fields- _ -> P'.wirePutErr ft' self'- where- put'Fields- = do- P'.wirePutReq 10 11 x'1- P'.wirePutReq 18 11 x'2- P'.wirePutReq 26 11 x'3- wireGet ft'- = case ft' of- 10 -> P'.getBareMessageWith update'Self- 11 -> P'.getMessageWith update'Self- _ -> P'.wireGetErr ft'- where- update'Self wire'Tag old'Self- = case wire'Tag of- 10 -> Prelude'.fmap (\ !new'Field -> old'Self{test = P'.mergeAppend (test old'Self) (new'Field)}) (P'.wireGet 11)- 18 -> Prelude'.fmap (\ !new'Field -> old'Self{true_branch = P'.mergeAppend (true_branch old'Self) (new'Field)})- (P'.wireGet 11)- 26 -> Prelude'.fmap (\ !new'Field -> old'Self{false_branch = P'.mergeAppend (false_branch old'Self) (new'Field)})- (P'.wireGet 11)- _ -> let (field'Number, wire'Type) = P'.splitWireTag wire'Tag in P'.unknown field'Number wire'Type old'Self- -instance P'.MessageAPI msg' (msg' -> If) If where- getVal m' f' = f' m'- -instance P'.GPB If- -instance P'.ReflectDescriptor If where- getMessageInfo _ = P'.GetMessageInfo (P'.fromDistinctAscList [10, 18, 26]) (P'.fromDistinctAscList [10, 18, 26])- reflectDescriptorInfo _- = Prelude'.read- "DescriptorInfo {descName = ProtoName {protobufName = FIName \".Query_Language.Term.If\", haskellPrefix = [MName \"Database\",MName \"RethinkDB\",MName \"Internal\"], parentModule = [MName \"Query_Language\",MName \"Term\"], baseName = MName \"If\"}, descFilePath = [\"Database\",\"RethinkDB\",\"Internal\",\"Query_Language\",\"Term\",\"If.hs\"], isGroup = False, fields = fromList [FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".Query_Language.Term.If.test\", haskellPrefix' = [MName \"Database\",MName \"RethinkDB\",MName \"Internal\"], parentModule' = [MName \"Query_Language\",MName \"Term\",MName \"If\"], baseName' = FName \"test\"}, fieldNumber = FieldId {getFieldId = 1}, wireTag = WireTag {getWireTag = 10}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = True, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 11}, typeName = Just (ProtoName {protobufName = FIName \".Query_Language.Term\", haskellPrefix = [MName \"Database\",MName \"RethinkDB\",MName \"Internal\"], parentModule = [MName \"Query_Language\"], baseName = MName \"Term\"}), hsRawDefault = Nothing, hsDefault = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".Query_Language.Term.If.true_branch\", haskellPrefix' = [MName \"Database\",MName \"RethinkDB\",MName \"Internal\"], parentModule' = [MName \"Query_Language\",MName \"Term\",MName \"If\"], baseName' = FName \"true_branch\"}, fieldNumber = FieldId {getFieldId = 2}, wireTag = WireTag {getWireTag = 18}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = True, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 11}, typeName = Just (ProtoName {protobufName = FIName \".Query_Language.Term\", haskellPrefix = [MName \"Database\",MName \"RethinkDB\",MName \"Internal\"], parentModule = [MName \"Query_Language\"], baseName = MName \"Term\"}), hsRawDefault = Nothing, hsDefault = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".Query_Language.Term.If.false_branch\", haskellPrefix' = [MName \"Database\",MName \"RethinkDB\",MName \"Internal\"], parentModule' = [MName \"Query_Language\",MName \"Term\",MName \"If\"], baseName' = FName \"false_branch\"}, fieldNumber = FieldId {getFieldId = 3}, wireTag = WireTag {getWireTag = 26}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = True, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 11}, typeName = Just (ProtoName {protobufName = FIName \".Query_Language.Term\", haskellPrefix = [MName \"Database\",MName \"RethinkDB\",MName \"Internal\"], parentModule = [MName \"Query_Language\"], baseName = MName \"Term\"}), hsRawDefault = Nothing, hsDefault = Nothing}], keys = fromList [], extRanges = [], knownKeys = fromList [], storeUnknown = False, lazyFields = False}"
− Database/RethinkDB/Internal/Query_Language/Term/Let.hs
@@ -1,61 +0,0 @@-{-# LANGUAGE BangPatterns, DeriveDataTypeable, FlexibleInstances, MultiParamTypeClasses #-}-module Database.RethinkDB.Internal.Query_Language.Term.Let (Let(..)) where-import Prelude ((+), (/))-import qualified Prelude as Prelude'-import qualified Data.Typeable as Prelude'-import qualified Data.Data as Prelude'-import qualified Text.ProtocolBuffers.Header as P'-import {-# SOURCE #-} qualified Database.RethinkDB.Internal.Query_Language.Term as Query_Language (Term)-import qualified Database.RethinkDB.Internal.Query_Language.VarTermTuple as Query_Language (VarTermTuple)- -data Let = Let{binds :: !(P'.Seq Query_Language.VarTermTuple), expr :: !Query_Language.Term}- deriving (Prelude'.Show, Prelude'.Eq, Prelude'.Ord, Prelude'.Typeable, Prelude'.Data)- -instance P'.Mergeable Let where- mergeAppend (Let x'1 x'2) (Let y'1 y'2) = Let (P'.mergeAppend x'1 y'1) (P'.mergeAppend x'2 y'2)- -instance P'.Default Let where- defaultValue = Let P'.defaultValue P'.defaultValue- -instance P'.Wire Let where- wireSize ft' self'@(Let x'1 x'2)- = case ft' of- 10 -> calc'Size- 11 -> P'.prependMessageSize calc'Size- _ -> P'.wireSizeErr ft' self'- where- calc'Size = (P'.wireSizeRep 1 11 x'1 + P'.wireSizeReq 1 11 x'2)- wirePut ft' self'@(Let x'1 x'2)- = case ft' of- 10 -> put'Fields- 11 -> do- P'.putSize (P'.wireSize 10 self')- put'Fields- _ -> P'.wirePutErr ft' self'- where- put'Fields- = do- P'.wirePutRep 10 11 x'1- P'.wirePutReq 18 11 x'2- wireGet ft'- = case ft' of- 10 -> P'.getBareMessageWith update'Self- 11 -> P'.getMessageWith update'Self- _ -> P'.wireGetErr ft'- where- update'Self wire'Tag old'Self- = case wire'Tag of- 10 -> Prelude'.fmap (\ !new'Field -> old'Self{binds = P'.append (binds old'Self) new'Field}) (P'.wireGet 11)- 18 -> Prelude'.fmap (\ !new'Field -> old'Self{expr = P'.mergeAppend (expr old'Self) (new'Field)}) (P'.wireGet 11)- _ -> let (field'Number, wire'Type) = P'.splitWireTag wire'Tag in P'.unknown field'Number wire'Type old'Self- -instance P'.MessageAPI msg' (msg' -> Let) Let where- getVal m' f' = f' m'- -instance P'.GPB Let- -instance P'.ReflectDescriptor Let where- getMessageInfo _ = P'.GetMessageInfo (P'.fromDistinctAscList [18]) (P'.fromDistinctAscList [10, 18])- reflectDescriptorInfo _- = Prelude'.read- "DescriptorInfo {descName = ProtoName {protobufName = FIName \".Query_Language.Term.Let\", haskellPrefix = [MName \"Database\",MName \"RethinkDB\",MName \"Internal\"], parentModule = [MName \"Query_Language\",MName \"Term\"], baseName = MName \"Let\"}, descFilePath = [\"Database\",\"RethinkDB\",\"Internal\",\"Query_Language\",\"Term\",\"Let.hs\"], isGroup = False, fields = fromList [FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".Query_Language.Term.Let.binds\", haskellPrefix' = [MName \"Database\",MName \"RethinkDB\",MName \"Internal\"], parentModule' = [MName \"Query_Language\",MName \"Term\",MName \"Let\"], baseName' = FName \"binds\"}, fieldNumber = FieldId {getFieldId = 1}, wireTag = WireTag {getWireTag = 10}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = True, mightPack = False, typeCode = FieldType {getFieldType = 11}, typeName = Just (ProtoName {protobufName = FIName \".Query_Language.VarTermTuple\", haskellPrefix = [MName \"Database\",MName \"RethinkDB\",MName \"Internal\"], parentModule = [MName \"Query_Language\"], baseName = MName \"VarTermTuple\"}), hsRawDefault = Nothing, hsDefault = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".Query_Language.Term.Let.expr\", haskellPrefix' = [MName \"Database\",MName \"RethinkDB\",MName \"Internal\"], parentModule' = [MName \"Query_Language\",MName \"Term\",MName \"Let\"], baseName' = FName \"expr\"}, fieldNumber = FieldId {getFieldId = 2}, wireTag = WireTag {getWireTag = 18}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = True, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 11}, typeName = Just (ProtoName {protobufName = FIName \".Query_Language.Term\", haskellPrefix = [MName \"Database\",MName \"RethinkDB\",MName \"Internal\"], parentModule = [MName \"Query_Language\"], baseName = MName \"Term\"}), hsRawDefault = Nothing, hsDefault = Nothing}], keys = fromList [], extRanges = [], knownKeys = fromList [], storeUnknown = False, lazyFields = False}"
− Database/RethinkDB/Internal/Query_Language/Term/Table.hs
@@ -1,59 +0,0 @@-{-# LANGUAGE BangPatterns, DeriveDataTypeable, FlexibleInstances, MultiParamTypeClasses #-}-module Database.RethinkDB.Internal.Query_Language.Term.Table (Table(..)) where-import Prelude ((+), (/))-import qualified Prelude as Prelude'-import qualified Data.Typeable as Prelude'-import qualified Data.Data as Prelude'-import qualified Text.ProtocolBuffers.Header as P'-import qualified Database.RethinkDB.Internal.Query_Language.TableRef as Query_Language (TableRef)- -data Table = Table{table_ref :: !Query_Language.TableRef}- deriving (Prelude'.Show, Prelude'.Eq, Prelude'.Ord, Prelude'.Typeable, Prelude'.Data)- -instance P'.Mergeable Table where- mergeAppend (Table x'1) (Table y'1) = Table (P'.mergeAppend x'1 y'1)- -instance P'.Default Table where- defaultValue = Table P'.defaultValue- -instance P'.Wire Table where- wireSize ft' self'@(Table x'1)- = case ft' of- 10 -> calc'Size- 11 -> P'.prependMessageSize calc'Size- _ -> P'.wireSizeErr ft' self'- where- calc'Size = (P'.wireSizeReq 1 11 x'1)- wirePut ft' self'@(Table x'1)- = case ft' of- 10 -> put'Fields- 11 -> do- P'.putSize (P'.wireSize 10 self')- put'Fields- _ -> P'.wirePutErr ft' self'- where- put'Fields- = do- P'.wirePutReq 10 11 x'1- wireGet ft'- = case ft' of- 10 -> P'.getBareMessageWith update'Self- 11 -> P'.getMessageWith update'Self- _ -> P'.wireGetErr ft'- where- update'Self wire'Tag old'Self- = case wire'Tag of- 10 -> Prelude'.fmap (\ !new'Field -> old'Self{table_ref = P'.mergeAppend (table_ref old'Self) (new'Field)})- (P'.wireGet 11)- _ -> let (field'Number, wire'Type) = P'.splitWireTag wire'Tag in P'.unknown field'Number wire'Type old'Self- -instance P'.MessageAPI msg' (msg' -> Table) Table where- getVal m' f' = f' m'- -instance P'.GPB Table- -instance P'.ReflectDescriptor Table where- getMessageInfo _ = P'.GetMessageInfo (P'.fromDistinctAscList [10]) (P'.fromDistinctAscList [10])- reflectDescriptorInfo _- = Prelude'.read- "DescriptorInfo {descName = ProtoName {protobufName = FIName \".Query_Language.Term.Table\", haskellPrefix = [MName \"Database\",MName \"RethinkDB\",MName \"Internal\"], parentModule = [MName \"Query_Language\",MName \"Term\"], baseName = MName \"Table\"}, descFilePath = [\"Database\",\"RethinkDB\",\"Internal\",\"Query_Language\",\"Term\",\"Table.hs\"], isGroup = False, fields = fromList [FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".Query_Language.Term.Table.table_ref\", haskellPrefix' = [MName \"Database\",MName \"RethinkDB\",MName \"Internal\"], parentModule' = [MName \"Query_Language\",MName \"Term\",MName \"Table\"], baseName' = FName \"table_ref\"}, fieldNumber = FieldId {getFieldId = 1}, wireTag = WireTag {getWireTag = 10}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = True, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 11}, typeName = Just (ProtoName {protobufName = FIName \".Query_Language.TableRef\", haskellPrefix = [MName \"Database\",MName \"RethinkDB\",MName \"Internal\"], parentModule = [MName \"Query_Language\"], baseName = MName \"TableRef\"}), hsRawDefault = Nothing, hsDefault = Nothing}], keys = fromList [], extRanges = [], knownKeys = fromList [], storeUnknown = False, lazyFields = False}"
− Database/RethinkDB/Internal/Query_Language/Term/TermType.hs
@@ -1,134 +0,0 @@-{-# LANGUAGE BangPatterns, DeriveDataTypeable, FlexibleInstances, MultiParamTypeClasses #-}-module Database.RethinkDB.Internal.Query_Language.Term.TermType (TermType(..)) where-import Prelude ((+), (/), (.))-import qualified Prelude as Prelude'-import qualified Data.Typeable as Prelude'-import qualified Data.Data as Prelude'-import qualified Text.ProtocolBuffers.Header as P'- -data TermType = JSON_NULL- | VAR- | LET- | CALL- | IF- | ERROR- | NUMBER- | STRING- | JSON- | BOOL- | ARRAY- | OBJECT- | GETBYKEY- | TABLE- | JAVASCRIPT- | IMPLICIT_VAR- deriving (Prelude'.Read, Prelude'.Show, Prelude'.Eq, Prelude'.Ord, Prelude'.Typeable, Prelude'.Data)- -instance P'.Mergeable TermType- -instance Prelude'.Bounded TermType where- minBound = JSON_NULL- maxBound = IMPLICIT_VAR- -instance P'.Default TermType where- defaultValue = JSON_NULL- -toMaybe'Enum :: Prelude'.Int -> P'.Maybe TermType-toMaybe'Enum 0 = Prelude'.Just JSON_NULL-toMaybe'Enum 1 = Prelude'.Just VAR-toMaybe'Enum 2 = Prelude'.Just LET-toMaybe'Enum 3 = Prelude'.Just CALL-toMaybe'Enum 4 = Prelude'.Just IF-toMaybe'Enum 5 = Prelude'.Just ERROR-toMaybe'Enum 6 = Prelude'.Just NUMBER-toMaybe'Enum 7 = Prelude'.Just STRING-toMaybe'Enum 8 = Prelude'.Just JSON-toMaybe'Enum 9 = Prelude'.Just BOOL-toMaybe'Enum 10 = Prelude'.Just ARRAY-toMaybe'Enum 11 = Prelude'.Just OBJECT-toMaybe'Enum 12 = Prelude'.Just GETBYKEY-toMaybe'Enum 13 = Prelude'.Just TABLE-toMaybe'Enum 14 = Prelude'.Just JAVASCRIPT-toMaybe'Enum 15 = Prelude'.Just IMPLICIT_VAR-toMaybe'Enum _ = Prelude'.Nothing- -instance Prelude'.Enum TermType where- fromEnum JSON_NULL = 0- fromEnum VAR = 1- fromEnum LET = 2- fromEnum CALL = 3- fromEnum IF = 4- fromEnum ERROR = 5- fromEnum NUMBER = 6- fromEnum STRING = 7- fromEnum JSON = 8- fromEnum BOOL = 9- fromEnum ARRAY = 10- fromEnum OBJECT = 11- fromEnum GETBYKEY = 12- fromEnum TABLE = 13- fromEnum JAVASCRIPT = 14- fromEnum IMPLICIT_VAR = 15- toEnum- = P'.fromMaybe- (Prelude'.error "hprotoc generated code: toEnum failure for type Database.RethinkDB.Internal.Query_Language.Term.TermType")- . toMaybe'Enum- succ JSON_NULL = VAR- succ VAR = LET- succ LET = CALL- succ CALL = IF- succ IF = ERROR- succ ERROR = NUMBER- succ NUMBER = STRING- succ STRING = JSON- succ JSON = BOOL- succ BOOL = ARRAY- succ ARRAY = OBJECT- succ OBJECT = GETBYKEY- succ GETBYKEY = TABLE- succ TABLE = JAVASCRIPT- succ JAVASCRIPT = IMPLICIT_VAR- succ _ = Prelude'.error "hprotoc generated code: succ failure for type Database.RethinkDB.Internal.Query_Language.Term.TermType"- pred VAR = JSON_NULL- pred LET = VAR- pred CALL = LET- pred IF = CALL- pred ERROR = IF- pred NUMBER = ERROR- pred STRING = NUMBER- pred JSON = STRING- pred BOOL = JSON- pred ARRAY = BOOL- pred OBJECT = ARRAY- pred GETBYKEY = OBJECT- pred TABLE = GETBYKEY- pred JAVASCRIPT = TABLE- pred IMPLICIT_VAR = JAVASCRIPT- pred _ = Prelude'.error "hprotoc generated code: pred failure for type Database.RethinkDB.Internal.Query_Language.Term.TermType"- -instance P'.Wire TermType where- wireSize ft' enum = P'.wireSize ft' (Prelude'.fromEnum enum)- wirePut ft' enum = P'.wirePut ft' (Prelude'.fromEnum enum)- wireGet 14 = P'.wireGetEnum toMaybe'Enum- wireGet ft' = P'.wireGetErr ft'- wireGetPacked 14 = P'.wireGetPackedEnum toMaybe'Enum- wireGetPacked ft' = P'.wireGetErr ft'- -instance P'.GPB TermType- -instance P'.MessageAPI msg' (msg' -> TermType) TermType where- getVal m' f' = f' m'- -instance P'.ReflectEnum TermType where- reflectEnum- = [(0, "JSON_NULL", JSON_NULL), (1, "VAR", VAR), (2, "LET", LET), (3, "CALL", CALL), (4, "IF", IF), (5, "ERROR", ERROR),- (6, "NUMBER", NUMBER), (7, "STRING", STRING), (8, "JSON", JSON), (9, "BOOL", BOOL), (10, "ARRAY", ARRAY),- (11, "OBJECT", OBJECT), (12, "GETBYKEY", GETBYKEY), (13, "TABLE", TABLE), (14, "JAVASCRIPT", JAVASCRIPT),- (15, "IMPLICIT_VAR", IMPLICIT_VAR)]- reflectEnumInfo _- = P'.EnumInfo- (P'.makePNF (P'.pack ".Query_Language.Term.TermType") ["Database", "RethinkDB", "Internal"] ["Query_Language", "Term"]- "TermType")- ["Database", "RethinkDB", "Internal", "Query_Language", "Term", "TermType.hs"]- [(0, "JSON_NULL"), (1, "VAR"), (2, "LET"), (3, "CALL"), (4, "IF"), (5, "ERROR"), (6, "NUMBER"), (7, "STRING"), (8, "JSON"),- (9, "BOOL"), (10, "ARRAY"), (11, "OBJECT"), (12, "GETBYKEY"), (13, "TABLE"), (14, "JAVASCRIPT"), (15, "IMPLICIT_VAR")]
− Database/RethinkDB/Internal/Query_Language/VarTermTuple.hs
@@ -1,60 +0,0 @@-{-# LANGUAGE BangPatterns, DeriveDataTypeable, FlexibleInstances, MultiParamTypeClasses #-}-module Database.RethinkDB.Internal.Query_Language.VarTermTuple (VarTermTuple(..)) where-import Prelude ((+), (/))-import qualified Prelude as Prelude'-import qualified Data.Typeable as Prelude'-import qualified Data.Data as Prelude'-import qualified Text.ProtocolBuffers.Header as P'-import {-# SOURCE #-} qualified Database.RethinkDB.Internal.Query_Language.Term as Query_Language (Term)- -data VarTermTuple = VarTermTuple{var :: !P'.Utf8, term :: !Query_Language.Term}- deriving (Prelude'.Show, Prelude'.Eq, Prelude'.Ord, Prelude'.Typeable, Prelude'.Data)- -instance P'.Mergeable VarTermTuple where- mergeAppend (VarTermTuple x'1 x'2) (VarTermTuple y'1 y'2) = VarTermTuple (P'.mergeAppend x'1 y'1) (P'.mergeAppend x'2 y'2)- -instance P'.Default VarTermTuple where- defaultValue = VarTermTuple P'.defaultValue P'.defaultValue- -instance P'.Wire VarTermTuple where- wireSize ft' self'@(VarTermTuple x'1 x'2)- = case ft' of- 10 -> calc'Size- 11 -> P'.prependMessageSize calc'Size- _ -> P'.wireSizeErr ft' self'- where- calc'Size = (P'.wireSizeReq 1 9 x'1 + P'.wireSizeReq 1 11 x'2)- wirePut ft' self'@(VarTermTuple x'1 x'2)- = case ft' of- 10 -> put'Fields- 11 -> do- P'.putSize (P'.wireSize 10 self')- put'Fields- _ -> P'.wirePutErr ft' self'- where- put'Fields- = do- P'.wirePutReq 10 9 x'1- P'.wirePutReq 18 11 x'2- wireGet ft'- = case ft' of- 10 -> P'.getBareMessageWith update'Self- 11 -> P'.getMessageWith update'Self- _ -> P'.wireGetErr ft'- where- update'Self wire'Tag old'Self- = case wire'Tag of- 10 -> Prelude'.fmap (\ !new'Field -> old'Self{var = new'Field}) (P'.wireGet 9)- 18 -> Prelude'.fmap (\ !new'Field -> old'Self{term = P'.mergeAppend (term old'Self) (new'Field)}) (P'.wireGet 11)- _ -> let (field'Number, wire'Type) = P'.splitWireTag wire'Tag in P'.unknown field'Number wire'Type old'Self- -instance P'.MessageAPI msg' (msg' -> VarTermTuple) VarTermTuple where- getVal m' f' = f' m'- -instance P'.GPB VarTermTuple- -instance P'.ReflectDescriptor VarTermTuple where- getMessageInfo _ = P'.GetMessageInfo (P'.fromDistinctAscList [10, 18]) (P'.fromDistinctAscList [10, 18])- reflectDescriptorInfo _- = Prelude'.read- "DescriptorInfo {descName = ProtoName {protobufName = FIName \".Query_Language.VarTermTuple\", haskellPrefix = [MName \"Database\",MName \"RethinkDB\",MName \"Internal\"], parentModule = [MName \"Query_Language\"], baseName = MName \"VarTermTuple\"}, descFilePath = [\"Database\",\"RethinkDB\",\"Internal\",\"Query_Language\",\"VarTermTuple.hs\"], isGroup = False, fields = fromList [FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".Query_Language.VarTermTuple.var\", haskellPrefix' = [MName \"Database\",MName \"RethinkDB\",MName \"Internal\"], parentModule' = [MName \"Query_Language\",MName \"VarTermTuple\"], baseName' = FName \"var\"}, fieldNumber = FieldId {getFieldId = 1}, wireTag = WireTag {getWireTag = 10}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = True, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 9}, typeName = Nothing, hsRawDefault = Nothing, hsDefault = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".Query_Language.VarTermTuple.term\", haskellPrefix' = [MName \"Database\",MName \"RethinkDB\",MName \"Internal\"], parentModule' = [MName \"Query_Language\",MName \"VarTermTuple\"], baseName' = FName \"term\"}, fieldNumber = FieldId {getFieldId = 2}, wireTag = WireTag {getWireTag = 18}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = True, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 11}, typeName = Just (ProtoName {protobufName = FIName \".Query_Language.Term\", haskellPrefix = [MName \"Database\",MName \"RethinkDB\",MName \"Internal\"], parentModule = [MName \"Query_Language\"], baseName = MName \"Term\"}), hsRawDefault = Nothing, hsDefault = Nothing}], keys = fromList [], extRanges = [], knownKeys = fromList [], storeUnknown = False, lazyFields = False}"
− Database/RethinkDB/Internal/Query_Language/WriteQuery.hs
@@ -1,122 +0,0 @@-{-# LANGUAGE BangPatterns, DeriveDataTypeable, FlexibleInstances, MultiParamTypeClasses #-}-module Database.RethinkDB.Internal.Query_Language.WriteQuery (WriteQuery(..)) where-import Prelude ((+), (/))-import qualified Prelude as Prelude'-import qualified Data.Typeable as Prelude'-import qualified Data.Data as Prelude'-import qualified Text.ProtocolBuffers.Header as P'-import qualified Database.RethinkDB.Internal.Query_Language.WriteQuery.Delete as Query_Language.WriteQuery (Delete)-import {-# SOURCE #-} qualified Database.RethinkDB.Internal.Query_Language.WriteQuery.ForEach as Query_Language.WriteQuery (ForEach)-import qualified Database.RethinkDB.Internal.Query_Language.WriteQuery.Insert as Query_Language.WriteQuery (Insert)-import qualified Database.RethinkDB.Internal.Query_Language.WriteQuery.Mutate as Query_Language.WriteQuery (Mutate)-import qualified Database.RethinkDB.Internal.Query_Language.WriteQuery.PointDelete as Query_Language.WriteQuery (PointDelete)-import qualified Database.RethinkDB.Internal.Query_Language.WriteQuery.PointMutate as Query_Language.WriteQuery (PointMutate)-import qualified Database.RethinkDB.Internal.Query_Language.WriteQuery.PointUpdate as Query_Language.WriteQuery (PointUpdate)-import qualified Database.RethinkDB.Internal.Query_Language.WriteQuery.Update as Query_Language.WriteQuery (Update)-import qualified Database.RethinkDB.Internal.Query_Language.WriteQuery.WriteQueryType as Query_Language.WriteQuery (WriteQueryType)- -data WriteQuery = WriteQuery{type' :: !Query_Language.WriteQuery.WriteQueryType, atomic :: !(P'.Maybe P'.Bool),- update :: !(P'.Maybe Query_Language.WriteQuery.Update),- delete :: !(P'.Maybe Query_Language.WriteQuery.Delete),- mutate :: !(P'.Maybe Query_Language.WriteQuery.Mutate),- insert :: !(P'.Maybe Query_Language.WriteQuery.Insert),- for_each :: !(P'.Maybe Query_Language.WriteQuery.ForEach),- point_update :: !(P'.Maybe Query_Language.WriteQuery.PointUpdate),- point_delete :: !(P'.Maybe Query_Language.WriteQuery.PointDelete),- point_mutate :: !(P'.Maybe Query_Language.WriteQuery.PointMutate)}- deriving (Prelude'.Show, Prelude'.Eq, Prelude'.Ord, Prelude'.Typeable, Prelude'.Data)- -instance P'.Mergeable WriteQuery where- mergeAppend (WriteQuery x'1 x'2 x'3 x'4 x'5 x'6 x'7 x'8 x'9 x'10) (WriteQuery y'1 y'2 y'3 y'4 y'5 y'6 y'7 y'8 y'9 y'10)- = WriteQuery (P'.mergeAppend x'1 y'1) (P'.mergeAppend x'2 y'2) (P'.mergeAppend x'3 y'3) (P'.mergeAppend x'4 y'4)- (P'.mergeAppend x'5 y'5)- (P'.mergeAppend x'6 y'6)- (P'.mergeAppend x'7 y'7)- (P'.mergeAppend x'8 y'8)- (P'.mergeAppend x'9 y'9)- (P'.mergeAppend x'10 y'10)- -instance P'.Default WriteQuery where- defaultValue- = WriteQuery P'.defaultValue (Prelude'.Just Prelude'.True) P'.defaultValue P'.defaultValue P'.defaultValue P'.defaultValue- P'.defaultValue- P'.defaultValue- P'.defaultValue- P'.defaultValue- -instance P'.Wire WriteQuery where- wireSize ft' self'@(WriteQuery x'1 x'2 x'3 x'4 x'5 x'6 x'7 x'8 x'9 x'10)- = case ft' of- 10 -> calc'Size- 11 -> P'.prependMessageSize calc'Size- _ -> P'.wireSizeErr ft' self'- where- calc'Size- = (P'.wireSizeReq 1 14 x'1 + P'.wireSizeOpt 1 8 x'2 + P'.wireSizeOpt 1 11 x'3 + P'.wireSizeOpt 1 11 x'4 +- P'.wireSizeOpt 1 11 x'5- + P'.wireSizeOpt 1 11 x'6- + P'.wireSizeOpt 1 11 x'7- + P'.wireSizeOpt 1 11 x'8- + P'.wireSizeOpt 1 11 x'9- + P'.wireSizeOpt 1 11 x'10)- wirePut ft' self'@(WriteQuery x'1 x'2 x'3 x'4 x'5 x'6 x'7 x'8 x'9 x'10)- = case ft' of- 10 -> put'Fields- 11 -> do- P'.putSize (P'.wireSize 10 self')- put'Fields- _ -> P'.wirePutErr ft' self'- where- put'Fields- = do- P'.wirePutReq 8 14 x'1- P'.wirePutOpt 18 11 x'3- P'.wirePutOpt 26 11 x'4- P'.wirePutOpt 34 11 x'5- P'.wirePutOpt 42 11 x'6- P'.wirePutOpt 58 11 x'7- P'.wirePutOpt 66 11 x'8- P'.wirePutOpt 74 11 x'9- P'.wirePutOpt 82 11 x'10- P'.wirePutOpt 88 8 x'2- wireGet ft'- = case ft' of- 10 -> P'.getBareMessageWith update'Self- 11 -> P'.getMessageWith update'Self- _ -> P'.wireGetErr ft'- where- update'Self wire'Tag old'Self- = case wire'Tag of- 8 -> Prelude'.fmap (\ !new'Field -> old'Self{type' = new'Field}) (P'.wireGet 14)- 88 -> Prelude'.fmap (\ !new'Field -> old'Self{atomic = Prelude'.Just new'Field}) (P'.wireGet 8)- 18 -> Prelude'.fmap (\ !new'Field -> old'Self{update = P'.mergeAppend (update old'Self) (Prelude'.Just new'Field)})- (P'.wireGet 11)- 26 -> Prelude'.fmap (\ !new'Field -> old'Self{delete = P'.mergeAppend (delete old'Self) (Prelude'.Just new'Field)})- (P'.wireGet 11)- 34 -> Prelude'.fmap (\ !new'Field -> old'Self{mutate = P'.mergeAppend (mutate old'Self) (Prelude'.Just new'Field)})- (P'.wireGet 11)- 42 -> Prelude'.fmap (\ !new'Field -> old'Self{insert = P'.mergeAppend (insert old'Self) (Prelude'.Just new'Field)})- (P'.wireGet 11)- 58 -> Prelude'.fmap (\ !new'Field -> old'Self{for_each = P'.mergeAppend (for_each old'Self) (Prelude'.Just new'Field)})- (P'.wireGet 11)- 66 -> Prelude'.fmap- (\ !new'Field -> old'Self{point_update = P'.mergeAppend (point_update old'Self) (Prelude'.Just new'Field)})- (P'.wireGet 11)- 74 -> Prelude'.fmap- (\ !new'Field -> old'Self{point_delete = P'.mergeAppend (point_delete old'Self) (Prelude'.Just new'Field)})- (P'.wireGet 11)- 82 -> Prelude'.fmap- (\ !new'Field -> old'Self{point_mutate = P'.mergeAppend (point_mutate old'Self) (Prelude'.Just new'Field)})- (P'.wireGet 11)- _ -> let (field'Number, wire'Type) = P'.splitWireTag wire'Tag in P'.unknown field'Number wire'Type old'Self- -instance P'.MessageAPI msg' (msg' -> WriteQuery) WriteQuery where- getVal m' f' = f' m'- -instance P'.GPB WriteQuery- -instance P'.ReflectDescriptor WriteQuery where- getMessageInfo _ = P'.GetMessageInfo (P'.fromDistinctAscList [8]) (P'.fromDistinctAscList [8, 18, 26, 34, 42, 58, 66, 74, 82, 88])- reflectDescriptorInfo _- = Prelude'.read- "DescriptorInfo {descName = ProtoName {protobufName = FIName \".Query_Language.WriteQuery\", haskellPrefix = [MName \"Database\",MName \"RethinkDB\",MName \"Internal\"], parentModule = [MName \"Query_Language\"], baseName = MName \"WriteQuery\"}, descFilePath = [\"Database\",\"RethinkDB\",\"Internal\",\"Query_Language\",\"WriteQuery.hs\"], isGroup = False, fields = fromList [FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".Query_Language.WriteQuery.type\", haskellPrefix' = [MName \"Database\",MName \"RethinkDB\",MName \"Internal\"], parentModule' = [MName \"Query_Language\",MName \"WriteQuery\"], baseName' = FName \"type'\"}, fieldNumber = FieldId {getFieldId = 1}, wireTag = WireTag {getWireTag = 8}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = True, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 14}, typeName = Just (ProtoName {protobufName = FIName \".Query_Language.WriteQuery.WriteQueryType\", haskellPrefix = [MName \"Database\",MName \"RethinkDB\",MName \"Internal\"], parentModule = [MName \"Query_Language\",MName \"WriteQuery\"], baseName = MName \"WriteQueryType\"}), hsRawDefault = Nothing, hsDefault = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".Query_Language.WriteQuery.atomic\", haskellPrefix' = [MName \"Database\",MName \"RethinkDB\",MName \"Internal\"], parentModule' = [MName \"Query_Language\",MName \"WriteQuery\"], baseName' = FName \"atomic\"}, fieldNumber = FieldId {getFieldId = 11}, wireTag = WireTag {getWireTag = 88}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 8}, typeName = Nothing, hsRawDefault = Just \"true\", hsDefault = Just (HsDef'Bool True)},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".Query_Language.WriteQuery.update\", haskellPrefix' = [MName \"Database\",MName \"RethinkDB\",MName \"Internal\"], parentModule' = [MName \"Query_Language\",MName \"WriteQuery\"], baseName' = FName \"update\"}, fieldNumber = FieldId {getFieldId = 2}, wireTag = WireTag {getWireTag = 18}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 11}, typeName = Just (ProtoName {protobufName = FIName \".Query_Language.WriteQuery.Update\", haskellPrefix = [MName \"Database\",MName \"RethinkDB\",MName \"Internal\"], parentModule = [MName \"Query_Language\",MName \"WriteQuery\"], baseName = MName \"Update\"}), hsRawDefault = Nothing, hsDefault = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".Query_Language.WriteQuery.delete\", haskellPrefix' = [MName \"Database\",MName \"RethinkDB\",MName \"Internal\"], parentModule' = [MName \"Query_Language\",MName \"WriteQuery\"], baseName' = FName \"delete\"}, fieldNumber = FieldId {getFieldId = 3}, wireTag = WireTag {getWireTag = 26}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 11}, typeName = Just (ProtoName {protobufName = FIName \".Query_Language.WriteQuery.Delete\", haskellPrefix = [MName \"Database\",MName \"RethinkDB\",MName \"Internal\"], parentModule = [MName \"Query_Language\",MName \"WriteQuery\"], baseName = MName \"Delete\"}), hsRawDefault = Nothing, hsDefault = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".Query_Language.WriteQuery.mutate\", haskellPrefix' = [MName \"Database\",MName \"RethinkDB\",MName \"Internal\"], parentModule' = [MName \"Query_Language\",MName \"WriteQuery\"], baseName' = FName \"mutate\"}, fieldNumber = FieldId {getFieldId = 4}, wireTag = WireTag {getWireTag = 34}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 11}, typeName = Just (ProtoName {protobufName = FIName \".Query_Language.WriteQuery.Mutate\", haskellPrefix = [MName \"Database\",MName \"RethinkDB\",MName \"Internal\"], parentModule = [MName \"Query_Language\",MName \"WriteQuery\"], baseName = MName \"Mutate\"}), hsRawDefault = Nothing, hsDefault = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".Query_Language.WriteQuery.insert\", haskellPrefix' = [MName \"Database\",MName \"RethinkDB\",MName \"Internal\"], parentModule' = [MName \"Query_Language\",MName \"WriteQuery\"], baseName' = FName \"insert\"}, fieldNumber = FieldId {getFieldId = 5}, wireTag = WireTag {getWireTag = 42}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 11}, typeName = Just (ProtoName {protobufName = FIName \".Query_Language.WriteQuery.Insert\", haskellPrefix = [MName \"Database\",MName \"RethinkDB\",MName \"Internal\"], parentModule = [MName \"Query_Language\",MName \"WriteQuery\"], baseName = MName \"Insert\"}), hsRawDefault = Nothing, hsDefault = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".Query_Language.WriteQuery.for_each\", haskellPrefix' = [MName \"Database\",MName \"RethinkDB\",MName \"Internal\"], parentModule' = [MName \"Query_Language\",MName \"WriteQuery\"], baseName' = FName \"for_each\"}, fieldNumber = FieldId {getFieldId = 7}, wireTag = WireTag {getWireTag = 58}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 11}, typeName = Just (ProtoName {protobufName = FIName \".Query_Language.WriteQuery.ForEach\", haskellPrefix = [MName \"Database\",MName \"RethinkDB\",MName \"Internal\"], parentModule = [MName \"Query_Language\",MName \"WriteQuery\"], baseName = MName \"ForEach\"}), hsRawDefault = Nothing, hsDefault = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".Query_Language.WriteQuery.point_update\", haskellPrefix' = [MName \"Database\",MName \"RethinkDB\",MName \"Internal\"], parentModule' = [MName \"Query_Language\",MName \"WriteQuery\"], baseName' = FName \"point_update\"}, fieldNumber = FieldId {getFieldId = 8}, wireTag = WireTag {getWireTag = 66}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 11}, typeName = Just (ProtoName {protobufName = FIName \".Query_Language.WriteQuery.PointUpdate\", haskellPrefix = [MName \"Database\",MName \"RethinkDB\",MName \"Internal\"], parentModule = [MName \"Query_Language\",MName \"WriteQuery\"], baseName = MName \"PointUpdate\"}), hsRawDefault = Nothing, hsDefault = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".Query_Language.WriteQuery.point_delete\", haskellPrefix' = [MName \"Database\",MName \"RethinkDB\",MName \"Internal\"], parentModule' = [MName \"Query_Language\",MName \"WriteQuery\"], baseName' = FName \"point_delete\"}, fieldNumber = FieldId {getFieldId = 9}, wireTag = WireTag {getWireTag = 74}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 11}, typeName = Just (ProtoName {protobufName = FIName \".Query_Language.WriteQuery.PointDelete\", haskellPrefix = [MName \"Database\",MName \"RethinkDB\",MName \"Internal\"], parentModule = [MName \"Query_Language\",MName \"WriteQuery\"], baseName = MName \"PointDelete\"}), hsRawDefault = Nothing, hsDefault = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".Query_Language.WriteQuery.point_mutate\", haskellPrefix' = [MName \"Database\",MName \"RethinkDB\",MName \"Internal\"], parentModule' = [MName \"Query_Language\",MName \"WriteQuery\"], baseName' = FName \"point_mutate\"}, fieldNumber = FieldId {getFieldId = 10}, wireTag = WireTag {getWireTag = 82}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 11}, typeName = Just (ProtoName {protobufName = FIName \".Query_Language.WriteQuery.PointMutate\", haskellPrefix = [MName \"Database\",MName \"RethinkDB\",MName \"Internal\"], parentModule = [MName \"Query_Language\",MName \"WriteQuery\"], baseName = MName \"PointMutate\"}), hsRawDefault = Nothing, hsDefault = Nothing}], keys = fromList [], extRanges = [], knownKeys = fromList [], storeUnknown = False, lazyFields = False}"
− Database/RethinkDB/Internal/Query_Language/WriteQuery/Delete.hs
@@ -1,58 +0,0 @@-{-# LANGUAGE BangPatterns, DeriveDataTypeable, FlexibleInstances, MultiParamTypeClasses #-}-module Database.RethinkDB.Internal.Query_Language.WriteQuery.Delete (Delete(..)) where-import Prelude ((+), (/))-import qualified Prelude as Prelude'-import qualified Data.Typeable as Prelude'-import qualified Data.Data as Prelude'-import qualified Text.ProtocolBuffers.Header as P'-import qualified Database.RethinkDB.Internal.Query_Language.Term as Query_Language (Term)- -data Delete = Delete{view :: !Query_Language.Term}- deriving (Prelude'.Show, Prelude'.Eq, Prelude'.Ord, Prelude'.Typeable, Prelude'.Data)- -instance P'.Mergeable Delete where- mergeAppend (Delete x'1) (Delete y'1) = Delete (P'.mergeAppend x'1 y'1)- -instance P'.Default Delete where- defaultValue = Delete P'.defaultValue- -instance P'.Wire Delete where- wireSize ft' self'@(Delete x'1)- = case ft' of- 10 -> calc'Size- 11 -> P'.prependMessageSize calc'Size- _ -> P'.wireSizeErr ft' self'- where- calc'Size = (P'.wireSizeReq 1 11 x'1)- wirePut ft' self'@(Delete x'1)- = case ft' of- 10 -> put'Fields- 11 -> do- P'.putSize (P'.wireSize 10 self')- put'Fields- _ -> P'.wirePutErr ft' self'- where- put'Fields- = do- P'.wirePutReq 10 11 x'1- wireGet ft'- = case ft' of- 10 -> P'.getBareMessageWith update'Self- 11 -> P'.getMessageWith update'Self- _ -> P'.wireGetErr ft'- where- update'Self wire'Tag old'Self- = case wire'Tag of- 10 -> Prelude'.fmap (\ !new'Field -> old'Self{view = P'.mergeAppend (view old'Self) (new'Field)}) (P'.wireGet 11)- _ -> let (field'Number, wire'Type) = P'.splitWireTag wire'Tag in P'.unknown field'Number wire'Type old'Self- -instance P'.MessageAPI msg' (msg' -> Delete) Delete where- getVal m' f' = f' m'- -instance P'.GPB Delete- -instance P'.ReflectDescriptor Delete where- getMessageInfo _ = P'.GetMessageInfo (P'.fromDistinctAscList [10]) (P'.fromDistinctAscList [10])- reflectDescriptorInfo _- = Prelude'.read- "DescriptorInfo {descName = ProtoName {protobufName = FIName \".Query_Language.WriteQuery.Delete\", haskellPrefix = [MName \"Database\",MName \"RethinkDB\",MName \"Internal\"], parentModule = [MName \"Query_Language\",MName \"WriteQuery\"], baseName = MName \"Delete\"}, descFilePath = [\"Database\",\"RethinkDB\",\"Internal\",\"Query_Language\",\"WriteQuery\",\"Delete.hs\"], isGroup = False, fields = fromList [FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".Query_Language.WriteQuery.Delete.view\", haskellPrefix' = [MName \"Database\",MName \"RethinkDB\",MName \"Internal\"], parentModule' = [MName \"Query_Language\",MName \"WriteQuery\",MName \"Delete\"], baseName' = FName \"view\"}, fieldNumber = FieldId {getFieldId = 1}, wireTag = WireTag {getWireTag = 10}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = True, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 11}, typeName = Just (ProtoName {protobufName = FIName \".Query_Language.Term\", haskellPrefix = [MName \"Database\",MName \"RethinkDB\",MName \"Internal\"], parentModule = [MName \"Query_Language\"], baseName = MName \"Term\"}), hsRawDefault = Nothing, hsDefault = Nothing}], keys = fromList [], extRanges = [], knownKeys = fromList [], storeUnknown = False, lazyFields = False}"
− Database/RethinkDB/Internal/Query_Language/WriteQuery/ForEach.hs
@@ -1,64 +0,0 @@-{-# LANGUAGE BangPatterns, DeriveDataTypeable, FlexibleInstances, MultiParamTypeClasses #-}-module Database.RethinkDB.Internal.Query_Language.WriteQuery.ForEach (ForEach(..)) where-import Prelude ((+), (/))-import qualified Prelude as Prelude'-import qualified Data.Typeable as Prelude'-import qualified Data.Data as Prelude'-import qualified Text.ProtocolBuffers.Header as P'-import qualified Database.RethinkDB.Internal.Query_Language.Term as Query_Language (Term)-import qualified Database.RethinkDB.Internal.Query_Language.WriteQuery as Query_Language (WriteQuery)- -data ForEach = ForEach{stream :: !Query_Language.Term, var :: !P'.Utf8, queries :: !(P'.Seq Query_Language.WriteQuery)}- deriving (Prelude'.Show, Prelude'.Eq, Prelude'.Ord, Prelude'.Typeable, Prelude'.Data)- -instance P'.Mergeable ForEach where- mergeAppend (ForEach x'1 x'2 x'3) (ForEach y'1 y'2 y'3)- = ForEach (P'.mergeAppend x'1 y'1) (P'.mergeAppend x'2 y'2) (P'.mergeAppend x'3 y'3)- -instance P'.Default ForEach where- defaultValue = ForEach P'.defaultValue P'.defaultValue P'.defaultValue- -instance P'.Wire ForEach where- wireSize ft' self'@(ForEach x'1 x'2 x'3)- = case ft' of- 10 -> calc'Size- 11 -> P'.prependMessageSize calc'Size- _ -> P'.wireSizeErr ft' self'- where- calc'Size = (P'.wireSizeReq 1 11 x'1 + P'.wireSizeReq 1 9 x'2 + P'.wireSizeRep 1 11 x'3)- wirePut ft' self'@(ForEach x'1 x'2 x'3)- = case ft' of- 10 -> put'Fields- 11 -> do- P'.putSize (P'.wireSize 10 self')- put'Fields- _ -> P'.wirePutErr ft' self'- where- put'Fields- = do- P'.wirePutReq 10 11 x'1- P'.wirePutReq 18 9 x'2- P'.wirePutRep 26 11 x'3- wireGet ft'- = case ft' of- 10 -> P'.getBareMessageWith update'Self- 11 -> P'.getMessageWith update'Self- _ -> P'.wireGetErr ft'- where- update'Self wire'Tag old'Self- = case wire'Tag of- 10 -> Prelude'.fmap (\ !new'Field -> old'Self{stream = P'.mergeAppend (stream old'Self) (new'Field)}) (P'.wireGet 11)- 18 -> Prelude'.fmap (\ !new'Field -> old'Self{var = new'Field}) (P'.wireGet 9)- 26 -> Prelude'.fmap (\ !new'Field -> old'Self{queries = P'.append (queries old'Self) new'Field}) (P'.wireGet 11)- _ -> let (field'Number, wire'Type) = P'.splitWireTag wire'Tag in P'.unknown field'Number wire'Type old'Self- -instance P'.MessageAPI msg' (msg' -> ForEach) ForEach where- getVal m' f' = f' m'- -instance P'.GPB ForEach- -instance P'.ReflectDescriptor ForEach where- getMessageInfo _ = P'.GetMessageInfo (P'.fromDistinctAscList [10, 18]) (P'.fromDistinctAscList [10, 18, 26])- reflectDescriptorInfo _- = Prelude'.read- "DescriptorInfo {descName = ProtoName {protobufName = FIName \".Query_Language.WriteQuery.ForEach\", haskellPrefix = [MName \"Database\",MName \"RethinkDB\",MName \"Internal\"], parentModule = [MName \"Query_Language\",MName \"WriteQuery\"], baseName = MName \"ForEach\"}, descFilePath = [\"Database\",\"RethinkDB\",\"Internal\",\"Query_Language\",\"WriteQuery\",\"ForEach.hs\"], isGroup = False, fields = fromList [FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".Query_Language.WriteQuery.ForEach.stream\", haskellPrefix' = [MName \"Database\",MName \"RethinkDB\",MName \"Internal\"], parentModule' = [MName \"Query_Language\",MName \"WriteQuery\",MName \"ForEach\"], baseName' = FName \"stream\"}, fieldNumber = FieldId {getFieldId = 1}, wireTag = WireTag {getWireTag = 10}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = True, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 11}, typeName = Just (ProtoName {protobufName = FIName \".Query_Language.Term\", haskellPrefix = [MName \"Database\",MName \"RethinkDB\",MName \"Internal\"], parentModule = [MName \"Query_Language\"], baseName = MName \"Term\"}), hsRawDefault = Nothing, hsDefault = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".Query_Language.WriteQuery.ForEach.var\", haskellPrefix' = [MName \"Database\",MName \"RethinkDB\",MName \"Internal\"], parentModule' = [MName \"Query_Language\",MName \"WriteQuery\",MName \"ForEach\"], baseName' = FName \"var\"}, fieldNumber = FieldId {getFieldId = 2}, wireTag = WireTag {getWireTag = 18}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = True, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 9}, typeName = Nothing, hsRawDefault = Nothing, hsDefault = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".Query_Language.WriteQuery.ForEach.queries\", haskellPrefix' = [MName \"Database\",MName \"RethinkDB\",MName \"Internal\"], parentModule' = [MName \"Query_Language\",MName \"WriteQuery\",MName \"ForEach\"], baseName' = FName \"queries\"}, fieldNumber = FieldId {getFieldId = 3}, wireTag = WireTag {getWireTag = 26}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = True, mightPack = False, typeCode = FieldType {getFieldType = 11}, typeName = Just (ProtoName {protobufName = FIName \".Query_Language.WriteQuery\", haskellPrefix = [MName \"Database\",MName \"RethinkDB\",MName \"Internal\"], parentModule = [MName \"Query_Language\"], baseName = MName \"WriteQuery\"}), hsRawDefault = Nothing, hsDefault = Nothing}], keys = fromList [], extRanges = [], knownKeys = fromList [], storeUnknown = False, lazyFields = False}"
− Database/RethinkDB/Internal/Query_Language/WriteQuery/ForEach.hs-boot
@@ -1,30 +0,0 @@-{-# LANGUAGE BangPatterns, DeriveDataTypeable, FlexibleInstances, MultiParamTypeClasses #-}-module Database.RethinkDB.Internal.Query_Language.WriteQuery.ForEach (ForEach) where-import qualified Prelude as Prelude'-import qualified Data.Typeable as Prelude'-import qualified Data.Data as Prelude'-import qualified Text.ProtocolBuffers.Header as P'- -data ForEach- -instance P'.MessageAPI msg' (msg' -> ForEach) ForEach- -instance Prelude'.Show ForEach- -instance Prelude'.Eq ForEach- -instance Prelude'.Ord ForEach- -instance Prelude'.Typeable ForEach- -instance Prelude'.Data ForEach- -instance P'.Mergeable ForEach- -instance P'.Default ForEach- -instance P'.Wire ForEach- -instance P'.GPB ForEach- -instance P'.ReflectDescriptor ForEach
− Database/RethinkDB/Internal/Query_Language/WriteQuery/Insert.hs
@@ -1,66 +0,0 @@-{-# LANGUAGE BangPatterns, DeriveDataTypeable, FlexibleInstances, MultiParamTypeClasses #-}-module Database.RethinkDB.Internal.Query_Language.WriteQuery.Insert (Insert(..)) where-import Prelude ((+), (/))-import qualified Prelude as Prelude'-import qualified Data.Typeable as Prelude'-import qualified Data.Data as Prelude'-import qualified Text.ProtocolBuffers.Header as P'-import qualified Database.RethinkDB.Internal.Query_Language.TableRef as Query_Language (TableRef)-import qualified Database.RethinkDB.Internal.Query_Language.Term as Query_Language (Term)- -data Insert = Insert{table_ref :: !Query_Language.TableRef, terms :: !(P'.Seq Query_Language.Term),- overwrite :: !(P'.Maybe P'.Bool)}- deriving (Prelude'.Show, Prelude'.Eq, Prelude'.Ord, Prelude'.Typeable, Prelude'.Data)- -instance P'.Mergeable Insert where- mergeAppend (Insert x'1 x'2 x'3) (Insert y'1 y'2 y'3)- = Insert (P'.mergeAppend x'1 y'1) (P'.mergeAppend x'2 y'2) (P'.mergeAppend x'3 y'3)- -instance P'.Default Insert where- defaultValue = Insert P'.defaultValue P'.defaultValue (Prelude'.Just Prelude'.False)- -instance P'.Wire Insert where- wireSize ft' self'@(Insert x'1 x'2 x'3)- = case ft' of- 10 -> calc'Size- 11 -> P'.prependMessageSize calc'Size- _ -> P'.wireSizeErr ft' self'- where- calc'Size = (P'.wireSizeReq 1 11 x'1 + P'.wireSizeRep 1 11 x'2 + P'.wireSizeOpt 1 8 x'3)- wirePut ft' self'@(Insert x'1 x'2 x'3)- = case ft' of- 10 -> put'Fields- 11 -> do- P'.putSize (P'.wireSize 10 self')- put'Fields- _ -> P'.wirePutErr ft' self'- where- put'Fields- = do- P'.wirePutReq 10 11 x'1- P'.wirePutRep 18 11 x'2- P'.wirePutOpt 24 8 x'3- wireGet ft'- = case ft' of- 10 -> P'.getBareMessageWith update'Self- 11 -> P'.getMessageWith update'Self- _ -> P'.wireGetErr ft'- where- update'Self wire'Tag old'Self- = case wire'Tag of- 10 -> Prelude'.fmap (\ !new'Field -> old'Self{table_ref = P'.mergeAppend (table_ref old'Self) (new'Field)})- (P'.wireGet 11)- 18 -> Prelude'.fmap (\ !new'Field -> old'Self{terms = P'.append (terms old'Self) new'Field}) (P'.wireGet 11)- 24 -> Prelude'.fmap (\ !new'Field -> old'Self{overwrite = Prelude'.Just new'Field}) (P'.wireGet 8)- _ -> let (field'Number, wire'Type) = P'.splitWireTag wire'Tag in P'.unknown field'Number wire'Type old'Self- -instance P'.MessageAPI msg' (msg' -> Insert) Insert where- getVal m' f' = f' m'- -instance P'.GPB Insert- -instance P'.ReflectDescriptor Insert where- getMessageInfo _ = P'.GetMessageInfo (P'.fromDistinctAscList [10]) (P'.fromDistinctAscList [10, 18, 24])- reflectDescriptorInfo _- = Prelude'.read- "DescriptorInfo {descName = ProtoName {protobufName = FIName \".Query_Language.WriteQuery.Insert\", haskellPrefix = [MName \"Database\",MName \"RethinkDB\",MName \"Internal\"], parentModule = [MName \"Query_Language\",MName \"WriteQuery\"], baseName = MName \"Insert\"}, descFilePath = [\"Database\",\"RethinkDB\",\"Internal\",\"Query_Language\",\"WriteQuery\",\"Insert.hs\"], isGroup = False, fields = fromList [FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".Query_Language.WriteQuery.Insert.table_ref\", haskellPrefix' = [MName \"Database\",MName \"RethinkDB\",MName \"Internal\"], parentModule' = [MName \"Query_Language\",MName \"WriteQuery\",MName \"Insert\"], baseName' = FName \"table_ref\"}, fieldNumber = FieldId {getFieldId = 1}, wireTag = WireTag {getWireTag = 10}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = True, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 11}, typeName = Just (ProtoName {protobufName = FIName \".Query_Language.TableRef\", haskellPrefix = [MName \"Database\",MName \"RethinkDB\",MName \"Internal\"], parentModule = [MName \"Query_Language\"], baseName = MName \"TableRef\"}), hsRawDefault = Nothing, hsDefault = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".Query_Language.WriteQuery.Insert.terms\", haskellPrefix' = [MName \"Database\",MName \"RethinkDB\",MName \"Internal\"], parentModule' = [MName \"Query_Language\",MName \"WriteQuery\",MName \"Insert\"], baseName' = FName \"terms\"}, fieldNumber = FieldId {getFieldId = 2}, wireTag = WireTag {getWireTag = 18}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = True, mightPack = False, typeCode = FieldType {getFieldType = 11}, typeName = Just (ProtoName {protobufName = FIName \".Query_Language.Term\", haskellPrefix = [MName \"Database\",MName \"RethinkDB\",MName \"Internal\"], parentModule = [MName \"Query_Language\"], baseName = MName \"Term\"}), hsRawDefault = Nothing, hsDefault = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".Query_Language.WriteQuery.Insert.overwrite\", haskellPrefix' = [MName \"Database\",MName \"RethinkDB\",MName \"Internal\"], parentModule' = [MName \"Query_Language\",MName \"WriteQuery\",MName \"Insert\"], baseName' = FName \"overwrite\"}, fieldNumber = FieldId {getFieldId = 3}, wireTag = WireTag {getWireTag = 24}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 8}, typeName = Nothing, hsRawDefault = Just \"false\", hsDefault = Just (HsDef'Bool False)}], keys = fromList [], extRanges = [], knownKeys = fromList [], storeUnknown = False, lazyFields = False}"
− Database/RethinkDB/Internal/Query_Language/WriteQuery/Mutate.hs
@@ -1,61 +0,0 @@-{-# LANGUAGE BangPatterns, DeriveDataTypeable, FlexibleInstances, MultiParamTypeClasses #-}-module Database.RethinkDB.Internal.Query_Language.WriteQuery.Mutate (Mutate(..)) where-import Prelude ((+), (/))-import qualified Prelude as Prelude'-import qualified Data.Typeable as Prelude'-import qualified Data.Data as Prelude'-import qualified Text.ProtocolBuffers.Header as P'-import qualified Database.RethinkDB.Internal.Query_Language.Mapping as Query_Language (Mapping)-import qualified Database.RethinkDB.Internal.Query_Language.Term as Query_Language (Term)- -data Mutate = Mutate{view :: !Query_Language.Term, mapping :: !Query_Language.Mapping}- deriving (Prelude'.Show, Prelude'.Eq, Prelude'.Ord, Prelude'.Typeable, Prelude'.Data)- -instance P'.Mergeable Mutate where- mergeAppend (Mutate x'1 x'2) (Mutate y'1 y'2) = Mutate (P'.mergeAppend x'1 y'1) (P'.mergeAppend x'2 y'2)- -instance P'.Default Mutate where- defaultValue = Mutate P'.defaultValue P'.defaultValue- -instance P'.Wire Mutate where- wireSize ft' self'@(Mutate x'1 x'2)- = case ft' of- 10 -> calc'Size- 11 -> P'.prependMessageSize calc'Size- _ -> P'.wireSizeErr ft' self'- where- calc'Size = (P'.wireSizeReq 1 11 x'1 + P'.wireSizeReq 1 11 x'2)- wirePut ft' self'@(Mutate x'1 x'2)- = case ft' of- 10 -> put'Fields- 11 -> do- P'.putSize (P'.wireSize 10 self')- put'Fields- _ -> P'.wirePutErr ft' self'- where- put'Fields- = do- P'.wirePutReq 10 11 x'1- P'.wirePutReq 18 11 x'2- wireGet ft'- = case ft' of- 10 -> P'.getBareMessageWith update'Self- 11 -> P'.getMessageWith update'Self- _ -> P'.wireGetErr ft'- where- update'Self wire'Tag old'Self- = case wire'Tag of- 10 -> Prelude'.fmap (\ !new'Field -> old'Self{view = P'.mergeAppend (view old'Self) (new'Field)}) (P'.wireGet 11)- 18 -> Prelude'.fmap (\ !new'Field -> old'Self{mapping = P'.mergeAppend (mapping old'Self) (new'Field)}) (P'.wireGet 11)- _ -> let (field'Number, wire'Type) = P'.splitWireTag wire'Tag in P'.unknown field'Number wire'Type old'Self- -instance P'.MessageAPI msg' (msg' -> Mutate) Mutate where- getVal m' f' = f' m'- -instance P'.GPB Mutate- -instance P'.ReflectDescriptor Mutate where- getMessageInfo _ = P'.GetMessageInfo (P'.fromDistinctAscList [10, 18]) (P'.fromDistinctAscList [10, 18])- reflectDescriptorInfo _- = Prelude'.read- "DescriptorInfo {descName = ProtoName {protobufName = FIName \".Query_Language.WriteQuery.Mutate\", haskellPrefix = [MName \"Database\",MName \"RethinkDB\",MName \"Internal\"], parentModule = [MName \"Query_Language\",MName \"WriteQuery\"], baseName = MName \"Mutate\"}, descFilePath = [\"Database\",\"RethinkDB\",\"Internal\",\"Query_Language\",\"WriteQuery\",\"Mutate.hs\"], isGroup = False, fields = fromList [FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".Query_Language.WriteQuery.Mutate.view\", haskellPrefix' = [MName \"Database\",MName \"RethinkDB\",MName \"Internal\"], parentModule' = [MName \"Query_Language\",MName \"WriteQuery\",MName \"Mutate\"], baseName' = FName \"view\"}, fieldNumber = FieldId {getFieldId = 1}, wireTag = WireTag {getWireTag = 10}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = True, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 11}, typeName = Just (ProtoName {protobufName = FIName \".Query_Language.Term\", haskellPrefix = [MName \"Database\",MName \"RethinkDB\",MName \"Internal\"], parentModule = [MName \"Query_Language\"], baseName = MName \"Term\"}), hsRawDefault = Nothing, hsDefault = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".Query_Language.WriteQuery.Mutate.mapping\", haskellPrefix' = [MName \"Database\",MName \"RethinkDB\",MName \"Internal\"], parentModule' = [MName \"Query_Language\",MName \"WriteQuery\",MName \"Mutate\"], baseName' = FName \"mapping\"}, fieldNumber = FieldId {getFieldId = 2}, wireTag = WireTag {getWireTag = 18}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = True, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 11}, typeName = Just (ProtoName {protobufName = FIName \".Query_Language.Mapping\", haskellPrefix = [MName \"Database\",MName \"RethinkDB\",MName \"Internal\"], parentModule = [MName \"Query_Language\"], baseName = MName \"Mapping\"}), hsRawDefault = Nothing, hsDefault = Nothing}], keys = fromList [], extRanges = [], knownKeys = fromList [], storeUnknown = False, lazyFields = False}"
− Database/RethinkDB/Internal/Query_Language/WriteQuery/PointDelete.hs
@@ -1,65 +0,0 @@-{-# LANGUAGE BangPatterns, DeriveDataTypeable, FlexibleInstances, MultiParamTypeClasses #-}-module Database.RethinkDB.Internal.Query_Language.WriteQuery.PointDelete (PointDelete(..)) where-import Prelude ((+), (/))-import qualified Prelude as Prelude'-import qualified Data.Typeable as Prelude'-import qualified Data.Data as Prelude'-import qualified Text.ProtocolBuffers.Header as P'-import qualified Database.RethinkDB.Internal.Query_Language.TableRef as Query_Language (TableRef)-import qualified Database.RethinkDB.Internal.Query_Language.Term as Query_Language (Term)- -data PointDelete = PointDelete{table_ref :: !Query_Language.TableRef, attrname :: !P'.Utf8, key :: !Query_Language.Term}- deriving (Prelude'.Show, Prelude'.Eq, Prelude'.Ord, Prelude'.Typeable, Prelude'.Data)- -instance P'.Mergeable PointDelete where- mergeAppend (PointDelete x'1 x'2 x'3) (PointDelete y'1 y'2 y'3)- = PointDelete (P'.mergeAppend x'1 y'1) (P'.mergeAppend x'2 y'2) (P'.mergeAppend x'3 y'3)- -instance P'.Default PointDelete where- defaultValue = PointDelete P'.defaultValue P'.defaultValue P'.defaultValue- -instance P'.Wire PointDelete where- wireSize ft' self'@(PointDelete x'1 x'2 x'3)- = case ft' of- 10 -> calc'Size- 11 -> P'.prependMessageSize calc'Size- _ -> P'.wireSizeErr ft' self'- where- calc'Size = (P'.wireSizeReq 1 11 x'1 + P'.wireSizeReq 1 9 x'2 + P'.wireSizeReq 1 11 x'3)- wirePut ft' self'@(PointDelete x'1 x'2 x'3)- = case ft' of- 10 -> put'Fields- 11 -> do- P'.putSize (P'.wireSize 10 self')- put'Fields- _ -> P'.wirePutErr ft' self'- where- put'Fields- = do- P'.wirePutReq 10 11 x'1- P'.wirePutReq 18 9 x'2- P'.wirePutReq 26 11 x'3- wireGet ft'- = case ft' of- 10 -> P'.getBareMessageWith update'Self- 11 -> P'.getMessageWith update'Self- _ -> P'.wireGetErr ft'- where- update'Self wire'Tag old'Self- = case wire'Tag of- 10 -> Prelude'.fmap (\ !new'Field -> old'Self{table_ref = P'.mergeAppend (table_ref old'Self) (new'Field)})- (P'.wireGet 11)- 18 -> Prelude'.fmap (\ !new'Field -> old'Self{attrname = new'Field}) (P'.wireGet 9)- 26 -> Prelude'.fmap (\ !new'Field -> old'Self{key = P'.mergeAppend (key old'Self) (new'Field)}) (P'.wireGet 11)- _ -> let (field'Number, wire'Type) = P'.splitWireTag wire'Tag in P'.unknown field'Number wire'Type old'Self- -instance P'.MessageAPI msg' (msg' -> PointDelete) PointDelete where- getVal m' f' = f' m'- -instance P'.GPB PointDelete- -instance P'.ReflectDescriptor PointDelete where- getMessageInfo _ = P'.GetMessageInfo (P'.fromDistinctAscList [10, 18, 26]) (P'.fromDistinctAscList [10, 18, 26])- reflectDescriptorInfo _- = Prelude'.read- "DescriptorInfo {descName = ProtoName {protobufName = FIName \".Query_Language.WriteQuery.PointDelete\", haskellPrefix = [MName \"Database\",MName \"RethinkDB\",MName \"Internal\"], parentModule = [MName \"Query_Language\",MName \"WriteQuery\"], baseName = MName \"PointDelete\"}, descFilePath = [\"Database\",\"RethinkDB\",\"Internal\",\"Query_Language\",\"WriteQuery\",\"PointDelete.hs\"], isGroup = False, fields = fromList [FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".Query_Language.WriteQuery.PointDelete.table_ref\", haskellPrefix' = [MName \"Database\",MName \"RethinkDB\",MName \"Internal\"], parentModule' = [MName \"Query_Language\",MName \"WriteQuery\",MName \"PointDelete\"], baseName' = FName \"table_ref\"}, fieldNumber = FieldId {getFieldId = 1}, wireTag = WireTag {getWireTag = 10}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = True, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 11}, typeName = Just (ProtoName {protobufName = FIName \".Query_Language.TableRef\", haskellPrefix = [MName \"Database\",MName \"RethinkDB\",MName \"Internal\"], parentModule = [MName \"Query_Language\"], baseName = MName \"TableRef\"}), hsRawDefault = Nothing, hsDefault = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".Query_Language.WriteQuery.PointDelete.attrname\", haskellPrefix' = [MName \"Database\",MName \"RethinkDB\",MName \"Internal\"], parentModule' = [MName \"Query_Language\",MName \"WriteQuery\",MName \"PointDelete\"], baseName' = FName \"attrname\"}, fieldNumber = FieldId {getFieldId = 2}, wireTag = WireTag {getWireTag = 18}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = True, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 9}, typeName = Nothing, hsRawDefault = Nothing, hsDefault = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".Query_Language.WriteQuery.PointDelete.key\", haskellPrefix' = [MName \"Database\",MName \"RethinkDB\",MName \"Internal\"], parentModule' = [MName \"Query_Language\",MName \"WriteQuery\",MName \"PointDelete\"], baseName' = FName \"key\"}, fieldNumber = FieldId {getFieldId = 3}, wireTag = WireTag {getWireTag = 26}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = True, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 11}, typeName = Just (ProtoName {protobufName = FIName \".Query_Language.Term\", haskellPrefix = [MName \"Database\",MName \"RethinkDB\",MName \"Internal\"], parentModule = [MName \"Query_Language\"], baseName = MName \"Term\"}), hsRawDefault = Nothing, hsDefault = Nothing}], keys = fromList [], extRanges = [], knownKeys = fromList [], storeUnknown = False, lazyFields = False}"
− Database/RethinkDB/Internal/Query_Language/WriteQuery/PointMutate.hs
@@ -1,69 +0,0 @@-{-# LANGUAGE BangPatterns, DeriveDataTypeable, FlexibleInstances, MultiParamTypeClasses #-}-module Database.RethinkDB.Internal.Query_Language.WriteQuery.PointMutate (PointMutate(..)) where-import Prelude ((+), (/))-import qualified Prelude as Prelude'-import qualified Data.Typeable as Prelude'-import qualified Data.Data as Prelude'-import qualified Text.ProtocolBuffers.Header as P'-import qualified Database.RethinkDB.Internal.Query_Language.Mapping as Query_Language (Mapping)-import qualified Database.RethinkDB.Internal.Query_Language.TableRef as Query_Language (TableRef)-import qualified Database.RethinkDB.Internal.Query_Language.Term as Query_Language (Term)- -data PointMutate = PointMutate{table_ref :: !Query_Language.TableRef, attrname :: !P'.Utf8, key :: !Query_Language.Term,- mapping :: !Query_Language.Mapping}- deriving (Prelude'.Show, Prelude'.Eq, Prelude'.Ord, Prelude'.Typeable, Prelude'.Data)- -instance P'.Mergeable PointMutate where- mergeAppend (PointMutate x'1 x'2 x'3 x'4) (PointMutate y'1 y'2 y'3 y'4)- = PointMutate (P'.mergeAppend x'1 y'1) (P'.mergeAppend x'2 y'2) (P'.mergeAppend x'3 y'3) (P'.mergeAppend x'4 y'4)- -instance P'.Default PointMutate where- defaultValue = PointMutate P'.defaultValue P'.defaultValue P'.defaultValue P'.defaultValue- -instance P'.Wire PointMutate where- wireSize ft' self'@(PointMutate x'1 x'2 x'3 x'4)- = case ft' of- 10 -> calc'Size- 11 -> P'.prependMessageSize calc'Size- _ -> P'.wireSizeErr ft' self'- where- calc'Size = (P'.wireSizeReq 1 11 x'1 + P'.wireSizeReq 1 9 x'2 + P'.wireSizeReq 1 11 x'3 + P'.wireSizeReq 1 11 x'4)- wirePut ft' self'@(PointMutate x'1 x'2 x'3 x'4)- = case ft' of- 10 -> put'Fields- 11 -> do- P'.putSize (P'.wireSize 10 self')- put'Fields- _ -> P'.wirePutErr ft' self'- where- put'Fields- = do- P'.wirePutReq 10 11 x'1- P'.wirePutReq 18 9 x'2- P'.wirePutReq 26 11 x'3- P'.wirePutReq 34 11 x'4- wireGet ft'- = case ft' of- 10 -> P'.getBareMessageWith update'Self- 11 -> P'.getMessageWith update'Self- _ -> P'.wireGetErr ft'- where- update'Self wire'Tag old'Self- = case wire'Tag of- 10 -> Prelude'.fmap (\ !new'Field -> old'Self{table_ref = P'.mergeAppend (table_ref old'Self) (new'Field)})- (P'.wireGet 11)- 18 -> Prelude'.fmap (\ !new'Field -> old'Self{attrname = new'Field}) (P'.wireGet 9)- 26 -> Prelude'.fmap (\ !new'Field -> old'Self{key = P'.mergeAppend (key old'Self) (new'Field)}) (P'.wireGet 11)- 34 -> Prelude'.fmap (\ !new'Field -> old'Self{mapping = P'.mergeAppend (mapping old'Self) (new'Field)}) (P'.wireGet 11)- _ -> let (field'Number, wire'Type) = P'.splitWireTag wire'Tag in P'.unknown field'Number wire'Type old'Self- -instance P'.MessageAPI msg' (msg' -> PointMutate) PointMutate where- getVal m' f' = f' m'- -instance P'.GPB PointMutate- -instance P'.ReflectDescriptor PointMutate where- getMessageInfo _ = P'.GetMessageInfo (P'.fromDistinctAscList [10, 18, 26, 34]) (P'.fromDistinctAscList [10, 18, 26, 34])- reflectDescriptorInfo _- = Prelude'.read- "DescriptorInfo {descName = ProtoName {protobufName = FIName \".Query_Language.WriteQuery.PointMutate\", haskellPrefix = [MName \"Database\",MName \"RethinkDB\",MName \"Internal\"], parentModule = [MName \"Query_Language\",MName \"WriteQuery\"], baseName = MName \"PointMutate\"}, descFilePath = [\"Database\",\"RethinkDB\",\"Internal\",\"Query_Language\",\"WriteQuery\",\"PointMutate.hs\"], isGroup = False, fields = fromList [FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".Query_Language.WriteQuery.PointMutate.table_ref\", haskellPrefix' = [MName \"Database\",MName \"RethinkDB\",MName \"Internal\"], parentModule' = [MName \"Query_Language\",MName \"WriteQuery\",MName \"PointMutate\"], baseName' = FName \"table_ref\"}, fieldNumber = FieldId {getFieldId = 1}, wireTag = WireTag {getWireTag = 10}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = True, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 11}, typeName = Just (ProtoName {protobufName = FIName \".Query_Language.TableRef\", haskellPrefix = [MName \"Database\",MName \"RethinkDB\",MName \"Internal\"], parentModule = [MName \"Query_Language\"], baseName = MName \"TableRef\"}), hsRawDefault = Nothing, hsDefault = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".Query_Language.WriteQuery.PointMutate.attrname\", haskellPrefix' = [MName \"Database\",MName \"RethinkDB\",MName \"Internal\"], parentModule' = [MName \"Query_Language\",MName \"WriteQuery\",MName \"PointMutate\"], baseName' = FName \"attrname\"}, fieldNumber = FieldId {getFieldId = 2}, wireTag = WireTag {getWireTag = 18}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = True, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 9}, typeName = Nothing, hsRawDefault = Nothing, hsDefault = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".Query_Language.WriteQuery.PointMutate.key\", haskellPrefix' = [MName \"Database\",MName \"RethinkDB\",MName \"Internal\"], parentModule' = [MName \"Query_Language\",MName \"WriteQuery\",MName \"PointMutate\"], baseName' = FName \"key\"}, fieldNumber = FieldId {getFieldId = 3}, wireTag = WireTag {getWireTag = 26}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = True, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 11}, typeName = Just (ProtoName {protobufName = FIName \".Query_Language.Term\", haskellPrefix = [MName \"Database\",MName \"RethinkDB\",MName \"Internal\"], parentModule = [MName \"Query_Language\"], baseName = MName \"Term\"}), hsRawDefault = Nothing, hsDefault = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".Query_Language.WriteQuery.PointMutate.mapping\", haskellPrefix' = [MName \"Database\",MName \"RethinkDB\",MName \"Internal\"], parentModule' = [MName \"Query_Language\",MName \"WriteQuery\",MName \"PointMutate\"], baseName' = FName \"mapping\"}, fieldNumber = FieldId {getFieldId = 4}, wireTag = WireTag {getWireTag = 34}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = True, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 11}, typeName = Just (ProtoName {protobufName = FIName \".Query_Language.Mapping\", haskellPrefix = [MName \"Database\",MName \"RethinkDB\",MName \"Internal\"], parentModule = [MName \"Query_Language\"], baseName = MName \"Mapping\"}), hsRawDefault = Nothing, hsDefault = Nothing}], keys = fromList [], extRanges = [], knownKeys = fromList [], storeUnknown = False, lazyFields = False}"
− Database/RethinkDB/Internal/Query_Language/WriteQuery/PointUpdate.hs
@@ -1,69 +0,0 @@-{-# LANGUAGE BangPatterns, DeriveDataTypeable, FlexibleInstances, MultiParamTypeClasses #-}-module Database.RethinkDB.Internal.Query_Language.WriteQuery.PointUpdate (PointUpdate(..)) where-import Prelude ((+), (/))-import qualified Prelude as Prelude'-import qualified Data.Typeable as Prelude'-import qualified Data.Data as Prelude'-import qualified Text.ProtocolBuffers.Header as P'-import qualified Database.RethinkDB.Internal.Query_Language.Mapping as Query_Language (Mapping)-import qualified Database.RethinkDB.Internal.Query_Language.TableRef as Query_Language (TableRef)-import qualified Database.RethinkDB.Internal.Query_Language.Term as Query_Language (Term)- -data PointUpdate = PointUpdate{table_ref :: !Query_Language.TableRef, attrname :: !P'.Utf8, key :: !Query_Language.Term,- mapping :: !Query_Language.Mapping}- deriving (Prelude'.Show, Prelude'.Eq, Prelude'.Ord, Prelude'.Typeable, Prelude'.Data)- -instance P'.Mergeable PointUpdate where- mergeAppend (PointUpdate x'1 x'2 x'3 x'4) (PointUpdate y'1 y'2 y'3 y'4)- = PointUpdate (P'.mergeAppend x'1 y'1) (P'.mergeAppend x'2 y'2) (P'.mergeAppend x'3 y'3) (P'.mergeAppend x'4 y'4)- -instance P'.Default PointUpdate where- defaultValue = PointUpdate P'.defaultValue P'.defaultValue P'.defaultValue P'.defaultValue- -instance P'.Wire PointUpdate where- wireSize ft' self'@(PointUpdate x'1 x'2 x'3 x'4)- = case ft' of- 10 -> calc'Size- 11 -> P'.prependMessageSize calc'Size- _ -> P'.wireSizeErr ft' self'- where- calc'Size = (P'.wireSizeReq 1 11 x'1 + P'.wireSizeReq 1 9 x'2 + P'.wireSizeReq 1 11 x'3 + P'.wireSizeReq 1 11 x'4)- wirePut ft' self'@(PointUpdate x'1 x'2 x'3 x'4)- = case ft' of- 10 -> put'Fields- 11 -> do- P'.putSize (P'.wireSize 10 self')- put'Fields- _ -> P'.wirePutErr ft' self'- where- put'Fields- = do- P'.wirePutReq 10 11 x'1- P'.wirePutReq 18 9 x'2- P'.wirePutReq 26 11 x'3- P'.wirePutReq 34 11 x'4- wireGet ft'- = case ft' of- 10 -> P'.getBareMessageWith update'Self- 11 -> P'.getMessageWith update'Self- _ -> P'.wireGetErr ft'- where- update'Self wire'Tag old'Self- = case wire'Tag of- 10 -> Prelude'.fmap (\ !new'Field -> old'Self{table_ref = P'.mergeAppend (table_ref old'Self) (new'Field)})- (P'.wireGet 11)- 18 -> Prelude'.fmap (\ !new'Field -> old'Self{attrname = new'Field}) (P'.wireGet 9)- 26 -> Prelude'.fmap (\ !new'Field -> old'Self{key = P'.mergeAppend (key old'Self) (new'Field)}) (P'.wireGet 11)- 34 -> Prelude'.fmap (\ !new'Field -> old'Self{mapping = P'.mergeAppend (mapping old'Self) (new'Field)}) (P'.wireGet 11)- _ -> let (field'Number, wire'Type) = P'.splitWireTag wire'Tag in P'.unknown field'Number wire'Type old'Self- -instance P'.MessageAPI msg' (msg' -> PointUpdate) PointUpdate where- getVal m' f' = f' m'- -instance P'.GPB PointUpdate- -instance P'.ReflectDescriptor PointUpdate where- getMessageInfo _ = P'.GetMessageInfo (P'.fromDistinctAscList [10, 18, 26, 34]) (P'.fromDistinctAscList [10, 18, 26, 34])- reflectDescriptorInfo _- = Prelude'.read- "DescriptorInfo {descName = ProtoName {protobufName = FIName \".Query_Language.WriteQuery.PointUpdate\", haskellPrefix = [MName \"Database\",MName \"RethinkDB\",MName \"Internal\"], parentModule = [MName \"Query_Language\",MName \"WriteQuery\"], baseName = MName \"PointUpdate\"}, descFilePath = [\"Database\",\"RethinkDB\",\"Internal\",\"Query_Language\",\"WriteQuery\",\"PointUpdate.hs\"], isGroup = False, fields = fromList [FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".Query_Language.WriteQuery.PointUpdate.table_ref\", haskellPrefix' = [MName \"Database\",MName \"RethinkDB\",MName \"Internal\"], parentModule' = [MName \"Query_Language\",MName \"WriteQuery\",MName \"PointUpdate\"], baseName' = FName \"table_ref\"}, fieldNumber = FieldId {getFieldId = 1}, wireTag = WireTag {getWireTag = 10}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = True, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 11}, typeName = Just (ProtoName {protobufName = FIName \".Query_Language.TableRef\", haskellPrefix = [MName \"Database\",MName \"RethinkDB\",MName \"Internal\"], parentModule = [MName \"Query_Language\"], baseName = MName \"TableRef\"}), hsRawDefault = Nothing, hsDefault = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".Query_Language.WriteQuery.PointUpdate.attrname\", haskellPrefix' = [MName \"Database\",MName \"RethinkDB\",MName \"Internal\"], parentModule' = [MName \"Query_Language\",MName \"WriteQuery\",MName \"PointUpdate\"], baseName' = FName \"attrname\"}, fieldNumber = FieldId {getFieldId = 2}, wireTag = WireTag {getWireTag = 18}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = True, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 9}, typeName = Nothing, hsRawDefault = Nothing, hsDefault = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".Query_Language.WriteQuery.PointUpdate.key\", haskellPrefix' = [MName \"Database\",MName \"RethinkDB\",MName \"Internal\"], parentModule' = [MName \"Query_Language\",MName \"WriteQuery\",MName \"PointUpdate\"], baseName' = FName \"key\"}, fieldNumber = FieldId {getFieldId = 3}, wireTag = WireTag {getWireTag = 26}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = True, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 11}, typeName = Just (ProtoName {protobufName = FIName \".Query_Language.Term\", haskellPrefix = [MName \"Database\",MName \"RethinkDB\",MName \"Internal\"], parentModule = [MName \"Query_Language\"], baseName = MName \"Term\"}), hsRawDefault = Nothing, hsDefault = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".Query_Language.WriteQuery.PointUpdate.mapping\", haskellPrefix' = [MName \"Database\",MName \"RethinkDB\",MName \"Internal\"], parentModule' = [MName \"Query_Language\",MName \"WriteQuery\",MName \"PointUpdate\"], baseName' = FName \"mapping\"}, fieldNumber = FieldId {getFieldId = 4}, wireTag = WireTag {getWireTag = 34}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = True, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 11}, typeName = Just (ProtoName {protobufName = FIName \".Query_Language.Mapping\", haskellPrefix = [MName \"Database\",MName \"RethinkDB\",MName \"Internal\"], parentModule = [MName \"Query_Language\"], baseName = MName \"Mapping\"}), hsRawDefault = Nothing, hsDefault = Nothing}], keys = fromList [], extRanges = [], knownKeys = fromList [], storeUnknown = False, lazyFields = False}"
− Database/RethinkDB/Internal/Query_Language/WriteQuery/Update.hs
@@ -1,61 +0,0 @@-{-# LANGUAGE BangPatterns, DeriveDataTypeable, FlexibleInstances, MultiParamTypeClasses #-}-module Database.RethinkDB.Internal.Query_Language.WriteQuery.Update (Update(..)) where-import Prelude ((+), (/))-import qualified Prelude as Prelude'-import qualified Data.Typeable as Prelude'-import qualified Data.Data as Prelude'-import qualified Text.ProtocolBuffers.Header as P'-import qualified Database.RethinkDB.Internal.Query_Language.Mapping as Query_Language (Mapping)-import qualified Database.RethinkDB.Internal.Query_Language.Term as Query_Language (Term)- -data Update = Update{view :: !Query_Language.Term, mapping :: !Query_Language.Mapping}- deriving (Prelude'.Show, Prelude'.Eq, Prelude'.Ord, Prelude'.Typeable, Prelude'.Data)- -instance P'.Mergeable Update where- mergeAppend (Update x'1 x'2) (Update y'1 y'2) = Update (P'.mergeAppend x'1 y'1) (P'.mergeAppend x'2 y'2)- -instance P'.Default Update where- defaultValue = Update P'.defaultValue P'.defaultValue- -instance P'.Wire Update where- wireSize ft' self'@(Update x'1 x'2)- = case ft' of- 10 -> calc'Size- 11 -> P'.prependMessageSize calc'Size- _ -> P'.wireSizeErr ft' self'- where- calc'Size = (P'.wireSizeReq 1 11 x'1 + P'.wireSizeReq 1 11 x'2)- wirePut ft' self'@(Update x'1 x'2)- = case ft' of- 10 -> put'Fields- 11 -> do- P'.putSize (P'.wireSize 10 self')- put'Fields- _ -> P'.wirePutErr ft' self'- where- put'Fields- = do- P'.wirePutReq 10 11 x'1- P'.wirePutReq 18 11 x'2- wireGet ft'- = case ft' of- 10 -> P'.getBareMessageWith update'Self- 11 -> P'.getMessageWith update'Self- _ -> P'.wireGetErr ft'- where- update'Self wire'Tag old'Self- = case wire'Tag of- 10 -> Prelude'.fmap (\ !new'Field -> old'Self{view = P'.mergeAppend (view old'Self) (new'Field)}) (P'.wireGet 11)- 18 -> Prelude'.fmap (\ !new'Field -> old'Self{mapping = P'.mergeAppend (mapping old'Self) (new'Field)}) (P'.wireGet 11)- _ -> let (field'Number, wire'Type) = P'.splitWireTag wire'Tag in P'.unknown field'Number wire'Type old'Self- -instance P'.MessageAPI msg' (msg' -> Update) Update where- getVal m' f' = f' m'- -instance P'.GPB Update- -instance P'.ReflectDescriptor Update where- getMessageInfo _ = P'.GetMessageInfo (P'.fromDistinctAscList [10, 18]) (P'.fromDistinctAscList [10, 18])- reflectDescriptorInfo _- = Prelude'.read- "DescriptorInfo {descName = ProtoName {protobufName = FIName \".Query_Language.WriteQuery.Update\", haskellPrefix = [MName \"Database\",MName \"RethinkDB\",MName \"Internal\"], parentModule = [MName \"Query_Language\",MName \"WriteQuery\"], baseName = MName \"Update\"}, descFilePath = [\"Database\",\"RethinkDB\",\"Internal\",\"Query_Language\",\"WriteQuery\",\"Update.hs\"], isGroup = False, fields = fromList [FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".Query_Language.WriteQuery.Update.view\", haskellPrefix' = [MName \"Database\",MName \"RethinkDB\",MName \"Internal\"], parentModule' = [MName \"Query_Language\",MName \"WriteQuery\",MName \"Update\"], baseName' = FName \"view\"}, fieldNumber = FieldId {getFieldId = 1}, wireTag = WireTag {getWireTag = 10}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = True, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 11}, typeName = Just (ProtoName {protobufName = FIName \".Query_Language.Term\", haskellPrefix = [MName \"Database\",MName \"RethinkDB\",MName \"Internal\"], parentModule = [MName \"Query_Language\"], baseName = MName \"Term\"}), hsRawDefault = Nothing, hsDefault = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".Query_Language.WriteQuery.Update.mapping\", haskellPrefix' = [MName \"Database\",MName \"RethinkDB\",MName \"Internal\"], parentModule' = [MName \"Query_Language\",MName \"WriteQuery\",MName \"Update\"], baseName' = FName \"mapping\"}, fieldNumber = FieldId {getFieldId = 2}, wireTag = WireTag {getWireTag = 18}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = True, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 11}, typeName = Just (ProtoName {protobufName = FIName \".Query_Language.Mapping\", haskellPrefix = [MName \"Database\",MName \"RethinkDB\",MName \"Internal\"], parentModule = [MName \"Query_Language\"], baseName = MName \"Mapping\"}), hsRawDefault = Nothing, hsDefault = Nothing}], keys = fromList [], extRanges = [], knownKeys = fromList [], storeUnknown = False, lazyFields = False}"
− Database/RethinkDB/Internal/Query_Language/WriteQuery/WriteQueryType.hs
@@ -1,98 +0,0 @@-{-# LANGUAGE BangPatterns, DeriveDataTypeable, FlexibleInstances, MultiParamTypeClasses #-}-module Database.RethinkDB.Internal.Query_Language.WriteQuery.WriteQueryType (WriteQueryType(..)) where-import Prelude ((+), (/), (.))-import qualified Prelude as Prelude'-import qualified Data.Typeable as Prelude'-import qualified Data.Data as Prelude'-import qualified Text.ProtocolBuffers.Header as P'- -data WriteQueryType = UPDATE- | DELETE- | MUTATE- | INSERT- | FOREACH- | POINTUPDATE- | POINTDELETE- | POINTMUTATE- deriving (Prelude'.Read, Prelude'.Show, Prelude'.Eq, Prelude'.Ord, Prelude'.Typeable, Prelude'.Data)- -instance P'.Mergeable WriteQueryType- -instance Prelude'.Bounded WriteQueryType where- minBound = UPDATE- maxBound = POINTMUTATE- -instance P'.Default WriteQueryType where- defaultValue = UPDATE- -toMaybe'Enum :: Prelude'.Int -> P'.Maybe WriteQueryType-toMaybe'Enum 1 = Prelude'.Just UPDATE-toMaybe'Enum 2 = Prelude'.Just DELETE-toMaybe'Enum 3 = Prelude'.Just MUTATE-toMaybe'Enum 4 = Prelude'.Just INSERT-toMaybe'Enum 6 = Prelude'.Just FOREACH-toMaybe'Enum 7 = Prelude'.Just POINTUPDATE-toMaybe'Enum 8 = Prelude'.Just POINTDELETE-toMaybe'Enum 9 = Prelude'.Just POINTMUTATE-toMaybe'Enum _ = Prelude'.Nothing- -instance Prelude'.Enum WriteQueryType where- fromEnum UPDATE = 1- fromEnum DELETE = 2- fromEnum MUTATE = 3- fromEnum INSERT = 4- fromEnum FOREACH = 6- fromEnum POINTUPDATE = 7- fromEnum POINTDELETE = 8- fromEnum POINTMUTATE = 9- toEnum- = P'.fromMaybe- (Prelude'.error- "hprotoc generated code: toEnum failure for type Database.RethinkDB.Internal.Query_Language.WriteQuery.WriteQueryType")- . toMaybe'Enum- succ UPDATE = DELETE- succ DELETE = MUTATE- succ MUTATE = INSERT- succ INSERT = FOREACH- succ FOREACH = POINTUPDATE- succ POINTUPDATE = POINTDELETE- succ POINTDELETE = POINTMUTATE- succ _- = Prelude'.error- "hprotoc generated code: succ failure for type Database.RethinkDB.Internal.Query_Language.WriteQuery.WriteQueryType"- pred DELETE = UPDATE- pred MUTATE = DELETE- pred INSERT = MUTATE- pred FOREACH = INSERT- pred POINTUPDATE = FOREACH- pred POINTDELETE = POINTUPDATE- pred POINTMUTATE = POINTDELETE- pred _- = Prelude'.error- "hprotoc generated code: pred failure for type Database.RethinkDB.Internal.Query_Language.WriteQuery.WriteQueryType"- -instance P'.Wire WriteQueryType where- wireSize ft' enum = P'.wireSize ft' (Prelude'.fromEnum enum)- wirePut ft' enum = P'.wirePut ft' (Prelude'.fromEnum enum)- wireGet 14 = P'.wireGetEnum toMaybe'Enum- wireGet ft' = P'.wireGetErr ft'- wireGetPacked 14 = P'.wireGetPackedEnum toMaybe'Enum- wireGetPacked ft' = P'.wireGetErr ft'- -instance P'.GPB WriteQueryType- -instance P'.MessageAPI msg' (msg' -> WriteQueryType) WriteQueryType where- getVal m' f' = f' m'- -instance P'.ReflectEnum WriteQueryType where- reflectEnum- = [(1, "UPDATE", UPDATE), (2, "DELETE", DELETE), (3, "MUTATE", MUTATE), (4, "INSERT", INSERT), (6, "FOREACH", FOREACH),- (7, "POINTUPDATE", POINTUPDATE), (8, "POINTDELETE", POINTDELETE), (9, "POINTMUTATE", POINTMUTATE)]- reflectEnumInfo _- = P'.EnumInfo- (P'.makePNF (P'.pack ".Query_Language.WriteQuery.WriteQueryType") ["Database", "RethinkDB", "Internal"]- ["Query_Language", "WriteQuery"]- "WriteQueryType")- ["Database", "RethinkDB", "Internal", "Query_Language", "WriteQuery", "WriteQueryType.hs"]- [(1, "UPDATE"), (2, "DELETE"), (3, "MUTATE"), (4, "INSERT"), (6, "FOREACH"), (7, "POINTUPDATE"), (8, "POINTDELETE"),- (9, "POINTMUTATE")]
− Database/RethinkDB/Internal/Types.hs
@@ -1,83 +0,0 @@-module Database.RethinkDB.Internal.Types (- module Database.RethinkDB.Internal.Query_Language.ReadQuery,- module Database.RethinkDB.Internal.Query_Language.Builtin.ConcatMap,- module Database.RethinkDB.Internal.Query_Language.Builtin.Comparison,- module Database.RethinkDB.Internal.Query_Language.Builtin.Map,- module Database.RethinkDB.Internal.Query_Language.Builtin.Filter,- module Database.RethinkDB.Internal.Query_Language.Builtin.GroupedMapReduce,- module Database.RethinkDB.Internal.Query_Language.Builtin.OrderBy,- module Database.RethinkDB.Internal.Query_Language.Builtin.Range,- module Database.RethinkDB.Internal.Query_Language.Builtin.BuiltinType,- module Database.RethinkDB.Internal.Query_Language.Query,- module Database.RethinkDB.Internal.Query_Language.Term,- module Database.RethinkDB.Internal.Query_Language.WriteQuery.WriteQueryType,- module Database.RethinkDB.Internal.Query_Language.WriteQuery.PointDelete,- module Database.RethinkDB.Internal.Query_Language.WriteQuery.Insert,- module Database.RethinkDB.Internal.Query_Language.WriteQuery.Update,- module Database.RethinkDB.Internal.Query_Language.WriteQuery.PointUpdate,- module Database.RethinkDB.Internal.Query_Language.WriteQuery.Delete,- module Database.RethinkDB.Internal.Query_Language.WriteQuery.ForEach,- module Database.RethinkDB.Internal.Query_Language.WriteQuery.Mutate,- module Database.RethinkDB.Internal.Query_Language.WriteQuery.PointMutate,- module Database.RethinkDB.Internal.Query_Language.Response,- module Database.RethinkDB.Internal.Query_Language.VarTermTuple,- module Database.RethinkDB.Internal.Query_Language.Reduction,- module Database.RethinkDB.Internal.Query_Language.Term.Call,- module Database.RethinkDB.Internal.Query_Language.Term.Table,- module Database.RethinkDB.Internal.Query_Language.Term.GetByKey,- module Database.RethinkDB.Internal.Query_Language.Term.Let,- module Database.RethinkDB.Internal.Query_Language.Term.If,- module Database.RethinkDB.Internal.Query_Language.Term.TermType,- module Database.RethinkDB.Internal.Query_Language.Query.QueryType,- module Database.RethinkDB.Internal.Query_Language.MetaQuery,- module Database.RethinkDB.Internal.Query_Language.MetaQuery.MetaQueryType,- module Database.RethinkDB.Internal.Query_Language.MetaQuery.CreateTable,- module Database.RethinkDB.Internal.Query_Language.Predicate,- module Database.RethinkDB.Internal.Query_Language.Builtin,- module Database.RethinkDB.Internal.Query_Language.Response.StatusCode,- module Database.RethinkDB.Internal.Query_Language.Response.Backtrace,- module Database.RethinkDB.Internal.Query_Language.TableRef,- module Database.RethinkDB.Internal.Query_Language.WriteQuery,- module Database.RethinkDB.Internal.Query_Language.Mapping,- ) where--import Database.RethinkDB.Internal.Query_Language.ReadQuery hiding (ext'field, term)-import Database.RethinkDB.Internal.Query_Language.Builtin.ConcatMap hiding (mapping)-import Database.RethinkDB.Internal.Query_Language.Builtin.Comparison-import Database.RethinkDB.Internal.Query_Language.Builtin.Map hiding (mapping)-import Database.RethinkDB.Internal.Query_Language.Builtin.Filter-import Database.RethinkDB.Internal.Query_Language.Builtin.GroupedMapReduce-import Database.RethinkDB.Internal.Query_Language.Builtin.OrderBy hiding (attr)-import Database.RethinkDB.Internal.Query_Language.Builtin.Range hiding (attrname)-import Database.RethinkDB.Internal.Query_Language.Builtin.BuiltinType-import Database.RethinkDB.Internal.Query_Language.Query hiding (token, type')-import Database.RethinkDB.Internal.Query_Language.Term hiding (ext'field, type', var)-import Database.RethinkDB.Internal.Query_Language.WriteQuery.WriteQueryType-import Database.RethinkDB.Internal.Query_Language.WriteQuery.PointDelete hiding (attrname, table_ref, key)-import Database.RethinkDB.Internal.Query_Language.WriteQuery.Insert hiding (table_ref)-import Database.RethinkDB.Internal.Query_Language.WriteQuery.Update hiding (mapping, view)-import Database.RethinkDB.Internal.Query_Language.WriteQuery.PointUpdate hiding (key, table_ref, attrname)-import Database.RethinkDB.Internal.Query_Language.WriteQuery.Delete hiding (view)-import Database.RethinkDB.Internal.Query_Language.WriteQuery.ForEach hiding (var)-import Database.RethinkDB.Internal.Query_Language.WriteQuery.Mutate hiding (mapping, view)-import Database.RethinkDB.Internal.Query_Language.WriteQuery.PointMutate hiding (key, table_ref, attrname, mapping)-import Database.RethinkDB.Internal.Query_Language.Response hiding (token)-import Database.RethinkDB.Internal.Query_Language.VarTermTuple hiding (var, term)-import Database.RethinkDB.Internal.Query_Language.Reduction hiding (body)-import Database.RethinkDB.Internal.Query_Language.Term.Call-import Database.RethinkDB.Internal.Query_Language.Term.Table hiding (table_ref)-import Database.RethinkDB.Internal.Query_Language.Term.GetByKey hiding (key, table_ref, attrname)-import Database.RethinkDB.Internal.Query_Language.Term.Let-import Database.RethinkDB.Internal.Query_Language.Term.If-import Database.RethinkDB.Internal.Query_Language.Term.TermType-import Database.RethinkDB.Internal.Query_Language.Query.QueryType-import Database.RethinkDB.Internal.Query_Language.MetaQuery hiding (type', db_name)-import Database.RethinkDB.Internal.Query_Language.MetaQuery.MetaQueryType-import Database.RethinkDB.Internal.Query_Language.MetaQuery.CreateTable hiding (table_ref)-import Database.RethinkDB.Internal.Query_Language.Predicate hiding (body, arg)-import Database.RethinkDB.Internal.Query_Language.Builtin hiding (attr, type')-import Database.RethinkDB.Internal.Query_Language.Response.StatusCode-import Database.RethinkDB.Internal.Query_Language.Response.Backtrace-import Database.RethinkDB.Internal.Query_Language.TableRef hiding (db_name)-import Database.RethinkDB.Internal.Query_Language.WriteQuery hiding (type')-import Database.RethinkDB.Internal.Query_Language.Mapping hiding (arg, body, ext'field)
+ Database/RethinkDB/MapReduce.hs view
@@ -0,0 +1,114 @@+module Database.RethinkDB.MapReduce where++import Control.Monad.State+import Control.Monad.Writer+import qualified Data.Text as T++import Database.RethinkDB.Protobuf.Ql2.Term.TermType+import qualified Database.RethinkDB.Protobuf.Ql2.Datum as Datum++import Database.RethinkDB.ReQL+import Database.RethinkDB.Objects++termToMapReduce ::+ (ReQL -> ReQL) -> State QuerySettings (ReQL -> ReQL, ReQL -> ReQL -> ReQL, ReQL -> ReQL)+termToMapReduce f = do+ v <- newVarId+ body <- baseReQL $ f (op VAR [v] ())+ let MapReduce map reduce finally = toMapReduce v body+ return (map, reduce, finally)++toReduce :: MapReduce -> (ReQL -> ReQL, ReQL -> ReQL -> ReQL, ReQL -> ReQL)+toReduce (None t) = (\_ -> expr (), \_ _ -> expr (), const t)+toReduce (Map m) = ((\x -> expr [x]) . m, unionReduce, id)+toReduce (MapReduce m r f) = (m, r, f)++unionReduce :: ReQL -> ReQL -> ReQL+unionReduce a b = op UNION (a, b) ()++sameVar :: Int -> BaseArray -> Bool+sameVar x [BaseReQL DATUM (Just (Datum.Datum{ Datum.r_num = Just y })) _ _] =+ fromIntegral x == y+sameVar _ _ = False++notNone :: MapReduce -> Bool+notNone None{} = False+notNone _ = True++wrap :: BaseReQL -> ReQL+wrap = ReQL . return++toFun1 :: ReQL -> (ReQL -> ReQL)+toFun1 f a = op FUNCALL (f, a) ()++toFun2 :: ReQL -> (ReQL -> ReQL -> ReQL)+toFun2 f a b = op FUNCALL (f, a, b) ()++toMapReduce :: Int -> BaseReQL -> MapReduce+toMapReduce _ t@(BaseReQL DATUM _ _ _) = None $ wrap t+toMapReduce v (BaseReQL VAR _ w _) | sameVar v w = Map id+toMapReduce v t@(BaseReQL type' _ args optargs) = let+ args' = map (toMapReduce v) args+ optargs' = map (\(BaseAttribute k vv) -> (k, toMapReduce v vv)) optargs+ count = length $ filter notNone $ args' ++ map snd optargs'+ rebuild = (if count == 1 then rebuild0 else rebuildx) type' args' optargs'+ in if count == 0 then None $ wrap t+ else if not $ count == 1+ then rebuild else+ case (type', args') of+ (MAP, [Map m, None f]) -> Map (toFun1 f . m)+ (REDUCE, [Map m, None f]) -> MapReduce m (toFun2 f) id+ (COUNT, [Map _]) -> MapReduce (const 1)+ (\a b -> op ADD (a, b) ()) id+ _ -> rebuild++data MapReduce =+ None ReQL |+ Map (ReQL -> ReQL) |+ MapReduce (ReQL -> ReQL) (ReQL -> ReQL -> ReQL) (ReQL -> ReQL)++rebuild0 :: TermType -> [MapReduce] -> [(T.Text, MapReduce)] -> MapReduce+rebuild0 ttype args optargs = MapReduce maps reduce finals where+ (finally2, [mr]) = extract Nothing ttype args optargs+ (maps, reduce, finally1) = toReduce mr+ finals = finally2 . finally1++rebuildx :: TermType -> [MapReduce] -> [(Key, MapReduce)] -> MapReduce+rebuildx ttype args optargs = MapReduce maps reduces finallys where+ (finally, mrs) = extract (Just 0) ttype args optargs+ index = zip ([0..] :: [Int])+ triplets = map toReduce mrs+ maps x = expr $ map (($ x) . fst3) triplets+ reduces a b = expr $ map (uncurry $ mkReduce a b) . index $ map snd3 triplets+ finallys x = finally $ expr $ map (uncurry $ mkFinally x) . index $ map thrd3 triplets+ mkReduce a b i f = f (op NTH (a, i) ()) (op NTH (b, i) ())+ mkFinally x i f = f (op NTH (x, i) ())++fst3 :: (a,b,c) -> a+fst3 (a,_,_) = a++snd3 :: (a,b,c) -> b+snd3 (_,b,_) = b++thrd3 :: (a,b,c) -> c+thrd3 (_,_,c) = c++extract ::+ Maybe Int -> TermType -> [MapReduce] -> [(Key, MapReduce)]+ -> (ReQL -> ReQL, [MapReduce])+extract state tt args optargs = fst $ flip runState state $ runWriterT $ do+ args' <- sequence $ map extractOne args+ optargvs' <- sequence $ map extractOne (map snd optargs)+ let optargks = map fst optargs+ return $ \v -> op tt (map ($ v) args') (zipWith (:=) optargks $ map ($ v) optargvs')++extractOne :: MapReduce -> WriterT [MapReduce] (State (Maybe Int)) (ReQL -> ReQL)+extractOne (None term) = return $ const term+extractOne mr = do+ tell [mr]+ st <- get+ case st of+ Nothing -> return id+ Just n -> do+ put $ Just $ n + 1+ return $ \v -> op NTH (v, n) ()
+ Database/RethinkDB/Network.hs view
@@ -0,0 +1,344 @@+{-# LANGUAGE RecordWildCards, OverloadedStrings, DeriveDataTypeable, NamedFieldPuns #-}++module Database.RethinkDB.Network (+ RethinkDBHandle(..),+ connect,+ close,+ use,+ runQLQuery,+ Cursor,+ makeCursor,+ next,+ collect,+ stopResponse,+ nextResponse,+ Response(..),+ SuccessCode(..),+ ErrorCode(..),+ RethinkDBError(..),+ RethinkDBConnectionError(..),+ ) where++import Control.Monad (when, forever)+import Data.Typeable (Typeable)+import Network (HostName, connectTo, PortID(PortNumber))+import System.IO (Handle, hClose, hIsEOF)+import Data.ByteString.Lazy (pack, unpack, hPut, hGet, ByteString)+import qualified Data.ByteString.Lazy as B+import qualified Data.ByteString.UTF8 as BS (fromString)+import qualified Data.Text as T+import Control.Concurrent (+ writeChan, MVar, Chan, modifyMVar, readMVar, forkIO, readChan,+ myThreadId, newMVar, ThreadId, withMVar, newChan,+ newEmptyMVar, putMVar, mkWeakMVar)+import Data.Bits (shiftL, (.|.), shiftR)+import Data.Monoid ((<>))+import Data.Foldable hiding (forM_)+import Control.Exception (catches, Exception, throwIO)+import Data.Aeson (toJSON, object, (.=), Value(Null, Bool))+import Data.IORef (IORef, newIORef, atomicModifyIORef', readIORef)+import Data.Map (Map)+import qualified Data.Map as M+import Data.Maybe (fromMaybe, listToMaybe)+import Control.Monad.Fix (fix)+import Data.Int (Int64)+import System.IO.Unsafe (unsafeInterleaveIO)++import Text.ProtocolBuffers.Basic (uToString)+import Text.ProtocolBuffers (messagePut, defaultValue, messageGet)++import Database.RethinkDB.Protobuf.Ql2.Query as Query+import Database.RethinkDB.Protobuf.Ql2.Query.QueryType+import qualified Database.RethinkDB.Protobuf.Ql2.Response as Ql2+import Database.RethinkDB.Protobuf.Ql2.Response.ResponseType+import Database.RethinkDB.Protobuf.Ql2.Datum as Datum+import Database.RethinkDB.Protobuf.Ql2.Datum.DatumType+import Database.RethinkDB.Protobuf.Ql2.Datum.AssocPair+import Database.RethinkDB.Protobuf.Ql2.VersionDummy.Version++import Database.RethinkDB.Objects as O+import Database.RethinkDB.ReQL (+ BaseReQL, Backtrace, convertBacktrace)++type Token = Int64++-- | A connection to the database server+data RethinkDBHandle = RethinkDBHandle {+ rdbHandle :: Handle,+ rdbWriteLock :: MVar (),+ rdbToken :: IORef Token, -- ^ The next token to use+ rdbDatabase :: Database, -- ^ The default database+ rdbWait :: IORef (Map Token (Chan Response, BaseReQL)),+ rdbThread :: ThreadId+ }++data Cursor a = Cursor {+ cursorMBox :: MVar Response,+ cursorBuffer :: MVar (Either RethinkDBError ([O.Datum], Bool)),+ cursorMap :: O.Datum -> a }++instance Functor Cursor where+ fmap f Cursor{ .. } = Cursor { cursorMap = f . cursorMap, .. }++instance Show RethinkDBHandle where+ show RethinkDBHandle{ rdbHandle } = "RethinkDB Connection " ++ show rdbHandle++newToken :: RethinkDBHandle -> IO Int64+newToken RethinkDBHandle{rdbToken} =+ atomicModifyIORef' rdbToken $ \x -> (x+1, x)++data RethinkDBConnectionError =+ RethinkDBConnectionError ByteString+ deriving (Show, Typeable)+instance Exception RethinkDBConnectionError++-- | Create a new connection to the database server+--+-- /Example:/ connect using the default port with no passphrase+--+-- >>> h <- connect "localhost" 28015 Nothing++connect :: HostName -> Integer -> Maybe String -> IO RethinkDBHandle+connect host port mauth = do+ h <- connectTo host (PortNumber (fromInteger port))+ hPut h magicNumber+ let auth = B.fromChunks . return . BS.fromString $ fromMaybe "" mauth+ hPut h $ packUInt (fromIntegral $ B.length auth)+ hPut h auth+ res <- hGetNullTerminatedString h+ when (res /= "SUCCESS") $ throwIO (RethinkDBConnectionError res)+ r <- newIORef 1+ let db' = Database "test"+ wlock <- newMVar ()+ waits <- newIORef M.empty+ let rdb = RethinkDBHandle h wlock r db' waits+ tid <- forkIO $ readResponses rdb+ return $ rdb tid++hGetNullTerminatedString :: Handle -> IO ByteString+hGetNullTerminatedString h = go "" where+ go acc = do+ end <- hIsEOF h+ if end then return acc else do+ c <- B.hGet h 1+ if c == B.pack [0] then return acc else+ go (acc <> c)++magicNumber :: ByteString+magicNumber = packUInt $ fromEnum V0_2++-- | Convert a 4-byte byestring to an int+unpackUInt :: ByteString -> Int+unpackUInt s = case unpack s of+ [a,b,c,d] -> fromIntegral a .|.+ fromIntegral b `shiftL` 8 .|.+ fromIntegral c `shiftL` 16 .|.+ fromIntegral d `shiftL` 24+ _ -> error "unpackUInt: lengh is not 4"++-- | Convert an int to a 4-byte bytestring+packUInt :: Int -> B.ByteString+packUInt n = pack $ map fromIntegral $+ [n `mod` 256, (n `shiftR` 8) `mod` 256,+ (n `shiftR` 16) `mod` 256, (n `shiftR` 24) `mod` 256]++withHandle :: RethinkDBHandle -> (Handle -> IO a) -> IO a+withHandle RethinkDBHandle{ rdbHandle, rdbWriteLock } f =+ withMVar rdbWriteLock $ \_ -> f rdbHandle++data RethinkDBError = RethinkDBError {+ errorCode :: ErrorCode,+ errorTerm :: BaseReQL,+ errorMessage :: String,+ errorBacktrace :: Backtrace+ } deriving (Typeable, Show)++instance Exception RethinkDBError++-- | The raw response to a query+data Response = ErrorResponse {+ errorResponse :: RethinkDBError+ } | SuccessResponse {+ successCode :: SuccessCode,+ successDatums :: [O.Datum]+ }++data ErrorCode =+ ErrorBrokenClient |+ ErrorBadQuery |+ ErrorRuntime |+ ErrorUnexpectedResponse++instance Show ErrorCode where+ show ErrorBrokenClient = "broken client error"+ show ErrorBadQuery = "malformed query error"+ show ErrorRuntime = "runtime error"+ show ErrorUnexpectedResponse = "unexpected response"++data SuccessCode =+ SuccessPartial RethinkDBHandle Int64 |+ Success+ deriving Show++instance Show Response where+ show (ErrorResponse RethinkDBError {..}) =+ show errorCode ++ ": " +++ show errorMessage ++ " (" +++ show errorBacktrace ++ ")"+ show SuccessResponse {..} = show successCode ++ ": " ++ show successDatums++convertResponse :: RethinkDBHandle -> BaseReQL -> Int64 -> Ql2.Response -> Response+convertResponse h q t Ql2.Response{ .. } = case type' of+ Just SUCCESS_ATOM -> SuccessResponse Success (map convertDatum r)+ Just SUCCESS_PARTIAL -> SuccessResponse (SuccessPartial h t) (map convertDatum r)+ Just SUCCESS_SEQUENCE -> SuccessResponse Success (map convertDatum r)+ Just CLIENT_ERROR -> ErrorResponse $ RethinkDBError ErrorBrokenClient q e bt+ Just COMPILE_ERROR -> ErrorResponse $ RethinkDBError ErrorBadQuery q e bt+ Just RUNTIME_ERROR -> ErrorResponse $ RethinkDBError ErrorRuntime q e bt+ Nothing -> ErrorResponse $ RethinkDBError ErrorUnexpectedResponse q e bt+ where+ bt = maybe [] convertBacktrace backtrace+ r = toList response+ e = maybe "" uToString $ r_str =<< listToMaybe (toList response) + -- TODO: nicer backtrace++runQLQuery :: RethinkDBHandle -> Query -> BaseReQL -> IO (MVar Response)+runQLQuery h query term = do+ tok <- newToken h+ mbox <- addMBox h tok term+ sendQLQuery h query{ Query.token = Just tok }+ return mbox++addMBox :: RethinkDBHandle -> Token -> BaseReQL -> IO (MVar Response)+addMBox h tok term = do+ chan <- newChan+ atomicModifyIORef' (rdbWait h) $ \mboxes -> + (M.insert tok (chan, term) mboxes, ())+ mbox <- newEmptyMVar+ _ <- mkWeakMVar mbox $ do+ atomicModifyIORef' (rdbWait h) $ \mboxes -> + (M.delete tok mboxes, ())+ _ <- forkIO $ fix $ \loop -> do+ response <- readChan chan+ putMVar mbox response+ when (not $ isLastResponse response) $ do+ nextResponse response+ loop+ return mbox++sendQLQuery :: RethinkDBHandle -> Query -> IO ()+sendQLQuery h query = do+ let queryS = messagePut query+ withHandle h $ \s ->+ hPut s $ packUInt (fromIntegral $ B.length queryS) <> queryS++data RethinkDBReadError =+ RethinkDBReadError String+ deriving (Show, Typeable)+instance Exception RethinkDBReadError++readResponses :: (ThreadId -> RethinkDBHandle) -> IO ()+readResponses h' = do+ tid <- myThreadId+ let h = h' tid+ forever $ flip catches handlers $+ readSingleResponse h+ where+ handlers = []++readSingleResponse :: RethinkDBHandle -> IO ()+readSingleResponse h = do+ header <- hGet (rdbHandle h) 4+ rawResponse <- hGet (rdbHandle h) (unpackUInt header)+ let parsedResponse = messageGet rawResponse+ case parsedResponse of+ Left errMsg -> throwIO $ RethinkDBReadError errMsg+ Right (response, rest)+ | B.null rest -> dispatch (Ql2.token response) response+ | otherwise -> throwIO $ RethinkDBReadError "RethinkDB: readResponses: invalid reply length"++ where+ dispatch Nothing _ = return ()+ dispatch (Just tok) response = do+ mboxes <- readIORef $ rdbWait h+ case M.lookup tok mboxes of+ Nothing -> return ()+ Just (mbox, term) -> do+ let convertedResponse = convertResponse h term tok response+ writeChan mbox convertedResponse+ when (isLastResponse convertedResponse) $+ atomicModifyIORef' (rdbWait h) $ \m -> (M.delete tok m, ())++isLastResponse :: Response -> Bool+isLastResponse ErrorResponse{} = True+isLastResponse SuccessResponse{ successCode = Success } = True+isLastResponse SuccessResponse{ successCode = SuccessPartial{} } = False++-- | Set the default database+--+-- The new handle is an alias for the old one. Calling close on either one+-- will close both.+use :: RethinkDBHandle -> Database -> RethinkDBHandle+use h db' = h { rdbDatabase = db' }++-- | Close an open connection+close :: RethinkDBHandle -> IO ()+close RethinkDBHandle{ rdbHandle } = hClose rdbHandle++convertDatum :: Datum.Datum -> O.Datum+convertDatum Datum { type' = Just R_NULL } = Null+convertDatum Datum { type' = Just R_BOOL, r_bool = Just b } = Bool b+convertDatum Datum { type' = Just R_ARRAY, r_array = a } = toJSON (map convertDatum $ toList a)+convertDatum Datum { type' = Just R_OBJECT, r_object = o } =+ object $ Prelude.concatMap pair $ toList o+ where+ pair (AssocPair (Just k) (Just v)) = [(T.pack $ uToString $ k) .= convertDatum v]+ pair _ = []+convertDatum Datum { type' = Just R_STR, r_str = Just s } = toJSON (uToString s)+convertDatum Datum { type' = Just R_NUM, r_num = Just n } = toJSON n+convertDatum d = error ("Invalid Datum: " ++ show d)++stopResponse :: Response -> IO ()+stopResponse SuccessResponse { successCode = SuccessPartial h tok } = do+ let query = defaultValue { Query.type' = Just STOP, Query.token = Just tok}+ sendQLQuery h query+stopResponse _ = return ()++nextResponse :: Response -> IO ()+nextResponse SuccessResponse { successCode = SuccessPartial h tok } = do+ let query = defaultValue { Query.type' = Just CONTINUE, Query.token = Just tok}+ sendQLQuery h query+nextResponse _ = return ()++makeCursor :: MVar Response -> IO (Cursor O.Datum)+makeCursor cursorMBox = do+ cursorBuffer <- newMVar (Right ([], False))+ return Cursor{..}+ where cursorMap = id++-- | Get the next value from a cursor+next :: Cursor a -> IO (Maybe a)+next c@Cursor{ .. } = modifyMVar cursorBuffer $ fix $ \loop mbuffer ->+ case mbuffer of+ Left err -> throwIO err+ Right ([], True) -> return (Right ([], True), Nothing)+ Right (x:xs, end) -> return $ (Right (xs, end), Just (cursorMap x))+ Right ([], False) -> cursorFetchBatch c >>= loop++cursorFetchBatch :: Cursor a -> IO (Either RethinkDBError ([O.Datum], Bool))+cursorFetchBatch c = do+ response <- readMVar (cursorMBox c)+ case response of+ ErrorResponse e -> return $ Left e+ SuccessResponse Success datums -> return $ Right (datums, True)+ SuccessResponse SuccessPartial{} datums -> return $ Right (datums, False)++-- | A lazy stream of all the elements in the cursor+collect :: Cursor a -> IO [a]+collect c = fix $ \loop -> do+ n <- next c+ case n of+ Nothing -> return []+ Just x -> do+ xs <- unsafeInterleaveIO $ loop+ return $ x : xs
+ Database/RethinkDB/Objects.hs view
@@ -0,0 +1,45 @@+module Database.RethinkDB.Objects (+ Database(..),+ TableCreateOptions(..),+ Table(..),+ Datum,+ Key+ ) where++import Data.Default (def, Default)+import Data.Int (Int64)+import Data.Text as Text+import Data.Aeson (Value)++type Key = Text++-- | A database, referenced by name+data Database = Database {+ databaseName :: Text+ } deriving (Eq, Ord)++instance Show Database where+ show (Database d) = show d++-- | Options used to create a table+data TableCreateOptions = TableCreateOptions {+ tableDataCenter :: Maybe Text,+ tableCacheSize :: Maybe Int64+ }++instance Default TableCreateOptions where+ def = TableCreateOptions Nothing Nothing++-- | A table description+data Table = Table {+ tableDatabase :: Maybe Database, -- ^ when Nothing, use the connection's database+ tableName :: Text,+ tablePrimaryKey :: Maybe Key+ } deriving (Eq, Ord)++instance Show Table where+ show (Table db' nam mkey) =+ maybe "" (\(Database d) -> Text.unpack d++".") db' ++ Text.unpack nam +++ maybe "" (\k -> "[" ++ show k ++ "]") mkey++type Datum = Value
+ Database/RethinkDB/Protobuf/Ql2.hs view
@@ -0,0 +1,21 @@+{-# LANGUAGE BangPatterns, DeriveDataTypeable, FlexibleInstances, MultiParamTypeClasses #-}+module Database.RethinkDB.Protobuf.Ql2 (protoInfo, fileDescriptorProto) where+import Prelude ((+), (/))+import qualified Prelude as Prelude'+import qualified Data.Typeable as Prelude'+import qualified Data.Data as Prelude'+import qualified Text.ProtocolBuffers.Header as P'+import Text.DescriptorProtos.FileDescriptorProto (FileDescriptorProto)+import Text.ProtocolBuffers.Reflections (ProtoInfo)+import qualified Text.ProtocolBuffers.WireMessage as P' (wireGet,getFromBS)+ +protoInfo :: ProtoInfo+protoInfo+ = Prelude'.read+ "ProtoInfo {protoMod = ProtoName {protobufName = FIName \".Ql2\", haskellPrefix = [MName \"Database\",MName \"RethinkDB\",MName \"Protobuf\"], parentModule = [], baseName = MName \"Ql2\"}, protoFilePath = [\"Database\",\"RethinkDB\",\"Protobuf\",\"Ql2.hs\"], protoSource = \"ql2.proto\", extensionKeys = fromList [], messages = [DescriptorInfo {descName = ProtoName {protobufName = FIName \".Ql2.VersionDummy\", haskellPrefix = [MName \"Database\",MName \"RethinkDB\",MName \"Protobuf\"], parentModule = [MName \"Ql2\"], baseName = MName \"VersionDummy\"}, descFilePath = [\"Database\",\"RethinkDB\",\"Protobuf\",\"Ql2\",\"VersionDummy.hs\"], isGroup = False, fields = fromList [], keys = fromList [], extRanges = [], knownKeys = fromList [], storeUnknown = False, lazyFields = False},DescriptorInfo {descName = ProtoName {protobufName = FIName \".Ql2.Query\", haskellPrefix = [MName \"Database\",MName \"RethinkDB\",MName \"Protobuf\"], parentModule = [MName \"Ql2\"], baseName = MName \"Query\"}, descFilePath = [\"Database\",\"RethinkDB\",\"Protobuf\",\"Ql2\",\"Query.hs\"], isGroup = False, fields = fromList [FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".Ql2.Query.type\", haskellPrefix' = [MName \"Database\",MName \"RethinkDB\",MName \"Protobuf\"], parentModule' = [MName \"Ql2\",MName \"Query\"], baseName' = FName \"type'\"}, fieldNumber = FieldId {getFieldId = 1}, wireTag = WireTag {getWireTag = 8}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 14}, typeName = Just (ProtoName {protobufName = FIName \".Ql2.Query.QueryType\", haskellPrefix = [MName \"Database\",MName \"RethinkDB\",MName \"Protobuf\"], parentModule = [MName \"Ql2\",MName \"Query\"], baseName = MName \"QueryType\"}), hsRawDefault = Nothing, hsDefault = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".Ql2.Query.query\", haskellPrefix' = [MName \"Database\",MName \"RethinkDB\",MName \"Protobuf\"], parentModule' = [MName \"Ql2\",MName \"Query\"], baseName' = FName \"query\"}, fieldNumber = FieldId {getFieldId = 2}, wireTag = WireTag {getWireTag = 18}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 11}, typeName = Just (ProtoName {protobufName = FIName \".Ql2.Term\", haskellPrefix = [MName \"Database\",MName \"RethinkDB\",MName \"Protobuf\"], parentModule = [MName \"Ql2\"], baseName = MName \"Term\"}), hsRawDefault = Nothing, hsDefault = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".Ql2.Query.token\", haskellPrefix' = [MName \"Database\",MName \"RethinkDB\",MName \"Protobuf\"], parentModule' = [MName \"Ql2\",MName \"Query\"], baseName' = FName \"token\"}, fieldNumber = FieldId {getFieldId = 3}, wireTag = WireTag {getWireTag = 24}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 3}, typeName = Nothing, hsRawDefault = Nothing, hsDefault = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".Ql2.Query.OBSOLETE_noreply\", haskellPrefix' = [MName \"Database\",MName \"RethinkDB\",MName \"Protobuf\"], parentModule' = [MName \"Ql2\",MName \"Query\"], baseName' = FName \"oBSOLETE_noreply\"}, fieldNumber = FieldId {getFieldId = 4}, wireTag = WireTag {getWireTag = 32}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 8}, typeName = Nothing, hsRawDefault = Just \"false\", hsDefault = Just (HsDef'Bool False)},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".Ql2.Query.global_optargs\", haskellPrefix' = [MName \"Database\",MName \"RethinkDB\",MName \"Protobuf\"], parentModule' = [MName \"Ql2\",MName \"Query\"], baseName' = FName \"global_optargs\"}, fieldNumber = FieldId {getFieldId = 6}, wireTag = WireTag {getWireTag = 50}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = True, mightPack = False, typeCode = FieldType {getFieldType = 11}, typeName = Just (ProtoName {protobufName = FIName \".Ql2.Query.AssocPair\", haskellPrefix = [MName \"Database\",MName \"RethinkDB\",MName \"Protobuf\"], parentModule = [MName \"Ql2\",MName \"Query\"], baseName = MName \"AssocPair\"}), hsRawDefault = Nothing, hsDefault = Nothing}], keys = fromList [], extRanges = [], knownKeys = fromList [], storeUnknown = False, lazyFields = False},DescriptorInfo {descName = ProtoName {protobufName = FIName \".Ql2.Query.AssocPair\", haskellPrefix = [MName \"Database\",MName \"RethinkDB\",MName \"Protobuf\"], parentModule = [MName \"Ql2\",MName \"Query\"], baseName = MName \"AssocPair\"}, descFilePath = [\"Database\",\"RethinkDB\",\"Protobuf\",\"Ql2\",\"Query\",\"AssocPair.hs\"], isGroup = False, fields = fromList [FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".Ql2.Query.AssocPair.key\", haskellPrefix' = [MName \"Database\",MName \"RethinkDB\",MName \"Protobuf\"], parentModule' = [MName \"Ql2\",MName \"Query\",MName \"AssocPair\"], baseName' = FName \"key\"}, fieldNumber = FieldId {getFieldId = 1}, wireTag = WireTag {getWireTag = 10}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 9}, typeName = Nothing, hsRawDefault = Nothing, hsDefault = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".Ql2.Query.AssocPair.val\", haskellPrefix' = [MName \"Database\",MName \"RethinkDB\",MName \"Protobuf\"], parentModule' = [MName \"Ql2\",MName \"Query\",MName \"AssocPair\"], baseName' = FName \"val\"}, fieldNumber = FieldId {getFieldId = 2}, wireTag = WireTag {getWireTag = 18}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 11}, typeName = Just (ProtoName {protobufName = FIName \".Ql2.Term\", haskellPrefix = [MName \"Database\",MName \"RethinkDB\",MName \"Protobuf\"], parentModule = [MName \"Ql2\"], baseName = MName \"Term\"}), hsRawDefault = Nothing, hsDefault = Nothing}], keys = fromList [], extRanges = [], knownKeys = fromList [], storeUnknown = False, lazyFields = False},DescriptorInfo {descName = ProtoName {protobufName = FIName \".Ql2.Frame\", haskellPrefix = [MName \"Database\",MName \"RethinkDB\",MName \"Protobuf\"], parentModule = [MName \"Ql2\"], baseName = MName \"Frame\"}, descFilePath = [\"Database\",\"RethinkDB\",\"Protobuf\",\"Ql2\",\"Frame.hs\"], isGroup = False, fields = fromList [FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".Ql2.Frame.type\", haskellPrefix' = [MName \"Database\",MName \"RethinkDB\",MName \"Protobuf\"], parentModule' = [MName \"Ql2\",MName \"Frame\"], baseName' = FName \"type'\"}, fieldNumber = FieldId {getFieldId = 1}, wireTag = WireTag {getWireTag = 8}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 14}, typeName = Just (ProtoName {protobufName = FIName \".Ql2.Frame.FrameType\", haskellPrefix = [MName \"Database\",MName \"RethinkDB\",MName \"Protobuf\"], parentModule = [MName \"Ql2\",MName \"Frame\"], baseName = MName \"FrameType\"}), hsRawDefault = Nothing, hsDefault = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".Ql2.Frame.pos\", haskellPrefix' = [MName \"Database\",MName \"RethinkDB\",MName \"Protobuf\"], parentModule' = [MName \"Ql2\",MName \"Frame\"], baseName' = FName \"pos\"}, fieldNumber = FieldId {getFieldId = 2}, wireTag = WireTag {getWireTag = 16}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 3}, typeName = Nothing, hsRawDefault = Nothing, hsDefault = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".Ql2.Frame.opt\", haskellPrefix' = [MName \"Database\",MName \"RethinkDB\",MName \"Protobuf\"], parentModule' = [MName \"Ql2\",MName \"Frame\"], baseName' = FName \"opt\"}, fieldNumber = FieldId {getFieldId = 3}, wireTag = WireTag {getWireTag = 26}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 9}, typeName = Nothing, hsRawDefault = Nothing, hsDefault = Nothing}], keys = fromList [], extRanges = [], knownKeys = fromList [], storeUnknown = False, lazyFields = False},DescriptorInfo {descName = ProtoName {protobufName = FIName \".Ql2.Backtrace\", haskellPrefix = [MName \"Database\",MName \"RethinkDB\",MName \"Protobuf\"], parentModule = [MName \"Ql2\"], baseName = MName \"Backtrace\"}, descFilePath = [\"Database\",\"RethinkDB\",\"Protobuf\",\"Ql2\",\"Backtrace.hs\"], isGroup = False, fields = fromList [FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".Ql2.Backtrace.frames\", haskellPrefix' = [MName \"Database\",MName \"RethinkDB\",MName \"Protobuf\"], parentModule' = [MName \"Ql2\",MName \"Backtrace\"], baseName' = FName \"frames\"}, fieldNumber = FieldId {getFieldId = 1}, wireTag = WireTag {getWireTag = 10}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = True, mightPack = False, typeCode = FieldType {getFieldType = 11}, typeName = Just (ProtoName {protobufName = FIName \".Ql2.Frame\", haskellPrefix = [MName \"Database\",MName \"RethinkDB\",MName \"Protobuf\"], parentModule = [MName \"Ql2\"], baseName = MName \"Frame\"}), hsRawDefault = Nothing, hsDefault = Nothing}], keys = fromList [], extRanges = [], knownKeys = fromList [], storeUnknown = False, lazyFields = False},DescriptorInfo {descName = ProtoName {protobufName = FIName \".Ql2.Response\", haskellPrefix = [MName \"Database\",MName \"RethinkDB\",MName \"Protobuf\"], parentModule = [MName \"Ql2\"], baseName = MName \"Response\"}, descFilePath = [\"Database\",\"RethinkDB\",\"Protobuf\",\"Ql2\",\"Response.hs\"], isGroup = False, fields = fromList [FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".Ql2.Response.type\", haskellPrefix' = [MName \"Database\",MName \"RethinkDB\",MName \"Protobuf\"], parentModule' = [MName \"Ql2\",MName \"Response\"], baseName' = FName \"type'\"}, fieldNumber = FieldId {getFieldId = 1}, wireTag = WireTag {getWireTag = 8}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 14}, typeName = Just (ProtoName {protobufName = FIName \".Ql2.Response.ResponseType\", haskellPrefix = [MName \"Database\",MName \"RethinkDB\",MName \"Protobuf\"], parentModule = [MName \"Ql2\",MName \"Response\"], baseName = MName \"ResponseType\"}), hsRawDefault = Nothing, hsDefault = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".Ql2.Response.token\", haskellPrefix' = [MName \"Database\",MName \"RethinkDB\",MName \"Protobuf\"], parentModule' = [MName \"Ql2\",MName \"Response\"], baseName' = FName \"token\"}, fieldNumber = FieldId {getFieldId = 2}, wireTag = WireTag {getWireTag = 16}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 3}, typeName = Nothing, hsRawDefault = Nothing, hsDefault = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".Ql2.Response.response\", haskellPrefix' = [MName \"Database\",MName \"RethinkDB\",MName \"Protobuf\"], parentModule' = [MName \"Ql2\",MName \"Response\"], baseName' = FName \"response\"}, fieldNumber = FieldId {getFieldId = 3}, wireTag = WireTag {getWireTag = 26}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = True, mightPack = False, typeCode = FieldType {getFieldType = 11}, typeName = Just (ProtoName {protobufName = FIName \".Ql2.Datum\", haskellPrefix = [MName \"Database\",MName \"RethinkDB\",MName \"Protobuf\"], parentModule = [MName \"Ql2\"], baseName = MName \"Datum\"}), hsRawDefault = Nothing, hsDefault = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".Ql2.Response.backtrace\", haskellPrefix' = [MName \"Database\",MName \"RethinkDB\",MName \"Protobuf\"], parentModule' = [MName \"Ql2\",MName \"Response\"], baseName' = FName \"backtrace\"}, fieldNumber = FieldId {getFieldId = 4}, wireTag = WireTag {getWireTag = 34}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 11}, typeName = Just (ProtoName {protobufName = FIName \".Ql2.Backtrace\", haskellPrefix = [MName \"Database\",MName \"RethinkDB\",MName \"Protobuf\"], parentModule = [MName \"Ql2\"], baseName = MName \"Backtrace\"}), hsRawDefault = Nothing, hsDefault = Nothing}], keys = fromList [], extRanges = [], knownKeys = fromList [], storeUnknown = False, lazyFields = False},DescriptorInfo {descName = ProtoName {protobufName = FIName \".Ql2.Datum\", haskellPrefix = [MName \"Database\",MName \"RethinkDB\",MName \"Protobuf\"], parentModule = [MName \"Ql2\"], baseName = MName \"Datum\"}, descFilePath = [\"Database\",\"RethinkDB\",\"Protobuf\",\"Ql2\",\"Datum.hs\"], isGroup = False, fields = fromList [FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".Ql2.Datum.type\", haskellPrefix' = [MName \"Database\",MName \"RethinkDB\",MName \"Protobuf\"], parentModule' = [MName \"Ql2\",MName \"Datum\"], baseName' = FName \"type'\"}, fieldNumber = FieldId {getFieldId = 1}, wireTag = WireTag {getWireTag = 8}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 14}, typeName = Just (ProtoName {protobufName = FIName \".Ql2.Datum.DatumType\", haskellPrefix = [MName \"Database\",MName \"RethinkDB\",MName \"Protobuf\"], parentModule = [MName \"Ql2\",MName \"Datum\"], baseName = MName \"DatumType\"}), hsRawDefault = Nothing, hsDefault = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".Ql2.Datum.r_bool\", haskellPrefix' = [MName \"Database\",MName \"RethinkDB\",MName \"Protobuf\"], parentModule' = [MName \"Ql2\",MName \"Datum\"], baseName' = FName \"r_bool\"}, fieldNumber = FieldId {getFieldId = 2}, wireTag = WireTag {getWireTag = 16}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 8}, typeName = Nothing, hsRawDefault = Nothing, hsDefault = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".Ql2.Datum.r_num\", haskellPrefix' = [MName \"Database\",MName \"RethinkDB\",MName \"Protobuf\"], parentModule' = [MName \"Ql2\",MName \"Datum\"], baseName' = FName \"r_num\"}, fieldNumber = FieldId {getFieldId = 3}, wireTag = WireTag {getWireTag = 25}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 1}, typeName = Nothing, hsRawDefault = Nothing, hsDefault = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".Ql2.Datum.r_str\", haskellPrefix' = [MName \"Database\",MName \"RethinkDB\",MName \"Protobuf\"], parentModule' = [MName \"Ql2\",MName \"Datum\"], baseName' = FName \"r_str\"}, fieldNumber = FieldId {getFieldId = 4}, wireTag = WireTag {getWireTag = 34}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 9}, typeName = Nothing, hsRawDefault = Nothing, hsDefault = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".Ql2.Datum.r_array\", haskellPrefix' = [MName \"Database\",MName \"RethinkDB\",MName \"Protobuf\"], parentModule' = [MName \"Ql2\",MName \"Datum\"], baseName' = FName \"r_array\"}, fieldNumber = FieldId {getFieldId = 5}, wireTag = WireTag {getWireTag = 42}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = True, mightPack = False, typeCode = FieldType {getFieldType = 11}, typeName = Just (ProtoName {protobufName = FIName \".Ql2.Datum\", haskellPrefix = [MName \"Database\",MName \"RethinkDB\",MName \"Protobuf\"], parentModule = [MName \"Ql2\"], baseName = MName \"Datum\"}), hsRawDefault = Nothing, hsDefault = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".Ql2.Datum.r_object\", haskellPrefix' = [MName \"Database\",MName \"RethinkDB\",MName \"Protobuf\"], parentModule' = [MName \"Ql2\",MName \"Datum\"], baseName' = FName \"r_object\"}, fieldNumber = FieldId {getFieldId = 6}, wireTag = WireTag {getWireTag = 50}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = True, mightPack = False, typeCode = FieldType {getFieldType = 11}, typeName = Just (ProtoName {protobufName = FIName \".Ql2.Datum.AssocPair\", haskellPrefix = [MName \"Database\",MName \"RethinkDB\",MName \"Protobuf\"], parentModule = [MName \"Ql2\",MName \"Datum\"], baseName = MName \"AssocPair\"}), hsRawDefault = Nothing, hsDefault = Nothing}], keys = fromList [], extRanges = [(FieldId {getFieldId = 10000},FieldId {getFieldId = 18999}),(FieldId {getFieldId = 20000},FieldId {getFieldId = 20000})], knownKeys = fromList [], storeUnknown = False, lazyFields = False},DescriptorInfo {descName = ProtoName {protobufName = FIName \".Ql2.Datum.AssocPair\", haskellPrefix = [MName \"Database\",MName \"RethinkDB\",MName \"Protobuf\"], parentModule = [MName \"Ql2\",MName \"Datum\"], baseName = MName \"AssocPair\"}, descFilePath = [\"Database\",\"RethinkDB\",\"Protobuf\",\"Ql2\",\"Datum\",\"AssocPair.hs\"], isGroup = False, fields = fromList [FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".Ql2.Datum.AssocPair.key\", haskellPrefix' = [MName \"Database\",MName \"RethinkDB\",MName \"Protobuf\"], parentModule' = [MName \"Ql2\",MName \"Datum\",MName \"AssocPair\"], baseName' = FName \"key\"}, fieldNumber = FieldId {getFieldId = 1}, wireTag = WireTag {getWireTag = 10}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 9}, typeName = Nothing, hsRawDefault = Nothing, hsDefault = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".Ql2.Datum.AssocPair.val\", haskellPrefix' = [MName \"Database\",MName \"RethinkDB\",MName \"Protobuf\"], parentModule' = [MName \"Ql2\",MName \"Datum\",MName \"AssocPair\"], baseName' = FName \"val\"}, fieldNumber = FieldId {getFieldId = 2}, wireTag = WireTag {getWireTag = 18}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 11}, typeName = Just (ProtoName {protobufName = FIName \".Ql2.Datum\", haskellPrefix = [MName \"Database\",MName \"RethinkDB\",MName \"Protobuf\"], parentModule = [MName \"Ql2\"], baseName = MName \"Datum\"}), hsRawDefault = Nothing, hsDefault = Nothing}], keys = fromList [], extRanges = [], knownKeys = fromList [], storeUnknown = False, lazyFields = False},DescriptorInfo {descName = ProtoName {protobufName = FIName \".Ql2.Term\", haskellPrefix = [MName \"Database\",MName \"RethinkDB\",MName \"Protobuf\"], parentModule = [MName \"Ql2\"], baseName = MName \"Term\"}, descFilePath = [\"Database\",\"RethinkDB\",\"Protobuf\",\"Ql2\",\"Term.hs\"], isGroup = False, fields = fromList [FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".Ql2.Term.type\", haskellPrefix' = [MName \"Database\",MName \"RethinkDB\",MName \"Protobuf\"], parentModule' = [MName \"Ql2\",MName \"Term\"], baseName' = FName \"type'\"}, fieldNumber = FieldId {getFieldId = 1}, wireTag = WireTag {getWireTag = 8}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 14}, typeName = Just (ProtoName {protobufName = FIName \".Ql2.Term.TermType\", haskellPrefix = [MName \"Database\",MName \"RethinkDB\",MName \"Protobuf\"], parentModule = [MName \"Ql2\",MName \"Term\"], baseName = MName \"TermType\"}), hsRawDefault = Nothing, hsDefault = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".Ql2.Term.datum\", haskellPrefix' = [MName \"Database\",MName \"RethinkDB\",MName \"Protobuf\"], parentModule' = [MName \"Ql2\",MName \"Term\"], baseName' = FName \"datum\"}, fieldNumber = FieldId {getFieldId = 2}, wireTag = WireTag {getWireTag = 18}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 11}, typeName = Just (ProtoName {protobufName = FIName \".Ql2.Datum\", haskellPrefix = [MName \"Database\",MName \"RethinkDB\",MName \"Protobuf\"], parentModule = [MName \"Ql2\"], baseName = MName \"Datum\"}), hsRawDefault = Nothing, hsDefault = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".Ql2.Term.args\", haskellPrefix' = [MName \"Database\",MName \"RethinkDB\",MName \"Protobuf\"], parentModule' = [MName \"Ql2\",MName \"Term\"], baseName' = FName \"args\"}, fieldNumber = FieldId {getFieldId = 3}, wireTag = WireTag {getWireTag = 26}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = True, mightPack = False, typeCode = FieldType {getFieldType = 11}, typeName = Just (ProtoName {protobufName = FIName \".Ql2.Term\", haskellPrefix = [MName \"Database\",MName \"RethinkDB\",MName \"Protobuf\"], parentModule = [MName \"Ql2\"], baseName = MName \"Term\"}), hsRawDefault = Nothing, hsDefault = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".Ql2.Term.optargs\", haskellPrefix' = [MName \"Database\",MName \"RethinkDB\",MName \"Protobuf\"], parentModule' = [MName \"Ql2\",MName \"Term\"], baseName' = FName \"optargs\"}, fieldNumber = FieldId {getFieldId = 4}, wireTag = WireTag {getWireTag = 34}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = True, mightPack = False, typeCode = FieldType {getFieldType = 11}, typeName = Just (ProtoName {protobufName = FIName \".Ql2.Term.AssocPair\", haskellPrefix = [MName \"Database\",MName \"RethinkDB\",MName \"Protobuf\"], parentModule = [MName \"Ql2\",MName \"Term\"], baseName = MName \"AssocPair\"}), hsRawDefault = Nothing, hsDefault = Nothing}], keys = fromList [], extRanges = [(FieldId {getFieldId = 10000},FieldId {getFieldId = 18999}),(FieldId {getFieldId = 20000},FieldId {getFieldId = 20000})], knownKeys = fromList [], storeUnknown = False, lazyFields = False},DescriptorInfo {descName = ProtoName {protobufName = FIName \".Ql2.Term.AssocPair\", haskellPrefix = [MName \"Database\",MName \"RethinkDB\",MName \"Protobuf\"], parentModule = [MName \"Ql2\",MName \"Term\"], baseName = MName \"AssocPair\"}, descFilePath = [\"Database\",\"RethinkDB\",\"Protobuf\",\"Ql2\",\"Term\",\"AssocPair.hs\"], isGroup = False, fields = fromList [FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".Ql2.Term.AssocPair.key\", haskellPrefix' = [MName \"Database\",MName \"RethinkDB\",MName \"Protobuf\"], parentModule' = [MName \"Ql2\",MName \"Term\",MName \"AssocPair\"], baseName' = FName \"key\"}, fieldNumber = FieldId {getFieldId = 1}, wireTag = WireTag {getWireTag = 10}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 9}, typeName = Nothing, hsRawDefault = Nothing, hsDefault = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".Ql2.Term.AssocPair.val\", haskellPrefix' = [MName \"Database\",MName \"RethinkDB\",MName \"Protobuf\"], parentModule' = [MName \"Ql2\",MName \"Term\",MName \"AssocPair\"], baseName' = FName \"val\"}, fieldNumber = FieldId {getFieldId = 2}, wireTag = WireTag {getWireTag = 18}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 11}, typeName = Just (ProtoName {protobufName = FIName \".Ql2.Term\", haskellPrefix = [MName \"Database\",MName \"RethinkDB\",MName \"Protobuf\"], parentModule = [MName \"Ql2\"], baseName = MName \"Term\"}), hsRawDefault = Nothing, hsDefault = Nothing}], keys = fromList [], extRanges = [], knownKeys = fromList [], storeUnknown = False, lazyFields = False}], enums = [EnumInfo {enumName = ProtoName {protobufName = FIName \".Ql2.VersionDummy.Version\", haskellPrefix = [MName \"Database\",MName \"RethinkDB\",MName \"Protobuf\"], parentModule = [MName \"Ql2\",MName \"VersionDummy\"], baseName = MName \"Version\"}, enumFilePath = [\"Database\",\"RethinkDB\",\"Protobuf\",\"Ql2\",\"VersionDummy\",\"Version.hs\"], enumValues = [(EnumCode {getEnumCode = 1063369270},\"V0_1\"),(EnumCode {getEnumCode = 1915781601},\"V0_2\")]},EnumInfo {enumName = ProtoName {protobufName = FIName \".Ql2.Query.QueryType\", haskellPrefix = [MName \"Database\",MName \"RethinkDB\",MName \"Protobuf\"], parentModule = [MName \"Ql2\",MName \"Query\"], baseName = MName \"QueryType\"}, enumFilePath = [\"Database\",\"RethinkDB\",\"Protobuf\",\"Ql2\",\"Query\",\"QueryType.hs\"], enumValues = [(EnumCode {getEnumCode = 1},\"START\"),(EnumCode {getEnumCode = 2},\"CONTINUE\"),(EnumCode {getEnumCode = 3},\"STOP\")]},EnumInfo {enumName = ProtoName {protobufName = FIName \".Ql2.Frame.FrameType\", haskellPrefix = [MName \"Database\",MName \"RethinkDB\",MName \"Protobuf\"], parentModule = [MName \"Ql2\",MName \"Frame\"], baseName = MName \"FrameType\"}, enumFilePath = [\"Database\",\"RethinkDB\",\"Protobuf\",\"Ql2\",\"Frame\",\"FrameType.hs\"], enumValues = [(EnumCode {getEnumCode = 1},\"POS\"),(EnumCode {getEnumCode = 2},\"OPT\")]},EnumInfo {enumName = ProtoName {protobufName = FIName \".Ql2.Response.ResponseType\", haskellPrefix = [MName \"Database\",MName \"RethinkDB\",MName \"Protobuf\"], parentModule = [MName \"Ql2\",MName \"Response\"], baseName = MName \"ResponseType\"}, enumFilePath = [\"Database\",\"RethinkDB\",\"Protobuf\",\"Ql2\",\"Response\",\"ResponseType.hs\"], enumValues = [(EnumCode {getEnumCode = 1},\"SUCCESS_ATOM\"),(EnumCode {getEnumCode = 2},\"SUCCESS_SEQUENCE\"),(EnumCode {getEnumCode = 3},\"SUCCESS_PARTIAL\"),(EnumCode {getEnumCode = 16},\"CLIENT_ERROR\"),(EnumCode {getEnumCode = 17},\"COMPILE_ERROR\"),(EnumCode {getEnumCode = 18},\"RUNTIME_ERROR\")]},EnumInfo {enumName = ProtoName {protobufName = FIName \".Ql2.Datum.DatumType\", haskellPrefix = [MName \"Database\",MName \"RethinkDB\",MName \"Protobuf\"], parentModule = [MName \"Ql2\",MName \"Datum\"], baseName = MName \"DatumType\"}, enumFilePath = [\"Database\",\"RethinkDB\",\"Protobuf\",\"Ql2\",\"Datum\",\"DatumType.hs\"], enumValues = [(EnumCode {getEnumCode = 1},\"R_NULL\"),(EnumCode {getEnumCode = 2},\"R_BOOL\"),(EnumCode {getEnumCode = 3},\"R_NUM\"),(EnumCode {getEnumCode = 4},\"R_STR\"),(EnumCode {getEnumCode = 5},\"R_ARRAY\"),(EnumCode {getEnumCode = 6},\"R_OBJECT\")]},EnumInfo {enumName = ProtoName {protobufName = FIName \".Ql2.Term.TermType\", haskellPrefix = [MName \"Database\",MName \"RethinkDB\",MName \"Protobuf\"], parentModule = [MName \"Ql2\",MName \"Term\"], baseName = MName \"TermType\"}, enumFilePath = [\"Database\",\"RethinkDB\",\"Protobuf\",\"Ql2\",\"Term\",\"TermType.hs\"], enumValues = [(EnumCode {getEnumCode = 1},\"DATUM\"),(EnumCode {getEnumCode = 2},\"MAKE_ARRAY\"),(EnumCode {getEnumCode = 3},\"MAKE_OBJ\"),(EnumCode {getEnumCode = 10},\"VAR\"),(EnumCode {getEnumCode = 11},\"JAVASCRIPT\"),(EnumCode {getEnumCode = 12},\"ERROR\"),(EnumCode {getEnumCode = 13},\"IMPLICIT_VAR\"),(EnumCode {getEnumCode = 14},\"DB\"),(EnumCode {getEnumCode = 15},\"TABLE\"),(EnumCode {getEnumCode = 16},\"GET\"),(EnumCode {getEnumCode = 78},\"GET_ALL\"),(EnumCode {getEnumCode = 17},\"EQ\"),(EnumCode {getEnumCode = 18},\"NE\"),(EnumCode {getEnumCode = 19},\"LT\"),(EnumCode {getEnumCode = 20},\"LE\"),(EnumCode {getEnumCode = 21},\"GT\"),(EnumCode {getEnumCode = 22},\"GE\"),(EnumCode {getEnumCode = 23},\"NOT\"),(EnumCode {getEnumCode = 24},\"ADD\"),(EnumCode {getEnumCode = 25},\"SUB\"),(EnumCode {getEnumCode = 26},\"MUL\"),(EnumCode {getEnumCode = 27},\"DIV\"),(EnumCode {getEnumCode = 28},\"MOD\"),(EnumCode {getEnumCode = 29},\"APPEND\"),(EnumCode {getEnumCode = 80},\"PREPEND\"),(EnumCode {getEnumCode = 95},\"DIFFERENCE\"),(EnumCode {getEnumCode = 88},\"SET_INSERT\"),(EnumCode {getEnumCode = 89},\"SET_INTERSECTION\"),(EnumCode {getEnumCode = 90},\"SET_UNION\"),(EnumCode {getEnumCode = 91},\"SET_DIFFERENCE\"),(EnumCode {getEnumCode = 30},\"SLICE\"),(EnumCode {getEnumCode = 70},\"SKIP\"),(EnumCode {getEnumCode = 71},\"LIMIT\"),(EnumCode {getEnumCode = 87},\"INDEXES_OF\"),(EnumCode {getEnumCode = 93},\"CONTAINS\"),(EnumCode {getEnumCode = 31},\"GET_FIELD\"),(EnumCode {getEnumCode = 94},\"KEYS\"),(EnumCode {getEnumCode = 32},\"HAS_FIELDS\"),(EnumCode {getEnumCode = 96},\"WITH_FIELDS\"),(EnumCode {getEnumCode = 33},\"PLUCK\"),(EnumCode {getEnumCode = 34},\"WITHOUT\"),(EnumCode {getEnumCode = 35},\"MERGE\"),(EnumCode {getEnumCode = 36},\"BETWEEN\"),(EnumCode {getEnumCode = 37},\"REDUCE\"),(EnumCode {getEnumCode = 38},\"MAP\"),(EnumCode {getEnumCode = 39},\"FILTER\"),(EnumCode {getEnumCode = 40},\"CONCATMAP\"),(EnumCode {getEnumCode = 41},\"ORDERBY\"),(EnumCode {getEnumCode = 42},\"DISTINCT\"),(EnumCode {getEnumCode = 43},\"COUNT\"),(EnumCode {getEnumCode = 86},\"IS_EMPTY\"),(EnumCode {getEnumCode = 44},\"UNION\"),(EnumCode {getEnumCode = 45},\"NTH\"),(EnumCode {getEnumCode = 46},\"GROUPED_MAP_REDUCE\"),(EnumCode {getEnumCode = 47},\"GROUPBY\"),(EnumCode {getEnumCode = 48},\"INNER_JOIN\"),(EnumCode {getEnumCode = 49},\"OUTER_JOIN\"),(EnumCode {getEnumCode = 50},\"EQ_JOIN\"),(EnumCode {getEnumCode = 72},\"ZIP\"),(EnumCode {getEnumCode = 82},\"INSERT_AT\"),(EnumCode {getEnumCode = 83},\"DELETE_AT\"),(EnumCode {getEnumCode = 84},\"CHANGE_AT\"),(EnumCode {getEnumCode = 85},\"SPLICE_AT\"),(EnumCode {getEnumCode = 51},\"COERCE_TO\"),(EnumCode {getEnumCode = 52},\"TYPEOF\"),(EnumCode {getEnumCode = 53},\"UPDATE\"),(EnumCode {getEnumCode = 54},\"DELETE\"),(EnumCode {getEnumCode = 55},\"REPLACE\"),(EnumCode {getEnumCode = 56},\"INSERT\"),(EnumCode {getEnumCode = 57},\"DB_CREATE\"),(EnumCode {getEnumCode = 58},\"DB_DROP\"),(EnumCode {getEnumCode = 59},\"DB_LIST\"),(EnumCode {getEnumCode = 60},\"TABLE_CREATE\"),(EnumCode {getEnumCode = 61},\"TABLE_DROP\"),(EnumCode {getEnumCode = 62},\"TABLE_LIST\"),(EnumCode {getEnumCode = 75},\"INDEX_CREATE\"),(EnumCode {getEnumCode = 76},\"INDEX_DROP\"),(EnumCode {getEnumCode = 77},\"INDEX_LIST\"),(EnumCode {getEnumCode = 64},\"FUNCALL\"),(EnumCode {getEnumCode = 65},\"BRANCH\"),(EnumCode {getEnumCode = 66},\"ANY\"),(EnumCode {getEnumCode = 67},\"ALL\"),(EnumCode {getEnumCode = 68},\"FOREACH\"),(EnumCode {getEnumCode = 69},\"FUNC\"),(EnumCode {getEnumCode = 73},\"ASC\"),(EnumCode {getEnumCode = 74},\"DESC\"),(EnumCode {getEnumCode = 79},\"INFO\"),(EnumCode {getEnumCode = 97},\"MATCH\"),(EnumCode {getEnumCode = 81},\"SAMPLE\"),(EnumCode {getEnumCode = 92},\"DEFAULT\"),(EnumCode {getEnumCode = 98},\"JSON\"),(EnumCode {getEnumCode = 99},\"ISO8601\"),(EnumCode {getEnumCode = 100},\"TO_ISO8601\"),(EnumCode {getEnumCode = 101},\"EPOCH_TIME\"),(EnumCode {getEnumCode = 102},\"TO_EPOCH_TIME\"),(EnumCode {getEnumCode = 103},\"NOW\"),(EnumCode {getEnumCode = 104},\"IN_TIMEZONE\"),(EnumCode {getEnumCode = 105},\"DURING\"),(EnumCode {getEnumCode = 106},\"DATE\"),(EnumCode {getEnumCode = 126},\"TIME_OF_DAY\"),(EnumCode {getEnumCode = 127},\"TIMEZONE\"),(EnumCode {getEnumCode = 128},\"YEAR\"),(EnumCode {getEnumCode = 129},\"MONTH\"),(EnumCode {getEnumCode = 130},\"DAY\"),(EnumCode {getEnumCode = 131},\"DAY_OF_WEEK\"),(EnumCode {getEnumCode = 132},\"DAY_OF_YEAR\"),(EnumCode {getEnumCode = 133},\"HOURS\"),(EnumCode {getEnumCode = 134},\"MINUTES\"),(EnumCode {getEnumCode = 135},\"SECONDS\"),(EnumCode {getEnumCode = 136},\"TIME\"),(EnumCode {getEnumCode = 107},\"MONDAY\"),(EnumCode {getEnumCode = 108},\"TUESDAY\"),(EnumCode {getEnumCode = 109},\"WEDNESDAY\"),(EnumCode {getEnumCode = 110},\"THURSDAY\"),(EnumCode {getEnumCode = 111},\"FRIDAY\"),(EnumCode {getEnumCode = 112},\"SATURDAY\"),(EnumCode {getEnumCode = 113},\"SUNDAY\"),(EnumCode {getEnumCode = 114},\"JANUARY\"),(EnumCode {getEnumCode = 115},\"FEBRUARY\"),(EnumCode {getEnumCode = 116},\"MARCH\"),(EnumCode {getEnumCode = 117},\"APRIL\"),(EnumCode {getEnumCode = 118},\"MAY\"),(EnumCode {getEnumCode = 119},\"JUNE\"),(EnumCode {getEnumCode = 120},\"JULY\"),(EnumCode {getEnumCode = 121},\"AUGUST\"),(EnumCode {getEnumCode = 122},\"SEPTEMBER\"),(EnumCode {getEnumCode = 123},\"OCTOBER\"),(EnumCode {getEnumCode = 124},\"NOVEMBER\"),(EnumCode {getEnumCode = 125},\"DECEMBER\"),(EnumCode {getEnumCode = 137},\"LITERAL\")]}], knownKeyMap = fromList []}"+ +fileDescriptorProto :: FileDescriptorProto+fileDescriptorProto+ = P'.getFromBS (P'.wireGet 11)+ (P'.pack+ "\230\SYN\n\tql2.proto\"5\n\fVersionDummy\"%\n\aVersion\DC2\f\n\EOTV0_1\DLE\182\244\134\251\ETX\DC2\f\n\EOTV0_2\DLE\225\131\194\145\a\"\133\STX\n\ENQQuery\DC2\"\n\EOTtype\CAN\SOH \SOH(\SO2\DC4.Ql2.Query.QueryType\DC2\CAN\n\ENQquery\CAN\STX \SOH(\v2\t.Ql2.Term\DC2\r\n\ENQtoken\CAN\ETX \SOH(\ETX\DC2\US\n\DLEOBSOLETE_noreply\CAN\EOT \SOH(\b:\ENQfalse\DC2,\n\SOglobal_optargs\CAN\ACK \ETX(\v2\DC4.Ql2.Query.AssocPair\SUB0\n\tAssocPair\DC2\v\n\ETXkey\CAN\SOH \SOH(\t\DC2\SYN\n\ETXval\CAN\STX \SOH(\v2\t.Ql2.Term\".\n\tQueryType\DC2\t\n\ENQSTART\DLE\SOH\DC2\f\n\bCONTINUE\DLE\STX\DC2\b\n\EOTSTOP\DLE\ETX\"d\n\ENQFrame\DC2\"\n\EOTtype\CAN\SOH \SOH(\SO2\DC4.Ql2.Frame.FrameType\DC2\v\n\ETXpos\CAN\STX \SOH(\ETX\DC2\v\n\ETXopt\CAN\ETX \SOH(\t\"\GS\n\tFrameType\DC2\a\n\ETXPOS\DLE\SOH\DC2\a\n\ETXOPT\DLE\STX\"'\n\tBacktrace\DC2\SUB\n\ACKframes\CAN\SOH \ETX(\v2\n.Ql2.Frame\"\138\STX\n\bResponse\DC2(\n\EOTtype\CAN\SOH \SOH(\SO2\SUB.Ql2.Response.ResponseType\DC2\r\n\ENQtoken\CAN\STX \SOH(\ETX\DC2\FS\n\bresponse\CAN\ETX \ETX(\v2\n.Ql2.Datum\DC2!\n\tbacktrace\CAN\EOT \SOH(\v2\SO.Ql2.Backtrace\"\131\SOH\n\fResponseType\DC2\DLE\n\fSUCCESS_ATOM\DLE\SOH\DC2\DC4\n\DLESUCCESS_SEQUENCE\DLE\STX\DC2\DC3\n\SISUCCESS_PARTIAL\DLE\ETX\DC2\DLE\n\fCLIENT_ERROR\DLE\DLE\DC2\DC1\n\rCOMPILE_ERROR\DLE\DC1\DC2\DC1\n\rRUNTIME_ERROR\DLE\DC2\"\176\STX\n\ENQDatum\DC2\"\n\EOTtype\CAN\SOH \SOH(\SO2\DC4.Ql2.Datum.DatumType\DC2\SO\n\ACKr_bool\CAN\STX \SOH(\b\DC2\r\n\ENQr_num\CAN\ETX \SOH(\SOH\DC2\r\n\ENQr_str\CAN\EOT \SOH(\t\DC2\ESC\n\ar_array\CAN\ENQ \ETX(\v2\n.Ql2.Datum\DC2&\n\br_object\CAN\ACK \ETX(\v2\DC4.Ql2.Datum.AssocPair\SUB1\n\tAssocPair\DC2\v\n\ETXkey\CAN\SOH \SOH(\t\DC2\ETB\n\ETXval\CAN\STX \SOH(\v2\n.Ql2.Datum\"T\n\tDatumType\DC2\n\n\ACKR_NULL\DLE\SOH\DC2\n\n\ACKR_BOOL\DLE\STX\DC2\t\n\ENQR_NUM\DLE\ETX\DC2\t\n\ENQR_STR\DLE\EOT\DC2\v\n\aR_ARRAY\DLE\ENQ\DC2\f\n\bR_OBJECT\DLE\ACK*\a\b\144N\DLE\161\156\SOH\"\202\SO\n\EOTTerm\DC2 \n\EOTtype\CAN\SOH \SOH(\SO2\DC2.Ql2.Term.TermType\DC2\EM\n\ENQdatum\CAN\STX \SOH(\v2\n.Ql2.Datum\DC2\ETB\n\EOTargs\CAN\ETX \ETX(\v2\t.Ql2.Term\DC2$\n\aoptargs\CAN\EOT \ETX(\v2\DC3.Ql2.Term.AssocPair\SUB0\n\tAssocPair\DC2\v\n\ETXkey\CAN\SOH \SOH(\t\DC2\SYN\n\ETXval\CAN\STX \SOH(\v2\t.Ql2.Term\"\138\r\n\bTermType\DC2\t\n\ENQDATUM\DLE\SOH\DC2\SO\n\nMAKE_ARRAY\DLE\STX\DC2\f\n\bMAKE_OBJ\DLE\ETX\DC2\a\n\ETXVAR\DLE\n\DC2\SO\n\nJAVASCRIPT\DLE\v\DC2\t\n\ENQERROR\DLE\f\DC2\DLE\n\fIMPLICIT_VAR\DLE\r\DC2\ACK\n\STXDB\DLE\SO\DC2\t\n\ENQTABLE\DLE\SI\DC2\a\n\ETXGET\DLE\DLE\DC2\v\n\aGET_ALL\DLEN\DC2\ACK\n\STXEQ\DLE\DC1\DC2\ACK\n\STXNE\DLE\DC2\DC2\ACK\n\STXLT\DLE\DC3\DC2\ACK\n\STXLE\DLE\DC4\DC2\ACK\n\STXGT\DLE\NAK\DC2\ACK\n\STXGE\DLE\SYN\DC2\a\n\ETXNOT\DLE\ETB\DC2\a\n\ETXADD\DLE\CAN\DC2\a\n\ETXSUB\DLE\EM\DC2\a\n\ETXMUL\DLE\SUB\DC2\a\n\ETXDIV\DLE\ESC\DC2\a\n\ETXMOD\DLE\FS\DC2\n\n\ACKAPPEND\DLE\GS\DC2\v\n\aPREPEND\DLEP\DC2\SO\n\nDIFFERENCE\DLE_\DC2\SO\n\nSET_INSERT\DLEX\DC2\DC4\n\DLESET_INTERSECTION\DLEY\DC2\r\n\tSET_UNION\DLEZ\DC2\DC2\n\SOSET_DIFFERENCE\DLE[\DC2\t\n\ENQSLICE\DLE\RS\DC2\b\n\EOTSKIP\DLEF\DC2\t\n\ENQLIMIT\DLEG\DC2\SO\n\nINDEXES_OF\DLEW\DC2\f\n\bCONTAINS\DLE]\DC2\r\n\tGET_FIELD\DLE\US\DC2\b\n\EOTKEYS\DLE^\DC2\SO\n\nHAS_FIELDS\DLE \DC2\SI\n\vWITH_FIELDS\DLE`\DC2\t\n\ENQPLUCK\DLE!\DC2\v\n\aWITHOUT\DLE\"\DC2\t\n\ENQMERGE\DLE#\DC2\v\n\aBETWEEN\DLE$\DC2\n\n\ACKREDUCE\DLE%\DC2\a\n\ETXMAP\DLE&\DC2\n\n\ACKFILTER\DLE'\DC2\r\n\tCONCATMAP\DLE(\DC2\v\n\aORDERBY\DLE)\DC2\f\n\bDISTINCT\DLE*\DC2\t\n\ENQCOUNT\DLE+\DC2\f\n\bIS_EMPTY\DLEV\DC2\t\n\ENQUNION\DLE,\DC2\a\n\ETXNTH\DLE-\DC2\SYN\n\DC2GROUPED_MAP_REDUCE\DLE.\DC2\v\n\aGROUPBY\DLE/\DC2\SO\n\nINNER_JOIN\DLE0\DC2\SO\n\nOUTER_JOIN\DLE1\DC2\v\n\aEQ_JOIN\DLE2\DC2\a\n\ETXZIP\DLEH\DC2\r\n\tINSERT_AT\DLER\DC2\r\n\tDELETE_AT\DLES\DC2\r\n\tCHANGE_AT\DLET\DC2\r\n\tSPLICE_AT\DLEU\DC2\r\n\tCOERCE_TO\DLE3\DC2\n\n\ACKTYPEOF\DLE4\DC2\n\n\ACKUPDATE\DLE5\DC2\n\n\ACKDELETE\DLE6\DC2\v\n\aREPLACE\DLE7\DC2\n\n\ACKINSERT\DLE8\DC2\r\n\tDB_CREATE\DLE9\DC2\v\n\aDB_DROP\DLE:\DC2\v\n\aDB_LIST\DLE;\DC2\DLE\n\fTABLE_CREATE\DLE<\DC2\SO\n\nTABLE_DROP\DLE=\DC2\SO\n\nTABLE_LIST\DLE>\DC2\DLE\n\fINDEX_CREATE\DLEK\DC2\SO\n\nINDEX_DROP\DLEL\DC2\SO\n\nINDEX_LIST\DLEM\DC2\v\n\aFUNCALL\DLE@\DC2\n\n\ACKBRANCH\DLEA\DC2\a\n\ETXANY\DLEB\DC2\a\n\ETXALL\DLEC\DC2\v\n\aFOREACH\DLED\DC2\b\n\EOTFUNC\DLEE\DC2\a\n\ETXASC\DLEI\DC2\b\n\EOTDESC\DLEJ\DC2\b\n\EOTINFO\DLEO\DC2\t\n\ENQMATCH\DLEa\DC2\n\n\ACKSAMPLE\DLEQ\DC2\v\n\aDEFAULT\DLE\\\DC2\b\n\EOTJSON\DLEb\DC2\v\n\aISO8601\DLEc\DC2\SO\n\nTO_ISO8601\DLEd\DC2\SO\n\nEPOCH_TIME\DLEe\DC2\DC1\n\rTO_EPOCH_TIME\DLEf\DC2\a\n\ETXNOW\DLEg\DC2\SI\n\vIN_TIMEZONE\DLEh\DC2\n\n\ACKDURING\DLEi\DC2\b\n\EOTDATE\DLEj\DC2\SI\n\vTIME_OF_DAY\DLE~\DC2\f\n\bTIMEZONE\DLE\DEL\DC2\t\n\EOTYEAR\DLE\128\SOH\DC2\n\n\ENQMONTH\DLE\129\SOH\DC2\b\n\ETXDAY\DLE\130\SOH\DC2\DLE\n\vDAY_OF_WEEK\DLE\131\SOH\DC2\DLE\n\vDAY_OF_YEAR\DLE\132\SOH\DC2\n\n\ENQHOURS\DLE\133\SOH\DC2\f\n\aMINUTES\DLE\134\SOH\DC2\f\n\aSECONDS\DLE\135\SOH\DC2\t\n\EOTTIME\DLE\136\SOH\DC2\n\n\ACKMONDAY\DLEk\DC2\v\n\aTUESDAY\DLEl\DC2\r\n\tWEDNESDAY\DLEm\DC2\f\n\bTHURSDAY\DLEn\DC2\n\n\ACKFRIDAY\DLEo\DC2\f\n\bSATURDAY\DLEp\DC2\n\n\ACKSUNDAY\DLEq\DC2\v\n\aJANUARY\DLEr\DC2\f\n\bFEBRUARY\DLEs\DC2\t\n\ENQMARCH\DLEt\DC2\t\n\ENQAPRIL\DLEu\DC2\a\n\ETXMAY\DLEv\DC2\b\n\EOTJUNE\DLEw\DC2\b\n\EOTJULY\DLEx\DC2\n\n\ACKAUGUST\DLEy\DC2\r\n\tSEPTEMBER\DLEz\DC2\v\n\aOCTOBER\DLE{\DC2\f\n\bNOVEMBER\DLE|\DC2\f\n\bDECEMBER\DLE}\DC2\f\n\aLITERAL\DLE\137\SOH*\a\b\144N\DLE\161\156\SOH")
+ Database/RethinkDB/Protobuf/Ql2/Backtrace.hs view
@@ -0,0 +1,58 @@+{-# LANGUAGE BangPatterns, DeriveDataTypeable, FlexibleInstances, MultiParamTypeClasses #-}+module Database.RethinkDB.Protobuf.Ql2.Backtrace (Backtrace(..)) where+import Prelude ((+), (/))+import qualified Prelude as Prelude'+import qualified Data.Typeable as Prelude'+import qualified Data.Data as Prelude'+import qualified Text.ProtocolBuffers.Header as P'+import qualified Database.RethinkDB.Protobuf.Ql2.Frame as Ql2 (Frame)+ +data Backtrace = Backtrace{frames :: !(P'.Seq Ql2.Frame)}+ deriving (Prelude'.Show, Prelude'.Eq, Prelude'.Ord, Prelude'.Typeable, Prelude'.Data)+ +instance P'.Mergeable Backtrace where+ mergeAppend (Backtrace x'1) (Backtrace y'1) = Backtrace (P'.mergeAppend x'1 y'1)+ +instance P'.Default Backtrace where+ defaultValue = Backtrace P'.defaultValue+ +instance P'.Wire Backtrace where+ wireSize ft' self'@(Backtrace x'1)+ = case ft' of+ 10 -> calc'Size+ 11 -> P'.prependMessageSize calc'Size+ _ -> P'.wireSizeErr ft' self'+ where+ calc'Size = (P'.wireSizeRep 1 11 x'1)+ wirePut ft' self'@(Backtrace x'1)+ = case ft' of+ 10 -> put'Fields+ 11 -> do+ P'.putSize (P'.wireSize 10 self')+ put'Fields+ _ -> P'.wirePutErr ft' self'+ where+ put'Fields+ = do+ P'.wirePutRep 10 11 x'1+ wireGet ft'+ = case ft' of+ 10 -> P'.getBareMessageWith update'Self+ 11 -> P'.getMessageWith update'Self+ _ -> P'.wireGetErr ft'+ where+ update'Self wire'Tag old'Self+ = case wire'Tag of+ 10 -> Prelude'.fmap (\ !new'Field -> old'Self{frames = P'.append (frames old'Self) new'Field}) (P'.wireGet 11)+ _ -> let (field'Number, wire'Type) = P'.splitWireTag wire'Tag in P'.unknown field'Number wire'Type old'Self+ +instance P'.MessageAPI msg' (msg' -> Backtrace) Backtrace where+ getVal m' f' = f' m'+ +instance P'.GPB Backtrace+ +instance P'.ReflectDescriptor Backtrace where+ getMessageInfo _ = P'.GetMessageInfo (P'.fromDistinctAscList []) (P'.fromDistinctAscList [10])+ reflectDescriptorInfo _+ = Prelude'.read+ "DescriptorInfo {descName = ProtoName {protobufName = FIName \".Ql2.Backtrace\", haskellPrefix = [MName \"Database\",MName \"RethinkDB\",MName \"Protobuf\"], parentModule = [MName \"Ql2\"], baseName = MName \"Backtrace\"}, descFilePath = [\"Database\",\"RethinkDB\",\"Protobuf\",\"Ql2\",\"Backtrace.hs\"], isGroup = False, fields = fromList [FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".Ql2.Backtrace.frames\", haskellPrefix' = [MName \"Database\",MName \"RethinkDB\",MName \"Protobuf\"], parentModule' = [MName \"Ql2\",MName \"Backtrace\"], baseName' = FName \"frames\"}, fieldNumber = FieldId {getFieldId = 1}, wireTag = WireTag {getWireTag = 10}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = True, mightPack = False, typeCode = FieldType {getFieldType = 11}, typeName = Just (ProtoName {protobufName = FIName \".Ql2.Frame\", haskellPrefix = [MName \"Database\",MName \"RethinkDB\",MName \"Protobuf\"], parentModule = [MName \"Ql2\"], baseName = MName \"Frame\"}), hsRawDefault = Nothing, hsDefault = Nothing}], keys = fromList [], extRanges = [], knownKeys = fromList [], storeUnknown = False, lazyFields = False}"
+ Database/RethinkDB/Protobuf/Ql2/Datum.hs view
@@ -0,0 +1,88 @@+{-# LANGUAGE BangPatterns, DeriveDataTypeable, FlexibleInstances, MultiParamTypeClasses #-}+module Database.RethinkDB.Protobuf.Ql2.Datum (Datum(..)) where+import Prelude ((+), (/), (==), (<=), (&&))+import qualified Prelude as Prelude'+import qualified Data.Typeable as Prelude'+import qualified Data.Data as Prelude'+import qualified Text.ProtocolBuffers.Header as P'+import {-# SOURCE #-} qualified Database.RethinkDB.Protobuf.Ql2.Datum.AssocPair as Ql2.Datum (AssocPair)+import qualified Database.RethinkDB.Protobuf.Ql2.Datum.DatumType as Ql2.Datum (DatumType)+ +data Datum = Datum{type' :: !(P'.Maybe Ql2.Datum.DatumType), r_bool :: !(P'.Maybe P'.Bool), r_num :: !(P'.Maybe P'.Double),+ r_str :: !(P'.Maybe P'.Utf8), r_array :: !(P'.Seq Datum), r_object :: !(P'.Seq Ql2.Datum.AssocPair),+ ext'field :: !P'.ExtField}+ deriving (Prelude'.Show, Prelude'.Eq, Prelude'.Ord, Prelude'.Typeable, Prelude'.Data)+ +instance P'.ExtendMessage Datum where+ getExtField = ext'field+ putExtField e'f msg = msg{ext'field = e'f}+ validExtRanges msg = P'.extRanges (P'.reflectDescriptorInfo msg)+ +instance P'.Mergeable Datum where+ mergeAppend (Datum x'1 x'2 x'3 x'4 x'5 x'6 x'7) (Datum y'1 y'2 y'3 y'4 y'5 y'6 y'7)+ = Datum (P'.mergeAppend x'1 y'1) (P'.mergeAppend x'2 y'2) (P'.mergeAppend x'3 y'3) (P'.mergeAppend x'4 y'4)+ (P'.mergeAppend x'5 y'5)+ (P'.mergeAppend x'6 y'6)+ (P'.mergeAppend x'7 y'7)+ +instance P'.Default Datum where+ defaultValue+ = Datum P'.defaultValue P'.defaultValue P'.defaultValue P'.defaultValue P'.defaultValue P'.defaultValue P'.defaultValue+ +instance P'.Wire Datum where+ wireSize ft' self'@(Datum x'1 x'2 x'3 x'4 x'5 x'6 x'7)+ = case ft' of+ 10 -> calc'Size+ 11 -> P'.prependMessageSize calc'Size+ _ -> P'.wireSizeErr ft' self'+ where+ calc'Size+ = (P'.wireSizeOpt 1 14 x'1 + P'.wireSizeOpt 1 8 x'2 + P'.wireSizeOpt 1 1 x'3 + P'.wireSizeOpt 1 9 x'4 ++ P'.wireSizeRep 1 11 x'5+ + P'.wireSizeRep 1 11 x'6+ + P'.wireSizeExtField x'7)+ wirePut ft' self'@(Datum x'1 x'2 x'3 x'4 x'5 x'6 x'7)+ = case ft' of+ 10 -> put'Fields+ 11 -> do+ P'.putSize (P'.wireSize 10 self')+ put'Fields+ _ -> P'.wirePutErr ft' self'+ where+ put'Fields+ = do+ P'.wirePutOpt 8 14 x'1+ P'.wirePutOpt 16 8 x'2+ P'.wirePutOpt 25 1 x'3+ P'.wirePutOpt 34 9 x'4+ P'.wirePutRep 42 11 x'5+ P'.wirePutRep 50 11 x'6+ P'.wirePutExtField x'7+ wireGet ft'+ = case ft' of+ 10 -> P'.getBareMessageWith update'Self+ 11 -> P'.getMessageWith update'Self+ _ -> P'.wireGetErr ft'+ where+ update'Self wire'Tag old'Self+ = case wire'Tag of+ 8 -> Prelude'.fmap (\ !new'Field -> old'Self{type' = Prelude'.Just new'Field}) (P'.wireGet 14)+ 16 -> Prelude'.fmap (\ !new'Field -> old'Self{r_bool = Prelude'.Just new'Field}) (P'.wireGet 8)+ 25 -> Prelude'.fmap (\ !new'Field -> old'Self{r_num = Prelude'.Just new'Field}) (P'.wireGet 1)+ 34 -> Prelude'.fmap (\ !new'Field -> old'Self{r_str = Prelude'.Just new'Field}) (P'.wireGet 9)+ 42 -> Prelude'.fmap (\ !new'Field -> old'Self{r_array = P'.append (r_array old'Self) new'Field}) (P'.wireGet 11)+ 50 -> Prelude'.fmap (\ !new'Field -> old'Self{r_object = P'.append (r_object old'Self) new'Field}) (P'.wireGet 11)+ _ -> let (field'Number, wire'Type) = P'.splitWireTag wire'Tag in+ if Prelude'.or [10000 <= field'Number && field'Number <= 18999, field'Number == 20000] then+ P'.loadExtension field'Number wire'Type old'Self else P'.unknown field'Number wire'Type old'Self+ +instance P'.MessageAPI msg' (msg' -> Datum) Datum where+ getVal m' f' = f' m'+ +instance P'.GPB Datum+ +instance P'.ReflectDescriptor Datum where+ getMessageInfo _ = P'.GetMessageInfo (P'.fromDistinctAscList []) (P'.fromDistinctAscList [8, 16, 25, 34, 42, 50])+ reflectDescriptorInfo _+ = Prelude'.read+ "DescriptorInfo {descName = ProtoName {protobufName = FIName \".Ql2.Datum\", haskellPrefix = [MName \"Database\",MName \"RethinkDB\",MName \"Protobuf\"], parentModule = [MName \"Ql2\"], baseName = MName \"Datum\"}, descFilePath = [\"Database\",\"RethinkDB\",\"Protobuf\",\"Ql2\",\"Datum.hs\"], isGroup = False, fields = fromList [FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".Ql2.Datum.type\", haskellPrefix' = [MName \"Database\",MName \"RethinkDB\",MName \"Protobuf\"], parentModule' = [MName \"Ql2\",MName \"Datum\"], baseName' = FName \"type'\"}, fieldNumber = FieldId {getFieldId = 1}, wireTag = WireTag {getWireTag = 8}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 14}, typeName = Just (ProtoName {protobufName = FIName \".Ql2.Datum.DatumType\", haskellPrefix = [MName \"Database\",MName \"RethinkDB\",MName \"Protobuf\"], parentModule = [MName \"Ql2\",MName \"Datum\"], baseName = MName \"DatumType\"}), hsRawDefault = Nothing, hsDefault = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".Ql2.Datum.r_bool\", haskellPrefix' = [MName \"Database\",MName \"RethinkDB\",MName \"Protobuf\"], parentModule' = [MName \"Ql2\",MName \"Datum\"], baseName' = FName \"r_bool\"}, fieldNumber = FieldId {getFieldId = 2}, wireTag = WireTag {getWireTag = 16}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 8}, typeName = Nothing, hsRawDefault = Nothing, hsDefault = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".Ql2.Datum.r_num\", haskellPrefix' = [MName \"Database\",MName \"RethinkDB\",MName \"Protobuf\"], parentModule' = [MName \"Ql2\",MName \"Datum\"], baseName' = FName \"r_num\"}, fieldNumber = FieldId {getFieldId = 3}, wireTag = WireTag {getWireTag = 25}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 1}, typeName = Nothing, hsRawDefault = Nothing, hsDefault = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".Ql2.Datum.r_str\", haskellPrefix' = [MName \"Database\",MName \"RethinkDB\",MName \"Protobuf\"], parentModule' = [MName \"Ql2\",MName \"Datum\"], baseName' = FName \"r_str\"}, fieldNumber = FieldId {getFieldId = 4}, wireTag = WireTag {getWireTag = 34}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 9}, typeName = Nothing, hsRawDefault = Nothing, hsDefault = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".Ql2.Datum.r_array\", haskellPrefix' = [MName \"Database\",MName \"RethinkDB\",MName \"Protobuf\"], parentModule' = [MName \"Ql2\",MName \"Datum\"], baseName' = FName \"r_array\"}, fieldNumber = FieldId {getFieldId = 5}, wireTag = WireTag {getWireTag = 42}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = True, mightPack = False, typeCode = FieldType {getFieldType = 11}, typeName = Just (ProtoName {protobufName = FIName \".Ql2.Datum\", haskellPrefix = [MName \"Database\",MName \"RethinkDB\",MName \"Protobuf\"], parentModule = [MName \"Ql2\"], baseName = MName \"Datum\"}), hsRawDefault = Nothing, hsDefault = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".Ql2.Datum.r_object\", haskellPrefix' = [MName \"Database\",MName \"RethinkDB\",MName \"Protobuf\"], parentModule' = [MName \"Ql2\",MName \"Datum\"], baseName' = FName \"r_object\"}, fieldNumber = FieldId {getFieldId = 6}, wireTag = WireTag {getWireTag = 50}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = True, mightPack = False, typeCode = FieldType {getFieldType = 11}, typeName = Just (ProtoName {protobufName = FIName \".Ql2.Datum.AssocPair\", haskellPrefix = [MName \"Database\",MName \"RethinkDB\",MName \"Protobuf\"], parentModule = [MName \"Ql2\",MName \"Datum\"], baseName = MName \"AssocPair\"}), hsRawDefault = Nothing, hsDefault = Nothing}], keys = fromList [], extRanges = [(FieldId {getFieldId = 10000},FieldId {getFieldId = 18999}),(FieldId {getFieldId = 20000},FieldId {getFieldId = 20000})], knownKeys = fromList [], storeUnknown = False, lazyFields = False}"
+ Database/RethinkDB/Protobuf/Ql2/Datum/AssocPair.hs view
@@ -0,0 +1,61 @@+{-# LANGUAGE BangPatterns, DeriveDataTypeable, FlexibleInstances, MultiParamTypeClasses #-}+module Database.RethinkDB.Protobuf.Ql2.Datum.AssocPair (AssocPair(..)) where+import Prelude ((+), (/))+import qualified Prelude as Prelude'+import qualified Data.Typeable as Prelude'+import qualified Data.Data as Prelude'+import qualified Text.ProtocolBuffers.Header as P'+import qualified Database.RethinkDB.Protobuf.Ql2.Datum as Ql2 (Datum)+ +data AssocPair = AssocPair{key :: !(P'.Maybe P'.Utf8), val :: !(P'.Maybe Ql2.Datum)}+ deriving (Prelude'.Show, Prelude'.Eq, Prelude'.Ord, Prelude'.Typeable, Prelude'.Data)+ +instance P'.Mergeable AssocPair where+ mergeAppend (AssocPair x'1 x'2) (AssocPair y'1 y'2) = AssocPair (P'.mergeAppend x'1 y'1) (P'.mergeAppend x'2 y'2)+ +instance P'.Default AssocPair where+ defaultValue = AssocPair P'.defaultValue P'.defaultValue+ +instance P'.Wire AssocPair where+ wireSize ft' self'@(AssocPair x'1 x'2)+ = case ft' of+ 10 -> calc'Size+ 11 -> P'.prependMessageSize calc'Size+ _ -> P'.wireSizeErr ft' self'+ where+ calc'Size = (P'.wireSizeOpt 1 9 x'1 + P'.wireSizeOpt 1 11 x'2)+ wirePut ft' self'@(AssocPair x'1 x'2)+ = case ft' of+ 10 -> put'Fields+ 11 -> do+ P'.putSize (P'.wireSize 10 self')+ put'Fields+ _ -> P'.wirePutErr ft' self'+ where+ put'Fields+ = do+ P'.wirePutOpt 10 9 x'1+ P'.wirePutOpt 18 11 x'2+ wireGet ft'+ = case ft' of+ 10 -> P'.getBareMessageWith update'Self+ 11 -> P'.getMessageWith update'Self+ _ -> P'.wireGetErr ft'+ where+ update'Self wire'Tag old'Self+ = case wire'Tag of+ 10 -> Prelude'.fmap (\ !new'Field -> old'Self{key = Prelude'.Just new'Field}) (P'.wireGet 9)+ 18 -> Prelude'.fmap (\ !new'Field -> old'Self{val = P'.mergeAppend (val old'Self) (Prelude'.Just new'Field)})+ (P'.wireGet 11)+ _ -> let (field'Number, wire'Type) = P'.splitWireTag wire'Tag in P'.unknown field'Number wire'Type old'Self+ +instance P'.MessageAPI msg' (msg' -> AssocPair) AssocPair where+ getVal m' f' = f' m'+ +instance P'.GPB AssocPair+ +instance P'.ReflectDescriptor AssocPair where+ getMessageInfo _ = P'.GetMessageInfo (P'.fromDistinctAscList []) (P'.fromDistinctAscList [10, 18])+ reflectDescriptorInfo _+ = Prelude'.read+ "DescriptorInfo {descName = ProtoName {protobufName = FIName \".Ql2.Datum.AssocPair\", haskellPrefix = [MName \"Database\",MName \"RethinkDB\",MName \"Protobuf\"], parentModule = [MName \"Ql2\",MName \"Datum\"], baseName = MName \"AssocPair\"}, descFilePath = [\"Database\",\"RethinkDB\",\"Protobuf\",\"Ql2\",\"Datum\",\"AssocPair.hs\"], isGroup = False, fields = fromList [FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".Ql2.Datum.AssocPair.key\", haskellPrefix' = [MName \"Database\",MName \"RethinkDB\",MName \"Protobuf\"], parentModule' = [MName \"Ql2\",MName \"Datum\",MName \"AssocPair\"], baseName' = FName \"key\"}, fieldNumber = FieldId {getFieldId = 1}, wireTag = WireTag {getWireTag = 10}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 9}, typeName = Nothing, hsRawDefault = Nothing, hsDefault = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".Ql2.Datum.AssocPair.val\", haskellPrefix' = [MName \"Database\",MName \"RethinkDB\",MName \"Protobuf\"], parentModule' = [MName \"Ql2\",MName \"Datum\",MName \"AssocPair\"], baseName' = FName \"val\"}, fieldNumber = FieldId {getFieldId = 2}, wireTag = WireTag {getWireTag = 18}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 11}, typeName = Just (ProtoName {protobufName = FIName \".Ql2.Datum\", haskellPrefix = [MName \"Database\",MName \"RethinkDB\",MName \"Protobuf\"], parentModule = [MName \"Ql2\"], baseName = MName \"Datum\"}), hsRawDefault = Nothing, hsDefault = Nothing}], keys = fromList [], extRanges = [], knownKeys = fromList [], storeUnknown = False, lazyFields = False}"
+ Database/RethinkDB/Protobuf/Ql2/Datum/AssocPair.hs-boot view
@@ -0,0 +1,30 @@+{-# LANGUAGE BangPatterns, DeriveDataTypeable, FlexibleInstances, MultiParamTypeClasses #-}+module Database.RethinkDB.Protobuf.Ql2.Datum.AssocPair (AssocPair) where+import qualified Prelude as Prelude'+import qualified Data.Typeable as Prelude'+import qualified Data.Data as Prelude'+import qualified Text.ProtocolBuffers.Header as P'+ +data AssocPair+ +instance P'.MessageAPI msg' (msg' -> AssocPair) AssocPair+ +instance Prelude'.Show AssocPair+ +instance Prelude'.Eq AssocPair+ +instance Prelude'.Ord AssocPair+ +instance Prelude'.Typeable AssocPair+ +instance Prelude'.Data AssocPair+ +instance P'.Mergeable AssocPair+ +instance P'.Default AssocPair+ +instance P'.Wire AssocPair+ +instance P'.GPB AssocPair+ +instance P'.ReflectDescriptor AssocPair
+ Database/RethinkDB/Protobuf/Ql2/Datum/DatumType.hs view
@@ -0,0 +1,78 @@+{-# LANGUAGE BangPatterns, DeriveDataTypeable, FlexibleInstances, MultiParamTypeClasses #-}+module Database.RethinkDB.Protobuf.Ql2.Datum.DatumType (DatumType(..)) where+import Prelude ((+), (/), (.))+import qualified Prelude as Prelude'+import qualified Data.Typeable as Prelude'+import qualified Data.Data as Prelude'+import qualified Text.ProtocolBuffers.Header as P'+ +data DatumType = R_NULL+ | R_BOOL+ | R_NUM+ | R_STR+ | R_ARRAY+ | R_OBJECT+ deriving (Prelude'.Read, Prelude'.Show, Prelude'.Eq, Prelude'.Ord, Prelude'.Typeable, Prelude'.Data)+ +instance P'.Mergeable DatumType+ +instance Prelude'.Bounded DatumType where+ minBound = R_NULL+ maxBound = R_OBJECT+ +instance P'.Default DatumType where+ defaultValue = R_NULL+ +toMaybe'Enum :: Prelude'.Int -> P'.Maybe DatumType+toMaybe'Enum 1 = Prelude'.Just R_NULL+toMaybe'Enum 2 = Prelude'.Just R_BOOL+toMaybe'Enum 3 = Prelude'.Just R_NUM+toMaybe'Enum 4 = Prelude'.Just R_STR+toMaybe'Enum 5 = Prelude'.Just R_ARRAY+toMaybe'Enum 6 = Prelude'.Just R_OBJECT+toMaybe'Enum _ = Prelude'.Nothing+ +instance Prelude'.Enum DatumType where+ fromEnum R_NULL = 1+ fromEnum R_BOOL = 2+ fromEnum R_NUM = 3+ fromEnum R_STR = 4+ fromEnum R_ARRAY = 5+ fromEnum R_OBJECT = 6+ toEnum+ = P'.fromMaybe (Prelude'.error "hprotoc generated code: toEnum failure for type Database.RethinkDB.Protobuf.Ql2.Datum.DatumType")+ . toMaybe'Enum+ succ R_NULL = R_BOOL+ succ R_BOOL = R_NUM+ succ R_NUM = R_STR+ succ R_STR = R_ARRAY+ succ R_ARRAY = R_OBJECT+ succ _ = Prelude'.error "hprotoc generated code: succ failure for type Database.RethinkDB.Protobuf.Ql2.Datum.DatumType"+ pred R_BOOL = R_NULL+ pred R_NUM = R_BOOL+ pred R_STR = R_NUM+ pred R_ARRAY = R_STR+ pred R_OBJECT = R_ARRAY+ pred _ = Prelude'.error "hprotoc generated code: pred failure for type Database.RethinkDB.Protobuf.Ql2.Datum.DatumType"+ +instance P'.Wire DatumType where+ wireSize ft' enum = P'.wireSize ft' (Prelude'.fromEnum enum)+ wirePut ft' enum = P'.wirePut ft' (Prelude'.fromEnum enum)+ wireGet 14 = P'.wireGetEnum toMaybe'Enum+ wireGet ft' = P'.wireGetErr ft'+ wireGetPacked 14 = P'.wireGetPackedEnum toMaybe'Enum+ wireGetPacked ft' = P'.wireGetErr ft'+ +instance P'.GPB DatumType+ +instance P'.MessageAPI msg' (msg' -> DatumType) DatumType where+ getVal m' f' = f' m'+ +instance P'.ReflectEnum DatumType where+ reflectEnum+ = [(1, "R_NULL", R_NULL), (2, "R_BOOL", R_BOOL), (3, "R_NUM", R_NUM), (4, "R_STR", R_STR), (5, "R_ARRAY", R_ARRAY),+ (6, "R_OBJECT", R_OBJECT)]+ reflectEnumInfo _+ = P'.EnumInfo (P'.makePNF (P'.pack ".Ql2.Datum.DatumType") ["Database", "RethinkDB", "Protobuf"] ["Ql2", "Datum"] "DatumType")+ ["Database", "RethinkDB", "Protobuf", "Ql2", "Datum", "DatumType.hs"]+ [(1, "R_NULL"), (2, "R_BOOL"), (3, "R_NUM"), (4, "R_STR"), (5, "R_ARRAY"), (6, "R_OBJECT")]
+ Database/RethinkDB/Protobuf/Ql2/Frame.hs view
@@ -0,0 +1,63 @@+{-# LANGUAGE BangPatterns, DeriveDataTypeable, FlexibleInstances, MultiParamTypeClasses #-}+module Database.RethinkDB.Protobuf.Ql2.Frame (Frame(..)) where+import Prelude ((+), (/))+import qualified Prelude as Prelude'+import qualified Data.Typeable as Prelude'+import qualified Data.Data as Prelude'+import qualified Text.ProtocolBuffers.Header as P'+import qualified Database.RethinkDB.Protobuf.Ql2.Frame.FrameType as Ql2.Frame (FrameType)+ +data Frame = Frame{type' :: !(P'.Maybe Ql2.Frame.FrameType), pos :: !(P'.Maybe P'.Int64), opt :: !(P'.Maybe P'.Utf8)}+ deriving (Prelude'.Show, Prelude'.Eq, Prelude'.Ord, Prelude'.Typeable, Prelude'.Data)+ +instance P'.Mergeable Frame where+ mergeAppend (Frame x'1 x'2 x'3) (Frame y'1 y'2 y'3)+ = Frame (P'.mergeAppend x'1 y'1) (P'.mergeAppend x'2 y'2) (P'.mergeAppend x'3 y'3)+ +instance P'.Default Frame where+ defaultValue = Frame P'.defaultValue P'.defaultValue P'.defaultValue+ +instance P'.Wire Frame where+ wireSize ft' self'@(Frame x'1 x'2 x'3)+ = case ft' of+ 10 -> calc'Size+ 11 -> P'.prependMessageSize calc'Size+ _ -> P'.wireSizeErr ft' self'+ where+ calc'Size = (P'.wireSizeOpt 1 14 x'1 + P'.wireSizeOpt 1 3 x'2 + P'.wireSizeOpt 1 9 x'3)+ wirePut ft' self'@(Frame x'1 x'2 x'3)+ = case ft' of+ 10 -> put'Fields+ 11 -> do+ P'.putSize (P'.wireSize 10 self')+ put'Fields+ _ -> P'.wirePutErr ft' self'+ where+ put'Fields+ = do+ P'.wirePutOpt 8 14 x'1+ P'.wirePutOpt 16 3 x'2+ P'.wirePutOpt 26 9 x'3+ wireGet ft'+ = case ft' of+ 10 -> P'.getBareMessageWith update'Self+ 11 -> P'.getMessageWith update'Self+ _ -> P'.wireGetErr ft'+ where+ update'Self wire'Tag old'Self+ = case wire'Tag of+ 8 -> Prelude'.fmap (\ !new'Field -> old'Self{type' = Prelude'.Just new'Field}) (P'.wireGet 14)+ 16 -> Prelude'.fmap (\ !new'Field -> old'Self{pos = Prelude'.Just new'Field}) (P'.wireGet 3)+ 26 -> Prelude'.fmap (\ !new'Field -> old'Self{opt = Prelude'.Just new'Field}) (P'.wireGet 9)+ _ -> let (field'Number, wire'Type) = P'.splitWireTag wire'Tag in P'.unknown field'Number wire'Type old'Self+ +instance P'.MessageAPI msg' (msg' -> Frame) Frame where+ getVal m' f' = f' m'+ +instance P'.GPB Frame+ +instance P'.ReflectDescriptor Frame where+ getMessageInfo _ = P'.GetMessageInfo (P'.fromDistinctAscList []) (P'.fromDistinctAscList [8, 16, 26])+ reflectDescriptorInfo _+ = Prelude'.read+ "DescriptorInfo {descName = ProtoName {protobufName = FIName \".Ql2.Frame\", haskellPrefix = [MName \"Database\",MName \"RethinkDB\",MName \"Protobuf\"], parentModule = [MName \"Ql2\"], baseName = MName \"Frame\"}, descFilePath = [\"Database\",\"RethinkDB\",\"Protobuf\",\"Ql2\",\"Frame.hs\"], isGroup = False, fields = fromList [FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".Ql2.Frame.type\", haskellPrefix' = [MName \"Database\",MName \"RethinkDB\",MName \"Protobuf\"], parentModule' = [MName \"Ql2\",MName \"Frame\"], baseName' = FName \"type'\"}, fieldNumber = FieldId {getFieldId = 1}, wireTag = WireTag {getWireTag = 8}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 14}, typeName = Just (ProtoName {protobufName = FIName \".Ql2.Frame.FrameType\", haskellPrefix = [MName \"Database\",MName \"RethinkDB\",MName \"Protobuf\"], parentModule = [MName \"Ql2\",MName \"Frame\"], baseName = MName \"FrameType\"}), hsRawDefault = Nothing, hsDefault = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".Ql2.Frame.pos\", haskellPrefix' = [MName \"Database\",MName \"RethinkDB\",MName \"Protobuf\"], parentModule' = [MName \"Ql2\",MName \"Frame\"], baseName' = FName \"pos\"}, fieldNumber = FieldId {getFieldId = 2}, wireTag = WireTag {getWireTag = 16}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 3}, typeName = Nothing, hsRawDefault = Nothing, hsDefault = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".Ql2.Frame.opt\", haskellPrefix' = [MName \"Database\",MName \"RethinkDB\",MName \"Protobuf\"], parentModule' = [MName \"Ql2\",MName \"Frame\"], baseName' = FName \"opt\"}, fieldNumber = FieldId {getFieldId = 3}, wireTag = WireTag {getWireTag = 26}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 9}, typeName = Nothing, hsRawDefault = Nothing, hsDefault = Nothing}], keys = fromList [], extRanges = [], knownKeys = fromList [], storeUnknown = False, lazyFields = False}"
+ Database/RethinkDB/Protobuf/Ql2/Frame/FrameType.hs view
@@ -0,0 +1,56 @@+{-# LANGUAGE BangPatterns, DeriveDataTypeable, FlexibleInstances, MultiParamTypeClasses #-}+module Database.RethinkDB.Protobuf.Ql2.Frame.FrameType (FrameType(..)) where+import Prelude ((+), (/), (.))+import qualified Prelude as Prelude'+import qualified Data.Typeable as Prelude'+import qualified Data.Data as Prelude'+import qualified Text.ProtocolBuffers.Header as P'+ +data FrameType = POS+ | OPT+ deriving (Prelude'.Read, Prelude'.Show, Prelude'.Eq, Prelude'.Ord, Prelude'.Typeable, Prelude'.Data)+ +instance P'.Mergeable FrameType+ +instance Prelude'.Bounded FrameType where+ minBound = POS+ maxBound = OPT+ +instance P'.Default FrameType where+ defaultValue = POS+ +toMaybe'Enum :: Prelude'.Int -> P'.Maybe FrameType+toMaybe'Enum 1 = Prelude'.Just POS+toMaybe'Enum 2 = Prelude'.Just OPT+toMaybe'Enum _ = Prelude'.Nothing+ +instance Prelude'.Enum FrameType where+ fromEnum POS = 1+ fromEnum OPT = 2+ toEnum+ = P'.fromMaybe (Prelude'.error "hprotoc generated code: toEnum failure for type Database.RethinkDB.Protobuf.Ql2.Frame.FrameType")+ . toMaybe'Enum+ succ POS = OPT+ succ _ = Prelude'.error "hprotoc generated code: succ failure for type Database.RethinkDB.Protobuf.Ql2.Frame.FrameType"+ pred OPT = POS+ pred _ = Prelude'.error "hprotoc generated code: pred failure for type Database.RethinkDB.Protobuf.Ql2.Frame.FrameType"+ +instance P'.Wire FrameType where+ wireSize ft' enum = P'.wireSize ft' (Prelude'.fromEnum enum)+ wirePut ft' enum = P'.wirePut ft' (Prelude'.fromEnum enum)+ wireGet 14 = P'.wireGetEnum toMaybe'Enum+ wireGet ft' = P'.wireGetErr ft'+ wireGetPacked 14 = P'.wireGetPackedEnum toMaybe'Enum+ wireGetPacked ft' = P'.wireGetErr ft'+ +instance P'.GPB FrameType+ +instance P'.MessageAPI msg' (msg' -> FrameType) FrameType where+ getVal m' f' = f' m'+ +instance P'.ReflectEnum FrameType where+ reflectEnum = [(1, "POS", POS), (2, "OPT", OPT)]+ reflectEnumInfo _+ = P'.EnumInfo (P'.makePNF (P'.pack ".Ql2.Frame.FrameType") ["Database", "RethinkDB", "Protobuf"] ["Ql2", "Frame"] "FrameType")+ ["Database", "RethinkDB", "Protobuf", "Ql2", "Frame", "FrameType.hs"]+ [(1, "POS"), (2, "OPT")]
+ Database/RethinkDB/Protobuf/Ql2/Query.hs view
@@ -0,0 +1,75 @@+{-# LANGUAGE BangPatterns, DeriveDataTypeable, FlexibleInstances, MultiParamTypeClasses #-}+module Database.RethinkDB.Protobuf.Ql2.Query (Query(..)) where+import Prelude ((+), (/))+import qualified Prelude as Prelude'+import qualified Data.Typeable as Prelude'+import qualified Data.Data as Prelude'+import qualified Text.ProtocolBuffers.Header as P'+import qualified Database.RethinkDB.Protobuf.Ql2.Query.AssocPair as Ql2.Query (AssocPair)+import qualified Database.RethinkDB.Protobuf.Ql2.Query.QueryType as Ql2.Query (QueryType)+import qualified Database.RethinkDB.Protobuf.Ql2.Term as Ql2 (Term)+ +data Query = Query{type' :: !(P'.Maybe Ql2.Query.QueryType), query :: !(P'.Maybe Ql2.Term), token :: !(P'.Maybe P'.Int64),+ oBSOLETE_noreply :: !(P'.Maybe P'.Bool), global_optargs :: !(P'.Seq Ql2.Query.AssocPair)}+ deriving (Prelude'.Show, Prelude'.Eq, Prelude'.Ord, Prelude'.Typeable, Prelude'.Data)+ +instance P'.Mergeable Query where+ mergeAppend (Query x'1 x'2 x'3 x'4 x'5) (Query y'1 y'2 y'3 y'4 y'5)+ = Query (P'.mergeAppend x'1 y'1) (P'.mergeAppend x'2 y'2) (P'.mergeAppend x'3 y'3) (P'.mergeAppend x'4 y'4)+ (P'.mergeAppend x'5 y'5)+ +instance P'.Default Query where+ defaultValue = Query P'.defaultValue P'.defaultValue P'.defaultValue (Prelude'.Just Prelude'.False) P'.defaultValue+ +instance P'.Wire Query where+ wireSize ft' self'@(Query x'1 x'2 x'3 x'4 x'5)+ = case ft' of+ 10 -> calc'Size+ 11 -> P'.prependMessageSize calc'Size+ _ -> P'.wireSizeErr ft' self'+ where+ calc'Size+ = (P'.wireSizeOpt 1 14 x'1 + P'.wireSizeOpt 1 11 x'2 + P'.wireSizeOpt 1 3 x'3 + P'.wireSizeOpt 1 8 x'4 ++ P'.wireSizeRep 1 11 x'5)+ wirePut ft' self'@(Query x'1 x'2 x'3 x'4 x'5)+ = case ft' of+ 10 -> put'Fields+ 11 -> do+ P'.putSize (P'.wireSize 10 self')+ put'Fields+ _ -> P'.wirePutErr ft' self'+ where+ put'Fields+ = do+ P'.wirePutOpt 8 14 x'1+ P'.wirePutOpt 18 11 x'2+ P'.wirePutOpt 24 3 x'3+ P'.wirePutOpt 32 8 x'4+ P'.wirePutRep 50 11 x'5+ wireGet ft'+ = case ft' of+ 10 -> P'.getBareMessageWith update'Self+ 11 -> P'.getMessageWith update'Self+ _ -> P'.wireGetErr ft'+ where+ update'Self wire'Tag old'Self+ = case wire'Tag of+ 8 -> Prelude'.fmap (\ !new'Field -> old'Self{type' = Prelude'.Just new'Field}) (P'.wireGet 14)+ 18 -> Prelude'.fmap (\ !new'Field -> old'Self{query = P'.mergeAppend (query old'Self) (Prelude'.Just new'Field)})+ (P'.wireGet 11)+ 24 -> Prelude'.fmap (\ !new'Field -> old'Self{token = Prelude'.Just new'Field}) (P'.wireGet 3)+ 32 -> Prelude'.fmap (\ !new'Field -> old'Self{oBSOLETE_noreply = Prelude'.Just new'Field}) (P'.wireGet 8)+ 50 -> Prelude'.fmap (\ !new'Field -> old'Self{global_optargs = P'.append (global_optargs old'Self) new'Field})+ (P'.wireGet 11)+ _ -> let (field'Number, wire'Type) = P'.splitWireTag wire'Tag in P'.unknown field'Number wire'Type old'Self+ +instance P'.MessageAPI msg' (msg' -> Query) Query where+ getVal m' f' = f' m'+ +instance P'.GPB Query+ +instance P'.ReflectDescriptor Query where+ getMessageInfo _ = P'.GetMessageInfo (P'.fromDistinctAscList []) (P'.fromDistinctAscList [8, 18, 24, 32, 50])+ reflectDescriptorInfo _+ = Prelude'.read+ "DescriptorInfo {descName = ProtoName {protobufName = FIName \".Ql2.Query\", haskellPrefix = [MName \"Database\",MName \"RethinkDB\",MName \"Protobuf\"], parentModule = [MName \"Ql2\"], baseName = MName \"Query\"}, descFilePath = [\"Database\",\"RethinkDB\",\"Protobuf\",\"Ql2\",\"Query.hs\"], isGroup = False, fields = fromList [FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".Ql2.Query.type\", haskellPrefix' = [MName \"Database\",MName \"RethinkDB\",MName \"Protobuf\"], parentModule' = [MName \"Ql2\",MName \"Query\"], baseName' = FName \"type'\"}, fieldNumber = FieldId {getFieldId = 1}, wireTag = WireTag {getWireTag = 8}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 14}, typeName = Just (ProtoName {protobufName = FIName \".Ql2.Query.QueryType\", haskellPrefix = [MName \"Database\",MName \"RethinkDB\",MName \"Protobuf\"], parentModule = [MName \"Ql2\",MName \"Query\"], baseName = MName \"QueryType\"}), hsRawDefault = Nothing, hsDefault = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".Ql2.Query.query\", haskellPrefix' = [MName \"Database\",MName \"RethinkDB\",MName \"Protobuf\"], parentModule' = [MName \"Ql2\",MName \"Query\"], baseName' = FName \"query\"}, fieldNumber = FieldId {getFieldId = 2}, wireTag = WireTag {getWireTag = 18}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 11}, typeName = Just (ProtoName {protobufName = FIName \".Ql2.Term\", haskellPrefix = [MName \"Database\",MName \"RethinkDB\",MName \"Protobuf\"], parentModule = [MName \"Ql2\"], baseName = MName \"Term\"}), hsRawDefault = Nothing, hsDefault = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".Ql2.Query.token\", haskellPrefix' = [MName \"Database\",MName \"RethinkDB\",MName \"Protobuf\"], parentModule' = [MName \"Ql2\",MName \"Query\"], baseName' = FName \"token\"}, fieldNumber = FieldId {getFieldId = 3}, wireTag = WireTag {getWireTag = 24}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 3}, typeName = Nothing, hsRawDefault = Nothing, hsDefault = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".Ql2.Query.OBSOLETE_noreply\", haskellPrefix' = [MName \"Database\",MName \"RethinkDB\",MName \"Protobuf\"], parentModule' = [MName \"Ql2\",MName \"Query\"], baseName' = FName \"oBSOLETE_noreply\"}, fieldNumber = FieldId {getFieldId = 4}, wireTag = WireTag {getWireTag = 32}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 8}, typeName = Nothing, hsRawDefault = Just \"false\", hsDefault = Just (HsDef'Bool False)},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".Ql2.Query.global_optargs\", haskellPrefix' = [MName \"Database\",MName \"RethinkDB\",MName \"Protobuf\"], parentModule' = [MName \"Ql2\",MName \"Query\"], baseName' = FName \"global_optargs\"}, fieldNumber = FieldId {getFieldId = 6}, wireTag = WireTag {getWireTag = 50}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = True, mightPack = False, typeCode = FieldType {getFieldType = 11}, typeName = Just (ProtoName {protobufName = FIName \".Ql2.Query.AssocPair\", haskellPrefix = [MName \"Database\",MName \"RethinkDB\",MName \"Protobuf\"], parentModule = [MName \"Ql2\",MName \"Query\"], baseName = MName \"AssocPair\"}), hsRawDefault = Nothing, hsDefault = Nothing}], keys = fromList [], extRanges = [], knownKeys = fromList [], storeUnknown = False, lazyFields = False}"
+ Database/RethinkDB/Protobuf/Ql2/Query/AssocPair.hs view
@@ -0,0 +1,61 @@+{-# LANGUAGE BangPatterns, DeriveDataTypeable, FlexibleInstances, MultiParamTypeClasses #-}+module Database.RethinkDB.Protobuf.Ql2.Query.AssocPair (AssocPair(..)) where+import Prelude ((+), (/))+import qualified Prelude as Prelude'+import qualified Data.Typeable as Prelude'+import qualified Data.Data as Prelude'+import qualified Text.ProtocolBuffers.Header as P'+import qualified Database.RethinkDB.Protobuf.Ql2.Term as Ql2 (Term)+ +data AssocPair = AssocPair{key :: !(P'.Maybe P'.Utf8), val :: !(P'.Maybe Ql2.Term)}+ deriving (Prelude'.Show, Prelude'.Eq, Prelude'.Ord, Prelude'.Typeable, Prelude'.Data)+ +instance P'.Mergeable AssocPair where+ mergeAppend (AssocPair x'1 x'2) (AssocPair y'1 y'2) = AssocPair (P'.mergeAppend x'1 y'1) (P'.mergeAppend x'2 y'2)+ +instance P'.Default AssocPair where+ defaultValue = AssocPair P'.defaultValue P'.defaultValue+ +instance P'.Wire AssocPair where+ wireSize ft' self'@(AssocPair x'1 x'2)+ = case ft' of+ 10 -> calc'Size+ 11 -> P'.prependMessageSize calc'Size+ _ -> P'.wireSizeErr ft' self'+ where+ calc'Size = (P'.wireSizeOpt 1 9 x'1 + P'.wireSizeOpt 1 11 x'2)+ wirePut ft' self'@(AssocPair x'1 x'2)+ = case ft' of+ 10 -> put'Fields+ 11 -> do+ P'.putSize (P'.wireSize 10 self')+ put'Fields+ _ -> P'.wirePutErr ft' self'+ where+ put'Fields+ = do+ P'.wirePutOpt 10 9 x'1+ P'.wirePutOpt 18 11 x'2+ wireGet ft'+ = case ft' of+ 10 -> P'.getBareMessageWith update'Self+ 11 -> P'.getMessageWith update'Self+ _ -> P'.wireGetErr ft'+ where+ update'Self wire'Tag old'Self+ = case wire'Tag of+ 10 -> Prelude'.fmap (\ !new'Field -> old'Self{key = Prelude'.Just new'Field}) (P'.wireGet 9)+ 18 -> Prelude'.fmap (\ !new'Field -> old'Self{val = P'.mergeAppend (val old'Self) (Prelude'.Just new'Field)})+ (P'.wireGet 11)+ _ -> let (field'Number, wire'Type) = P'.splitWireTag wire'Tag in P'.unknown field'Number wire'Type old'Self+ +instance P'.MessageAPI msg' (msg' -> AssocPair) AssocPair where+ getVal m' f' = f' m'+ +instance P'.GPB AssocPair+ +instance P'.ReflectDescriptor AssocPair where+ getMessageInfo _ = P'.GetMessageInfo (P'.fromDistinctAscList []) (P'.fromDistinctAscList [10, 18])+ reflectDescriptorInfo _+ = Prelude'.read+ "DescriptorInfo {descName = ProtoName {protobufName = FIName \".Ql2.Query.AssocPair\", haskellPrefix = [MName \"Database\",MName \"RethinkDB\",MName \"Protobuf\"], parentModule = [MName \"Ql2\",MName \"Query\"], baseName = MName \"AssocPair\"}, descFilePath = [\"Database\",\"RethinkDB\",\"Protobuf\",\"Ql2\",\"Query\",\"AssocPair.hs\"], isGroup = False, fields = fromList [FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".Ql2.Query.AssocPair.key\", haskellPrefix' = [MName \"Database\",MName \"RethinkDB\",MName \"Protobuf\"], parentModule' = [MName \"Ql2\",MName \"Query\",MName \"AssocPair\"], baseName' = FName \"key\"}, fieldNumber = FieldId {getFieldId = 1}, wireTag = WireTag {getWireTag = 10}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 9}, typeName = Nothing, hsRawDefault = Nothing, hsDefault = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".Ql2.Query.AssocPair.val\", haskellPrefix' = [MName \"Database\",MName \"RethinkDB\",MName \"Protobuf\"], parentModule' = [MName \"Ql2\",MName \"Query\",MName \"AssocPair\"], baseName' = FName \"val\"}, fieldNumber = FieldId {getFieldId = 2}, wireTag = WireTag {getWireTag = 18}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 11}, typeName = Just (ProtoName {protobufName = FIName \".Ql2.Term\", haskellPrefix = [MName \"Database\",MName \"RethinkDB\",MName \"Protobuf\"], parentModule = [MName \"Ql2\"], baseName = MName \"Term\"}), hsRawDefault = Nothing, hsDefault = Nothing}], keys = fromList [], extRanges = [], knownKeys = fromList [], storeUnknown = False, lazyFields = False}"
+ Database/RethinkDB/Protobuf/Ql2/Query/QueryType.hs view
@@ -0,0 +1,61 @@+{-# LANGUAGE BangPatterns, DeriveDataTypeable, FlexibleInstances, MultiParamTypeClasses #-}+module Database.RethinkDB.Protobuf.Ql2.Query.QueryType (QueryType(..)) where+import Prelude ((+), (/), (.))+import qualified Prelude as Prelude'+import qualified Data.Typeable as Prelude'+import qualified Data.Data as Prelude'+import qualified Text.ProtocolBuffers.Header as P'+ +data QueryType = START+ | CONTINUE+ | STOP+ deriving (Prelude'.Read, Prelude'.Show, Prelude'.Eq, Prelude'.Ord, Prelude'.Typeable, Prelude'.Data)+ +instance P'.Mergeable QueryType+ +instance Prelude'.Bounded QueryType where+ minBound = START+ maxBound = STOP+ +instance P'.Default QueryType where+ defaultValue = START+ +toMaybe'Enum :: Prelude'.Int -> P'.Maybe QueryType+toMaybe'Enum 1 = Prelude'.Just START+toMaybe'Enum 2 = Prelude'.Just CONTINUE+toMaybe'Enum 3 = Prelude'.Just STOP+toMaybe'Enum _ = Prelude'.Nothing+ +instance Prelude'.Enum QueryType where+ fromEnum START = 1+ fromEnum CONTINUE = 2+ fromEnum STOP = 3+ toEnum+ = P'.fromMaybe (Prelude'.error "hprotoc generated code: toEnum failure for type Database.RethinkDB.Protobuf.Ql2.Query.QueryType")+ . toMaybe'Enum+ succ START = CONTINUE+ succ CONTINUE = STOP+ succ _ = Prelude'.error "hprotoc generated code: succ failure for type Database.RethinkDB.Protobuf.Ql2.Query.QueryType"+ pred CONTINUE = START+ pred STOP = CONTINUE+ pred _ = Prelude'.error "hprotoc generated code: pred failure for type Database.RethinkDB.Protobuf.Ql2.Query.QueryType"+ +instance P'.Wire QueryType where+ wireSize ft' enum = P'.wireSize ft' (Prelude'.fromEnum enum)+ wirePut ft' enum = P'.wirePut ft' (Prelude'.fromEnum enum)+ wireGet 14 = P'.wireGetEnum toMaybe'Enum+ wireGet ft' = P'.wireGetErr ft'+ wireGetPacked 14 = P'.wireGetPackedEnum toMaybe'Enum+ wireGetPacked ft' = P'.wireGetErr ft'+ +instance P'.GPB QueryType+ +instance P'.MessageAPI msg' (msg' -> QueryType) QueryType where+ getVal m' f' = f' m'+ +instance P'.ReflectEnum QueryType where+ reflectEnum = [(1, "START", START), (2, "CONTINUE", CONTINUE), (3, "STOP", STOP)]+ reflectEnumInfo _+ = P'.EnumInfo (P'.makePNF (P'.pack ".Ql2.Query.QueryType") ["Database", "RethinkDB", "Protobuf"] ["Ql2", "Query"] "QueryType")+ ["Database", "RethinkDB", "Protobuf", "Ql2", "Query", "QueryType.hs"]+ [(1, "START"), (2, "CONTINUE"), (3, "STOP")]
+ Database/RethinkDB/Protobuf/Ql2/Response.hs view
@@ -0,0 +1,70 @@+{-# LANGUAGE BangPatterns, DeriveDataTypeable, FlexibleInstances, MultiParamTypeClasses #-}+module Database.RethinkDB.Protobuf.Ql2.Response (Response(..)) where+import Prelude ((+), (/))+import qualified Prelude as Prelude'+import qualified Data.Typeable as Prelude'+import qualified Data.Data as Prelude'+import qualified Text.ProtocolBuffers.Header as P'+import qualified Database.RethinkDB.Protobuf.Ql2.Backtrace as Ql2 (Backtrace)+import qualified Database.RethinkDB.Protobuf.Ql2.Datum as Ql2 (Datum)+import qualified Database.RethinkDB.Protobuf.Ql2.Response.ResponseType as Ql2.Response (ResponseType)+ +data Response = Response{type' :: !(P'.Maybe Ql2.Response.ResponseType), token :: !(P'.Maybe P'.Int64),+ response :: !(P'.Seq Ql2.Datum), backtrace :: !(P'.Maybe Ql2.Backtrace)}+ deriving (Prelude'.Show, Prelude'.Eq, Prelude'.Ord, Prelude'.Typeable, Prelude'.Data)+ +instance P'.Mergeable Response where+ mergeAppend (Response x'1 x'2 x'3 x'4) (Response y'1 y'2 y'3 y'4)+ = Response (P'.mergeAppend x'1 y'1) (P'.mergeAppend x'2 y'2) (P'.mergeAppend x'3 y'3) (P'.mergeAppend x'4 y'4)+ +instance P'.Default Response where+ defaultValue = Response P'.defaultValue P'.defaultValue P'.defaultValue P'.defaultValue+ +instance P'.Wire Response where+ wireSize ft' self'@(Response x'1 x'2 x'3 x'4)+ = case ft' of+ 10 -> calc'Size+ 11 -> P'.prependMessageSize calc'Size+ _ -> P'.wireSizeErr ft' self'+ where+ calc'Size = (P'.wireSizeOpt 1 14 x'1 + P'.wireSizeOpt 1 3 x'2 + P'.wireSizeRep 1 11 x'3 + P'.wireSizeOpt 1 11 x'4)+ wirePut ft' self'@(Response x'1 x'2 x'3 x'4)+ = case ft' of+ 10 -> put'Fields+ 11 -> do+ P'.putSize (P'.wireSize 10 self')+ put'Fields+ _ -> P'.wirePutErr ft' self'+ where+ put'Fields+ = do+ P'.wirePutOpt 8 14 x'1+ P'.wirePutOpt 16 3 x'2+ P'.wirePutRep 26 11 x'3+ P'.wirePutOpt 34 11 x'4+ wireGet ft'+ = case ft' of+ 10 -> P'.getBareMessageWith update'Self+ 11 -> P'.getMessageWith update'Self+ _ -> P'.wireGetErr ft'+ where+ update'Self wire'Tag old'Self+ = case wire'Tag of+ 8 -> Prelude'.fmap (\ !new'Field -> old'Self{type' = Prelude'.Just new'Field}) (P'.wireGet 14)+ 16 -> Prelude'.fmap (\ !new'Field -> old'Self{token = Prelude'.Just new'Field}) (P'.wireGet 3)+ 26 -> Prelude'.fmap (\ !new'Field -> old'Self{response = P'.append (response old'Self) new'Field}) (P'.wireGet 11)+ 34 -> Prelude'.fmap+ (\ !new'Field -> old'Self{backtrace = P'.mergeAppend (backtrace old'Self) (Prelude'.Just new'Field)})+ (P'.wireGet 11)+ _ -> let (field'Number, wire'Type) = P'.splitWireTag wire'Tag in P'.unknown field'Number wire'Type old'Self+ +instance P'.MessageAPI msg' (msg' -> Response) Response where+ getVal m' f' = f' m'+ +instance P'.GPB Response+ +instance P'.ReflectDescriptor Response where+ getMessageInfo _ = P'.GetMessageInfo (P'.fromDistinctAscList []) (P'.fromDistinctAscList [8, 16, 26, 34])+ reflectDescriptorInfo _+ = Prelude'.read+ "DescriptorInfo {descName = ProtoName {protobufName = FIName \".Ql2.Response\", haskellPrefix = [MName \"Database\",MName \"RethinkDB\",MName \"Protobuf\"], parentModule = [MName \"Ql2\"], baseName = MName \"Response\"}, descFilePath = [\"Database\",\"RethinkDB\",\"Protobuf\",\"Ql2\",\"Response.hs\"], isGroup = False, fields = fromList [FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".Ql2.Response.type\", haskellPrefix' = [MName \"Database\",MName \"RethinkDB\",MName \"Protobuf\"], parentModule' = [MName \"Ql2\",MName \"Response\"], baseName' = FName \"type'\"}, fieldNumber = FieldId {getFieldId = 1}, wireTag = WireTag {getWireTag = 8}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 14}, typeName = Just (ProtoName {protobufName = FIName \".Ql2.Response.ResponseType\", haskellPrefix = [MName \"Database\",MName \"RethinkDB\",MName \"Protobuf\"], parentModule = [MName \"Ql2\",MName \"Response\"], baseName = MName \"ResponseType\"}), hsRawDefault = Nothing, hsDefault = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".Ql2.Response.token\", haskellPrefix' = [MName \"Database\",MName \"RethinkDB\",MName \"Protobuf\"], parentModule' = [MName \"Ql2\",MName \"Response\"], baseName' = FName \"token\"}, fieldNumber = FieldId {getFieldId = 2}, wireTag = WireTag {getWireTag = 16}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 3}, typeName = Nothing, hsRawDefault = Nothing, hsDefault = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".Ql2.Response.response\", haskellPrefix' = [MName \"Database\",MName \"RethinkDB\",MName \"Protobuf\"], parentModule' = [MName \"Ql2\",MName \"Response\"], baseName' = FName \"response\"}, fieldNumber = FieldId {getFieldId = 3}, wireTag = WireTag {getWireTag = 26}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = True, mightPack = False, typeCode = FieldType {getFieldType = 11}, typeName = Just (ProtoName {protobufName = FIName \".Ql2.Datum\", haskellPrefix = [MName \"Database\",MName \"RethinkDB\",MName \"Protobuf\"], parentModule = [MName \"Ql2\"], baseName = MName \"Datum\"}), hsRawDefault = Nothing, hsDefault = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".Ql2.Response.backtrace\", haskellPrefix' = [MName \"Database\",MName \"RethinkDB\",MName \"Protobuf\"], parentModule' = [MName \"Ql2\",MName \"Response\"], baseName' = FName \"backtrace\"}, fieldNumber = FieldId {getFieldId = 4}, wireTag = WireTag {getWireTag = 34}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 11}, typeName = Just (ProtoName {protobufName = FIName \".Ql2.Backtrace\", haskellPrefix = [MName \"Database\",MName \"RethinkDB\",MName \"Protobuf\"], parentModule = [MName \"Ql2\"], baseName = MName \"Backtrace\"}), hsRawDefault = Nothing, hsDefault = Nothing}], keys = fromList [], extRanges = [], knownKeys = fromList [], storeUnknown = False, lazyFields = False}"
+ Database/RethinkDB/Protobuf/Ql2/Response/ResponseType.hs view
@@ -0,0 +1,81 @@+{-# LANGUAGE BangPatterns, DeriveDataTypeable, FlexibleInstances, MultiParamTypeClasses #-}+module Database.RethinkDB.Protobuf.Ql2.Response.ResponseType (ResponseType(..)) where+import Prelude ((+), (/), (.))+import qualified Prelude as Prelude'+import qualified Data.Typeable as Prelude'+import qualified Data.Data as Prelude'+import qualified Text.ProtocolBuffers.Header as P'+ +data ResponseType = SUCCESS_ATOM+ | SUCCESS_SEQUENCE+ | SUCCESS_PARTIAL+ | CLIENT_ERROR+ | COMPILE_ERROR+ | RUNTIME_ERROR+ deriving (Prelude'.Read, Prelude'.Show, Prelude'.Eq, Prelude'.Ord, Prelude'.Typeable, Prelude'.Data)+ +instance P'.Mergeable ResponseType+ +instance Prelude'.Bounded ResponseType where+ minBound = SUCCESS_ATOM+ maxBound = RUNTIME_ERROR+ +instance P'.Default ResponseType where+ defaultValue = SUCCESS_ATOM+ +toMaybe'Enum :: Prelude'.Int -> P'.Maybe ResponseType+toMaybe'Enum 1 = Prelude'.Just SUCCESS_ATOM+toMaybe'Enum 2 = Prelude'.Just SUCCESS_SEQUENCE+toMaybe'Enum 3 = Prelude'.Just SUCCESS_PARTIAL+toMaybe'Enum 16 = Prelude'.Just CLIENT_ERROR+toMaybe'Enum 17 = Prelude'.Just COMPILE_ERROR+toMaybe'Enum 18 = Prelude'.Just RUNTIME_ERROR+toMaybe'Enum _ = Prelude'.Nothing+ +instance Prelude'.Enum ResponseType where+ fromEnum SUCCESS_ATOM = 1+ fromEnum SUCCESS_SEQUENCE = 2+ fromEnum SUCCESS_PARTIAL = 3+ fromEnum CLIENT_ERROR = 16+ fromEnum COMPILE_ERROR = 17+ fromEnum RUNTIME_ERROR = 18+ toEnum+ = P'.fromMaybe+ (Prelude'.error "hprotoc generated code: toEnum failure for type Database.RethinkDB.Protobuf.Ql2.Response.ResponseType")+ . toMaybe'Enum+ succ SUCCESS_ATOM = SUCCESS_SEQUENCE+ succ SUCCESS_SEQUENCE = SUCCESS_PARTIAL+ succ SUCCESS_PARTIAL = CLIENT_ERROR+ succ CLIENT_ERROR = COMPILE_ERROR+ succ COMPILE_ERROR = RUNTIME_ERROR+ succ _ = Prelude'.error "hprotoc generated code: succ failure for type Database.RethinkDB.Protobuf.Ql2.Response.ResponseType"+ pred SUCCESS_SEQUENCE = SUCCESS_ATOM+ pred SUCCESS_PARTIAL = SUCCESS_SEQUENCE+ pred CLIENT_ERROR = SUCCESS_PARTIAL+ pred COMPILE_ERROR = CLIENT_ERROR+ pred RUNTIME_ERROR = COMPILE_ERROR+ pred _ = Prelude'.error "hprotoc generated code: pred failure for type Database.RethinkDB.Protobuf.Ql2.Response.ResponseType"+ +instance P'.Wire ResponseType where+ wireSize ft' enum = P'.wireSize ft' (Prelude'.fromEnum enum)+ wirePut ft' enum = P'.wirePut ft' (Prelude'.fromEnum enum)+ wireGet 14 = P'.wireGetEnum toMaybe'Enum+ wireGet ft' = P'.wireGetErr ft'+ wireGetPacked 14 = P'.wireGetPackedEnum toMaybe'Enum+ wireGetPacked ft' = P'.wireGetErr ft'+ +instance P'.GPB ResponseType+ +instance P'.MessageAPI msg' (msg' -> ResponseType) ResponseType where+ getVal m' f' = f' m'+ +instance P'.ReflectEnum ResponseType where+ reflectEnum+ = [(1, "SUCCESS_ATOM", SUCCESS_ATOM), (2, "SUCCESS_SEQUENCE", SUCCESS_SEQUENCE), (3, "SUCCESS_PARTIAL", SUCCESS_PARTIAL),+ (16, "CLIENT_ERROR", CLIENT_ERROR), (17, "COMPILE_ERROR", COMPILE_ERROR), (18, "RUNTIME_ERROR", RUNTIME_ERROR)]+ reflectEnumInfo _+ = P'.EnumInfo+ (P'.makePNF (P'.pack ".Ql2.Response.ResponseType") ["Database", "RethinkDB", "Protobuf"] ["Ql2", "Response"] "ResponseType")+ ["Database", "RethinkDB", "Protobuf", "Ql2", "Response", "ResponseType.hs"]+ [(1, "SUCCESS_ATOM"), (2, "SUCCESS_SEQUENCE"), (3, "SUCCESS_PARTIAL"), (16, "CLIENT_ERROR"), (17, "COMPILE_ERROR"),+ (18, "RUNTIME_ERROR")]
+ Database/RethinkDB/Protobuf/Ql2/Term.hs view
@@ -0,0 +1,80 @@+{-# LANGUAGE BangPatterns, DeriveDataTypeable, FlexibleInstances, MultiParamTypeClasses #-}+module Database.RethinkDB.Protobuf.Ql2.Term (Term(..)) where+import Prelude ((+), (/), (==), (<=), (&&))+import qualified Prelude as Prelude'+import qualified Data.Typeable as Prelude'+import qualified Data.Data as Prelude'+import qualified Text.ProtocolBuffers.Header as P'+import qualified Database.RethinkDB.Protobuf.Ql2.Datum as Ql2 (Datum)+import {-# SOURCE #-} qualified Database.RethinkDB.Protobuf.Ql2.Term.AssocPair as Ql2.Term (AssocPair)+import qualified Database.RethinkDB.Protobuf.Ql2.Term.TermType as Ql2.Term (TermType)+ +data Term = Term{type' :: !(P'.Maybe Ql2.Term.TermType), datum :: !(P'.Maybe Ql2.Datum), args :: !(P'.Seq Term),+ optargs :: !(P'.Seq Ql2.Term.AssocPair), ext'field :: !P'.ExtField}+ deriving (Prelude'.Show, Prelude'.Eq, Prelude'.Ord, Prelude'.Typeable, Prelude'.Data)+ +instance P'.ExtendMessage Term where+ getExtField = ext'field+ putExtField e'f msg = msg{ext'field = e'f}+ validExtRanges msg = P'.extRanges (P'.reflectDescriptorInfo msg)+ +instance P'.Mergeable Term where+ mergeAppend (Term x'1 x'2 x'3 x'4 x'5) (Term y'1 y'2 y'3 y'4 y'5)+ = Term (P'.mergeAppend x'1 y'1) (P'.mergeAppend x'2 y'2) (P'.mergeAppend x'3 y'3) (P'.mergeAppend x'4 y'4)+ (P'.mergeAppend x'5 y'5)+ +instance P'.Default Term where+ defaultValue = Term P'.defaultValue P'.defaultValue P'.defaultValue P'.defaultValue P'.defaultValue+ +instance P'.Wire Term where+ wireSize ft' self'@(Term x'1 x'2 x'3 x'4 x'5)+ = case ft' of+ 10 -> calc'Size+ 11 -> P'.prependMessageSize calc'Size+ _ -> P'.wireSizeErr ft' self'+ where+ calc'Size+ = (P'.wireSizeOpt 1 14 x'1 + P'.wireSizeOpt 1 11 x'2 + P'.wireSizeRep 1 11 x'3 + P'.wireSizeRep 1 11 x'4 ++ P'.wireSizeExtField x'5)+ wirePut ft' self'@(Term x'1 x'2 x'3 x'4 x'5)+ = case ft' of+ 10 -> put'Fields+ 11 -> do+ P'.putSize (P'.wireSize 10 self')+ put'Fields+ _ -> P'.wirePutErr ft' self'+ where+ put'Fields+ = do+ P'.wirePutOpt 8 14 x'1+ P'.wirePutOpt 18 11 x'2+ P'.wirePutRep 26 11 x'3+ P'.wirePutRep 34 11 x'4+ P'.wirePutExtField x'5+ wireGet ft'+ = case ft' of+ 10 -> P'.getBareMessageWith update'Self+ 11 -> P'.getMessageWith update'Self+ _ -> P'.wireGetErr ft'+ where+ update'Self wire'Tag old'Self+ = case wire'Tag of+ 8 -> Prelude'.fmap (\ !new'Field -> old'Self{type' = Prelude'.Just new'Field}) (P'.wireGet 14)+ 18 -> Prelude'.fmap (\ !new'Field -> old'Self{datum = P'.mergeAppend (datum old'Self) (Prelude'.Just new'Field)})+ (P'.wireGet 11)+ 26 -> Prelude'.fmap (\ !new'Field -> old'Self{args = P'.append (args old'Self) new'Field}) (P'.wireGet 11)+ 34 -> Prelude'.fmap (\ !new'Field -> old'Self{optargs = P'.append (optargs old'Self) new'Field}) (P'.wireGet 11)+ _ -> let (field'Number, wire'Type) = P'.splitWireTag wire'Tag in+ if Prelude'.or [10000 <= field'Number && field'Number <= 18999, field'Number == 20000] then+ P'.loadExtension field'Number wire'Type old'Self else P'.unknown field'Number wire'Type old'Self+ +instance P'.MessageAPI msg' (msg' -> Term) Term where+ getVal m' f' = f' m'+ +instance P'.GPB Term+ +instance P'.ReflectDescriptor Term where+ getMessageInfo _ = P'.GetMessageInfo (P'.fromDistinctAscList []) (P'.fromDistinctAscList [8, 18, 26, 34])+ reflectDescriptorInfo _+ = Prelude'.read+ "DescriptorInfo {descName = ProtoName {protobufName = FIName \".Ql2.Term\", haskellPrefix = [MName \"Database\",MName \"RethinkDB\",MName \"Protobuf\"], parentModule = [MName \"Ql2\"], baseName = MName \"Term\"}, descFilePath = [\"Database\",\"RethinkDB\",\"Protobuf\",\"Ql2\",\"Term.hs\"], isGroup = False, fields = fromList [FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".Ql2.Term.type\", haskellPrefix' = [MName \"Database\",MName \"RethinkDB\",MName \"Protobuf\"], parentModule' = [MName \"Ql2\",MName \"Term\"], baseName' = FName \"type'\"}, fieldNumber = FieldId {getFieldId = 1}, wireTag = WireTag {getWireTag = 8}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 14}, typeName = Just (ProtoName {protobufName = FIName \".Ql2.Term.TermType\", haskellPrefix = [MName \"Database\",MName \"RethinkDB\",MName \"Protobuf\"], parentModule = [MName \"Ql2\",MName \"Term\"], baseName = MName \"TermType\"}), hsRawDefault = Nothing, hsDefault = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".Ql2.Term.datum\", haskellPrefix' = [MName \"Database\",MName \"RethinkDB\",MName \"Protobuf\"], parentModule' = [MName \"Ql2\",MName \"Term\"], baseName' = FName \"datum\"}, fieldNumber = FieldId {getFieldId = 2}, wireTag = WireTag {getWireTag = 18}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 11}, typeName = Just (ProtoName {protobufName = FIName \".Ql2.Datum\", haskellPrefix = [MName \"Database\",MName \"RethinkDB\",MName \"Protobuf\"], parentModule = [MName \"Ql2\"], baseName = MName \"Datum\"}), hsRawDefault = Nothing, hsDefault = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".Ql2.Term.args\", haskellPrefix' = [MName \"Database\",MName \"RethinkDB\",MName \"Protobuf\"], parentModule' = [MName \"Ql2\",MName \"Term\"], baseName' = FName \"args\"}, fieldNumber = FieldId {getFieldId = 3}, wireTag = WireTag {getWireTag = 26}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = True, mightPack = False, typeCode = FieldType {getFieldType = 11}, typeName = Just (ProtoName {protobufName = FIName \".Ql2.Term\", haskellPrefix = [MName \"Database\",MName \"RethinkDB\",MName \"Protobuf\"], parentModule = [MName \"Ql2\"], baseName = MName \"Term\"}), hsRawDefault = Nothing, hsDefault = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".Ql2.Term.optargs\", haskellPrefix' = [MName \"Database\",MName \"RethinkDB\",MName \"Protobuf\"], parentModule' = [MName \"Ql2\",MName \"Term\"], baseName' = FName \"optargs\"}, fieldNumber = FieldId {getFieldId = 4}, wireTag = WireTag {getWireTag = 34}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = True, mightPack = False, typeCode = FieldType {getFieldType = 11}, typeName = Just (ProtoName {protobufName = FIName \".Ql2.Term.AssocPair\", haskellPrefix = [MName \"Database\",MName \"RethinkDB\",MName \"Protobuf\"], parentModule = [MName \"Ql2\",MName \"Term\"], baseName = MName \"AssocPair\"}), hsRawDefault = Nothing, hsDefault = Nothing}], keys = fromList [], extRanges = [(FieldId {getFieldId = 10000},FieldId {getFieldId = 18999}),(FieldId {getFieldId = 20000},FieldId {getFieldId = 20000})], knownKeys = fromList [], storeUnknown = False, lazyFields = False}"
+ Database/RethinkDB/Protobuf/Ql2/Term/AssocPair.hs view
@@ -0,0 +1,61 @@+{-# LANGUAGE BangPatterns, DeriveDataTypeable, FlexibleInstances, MultiParamTypeClasses #-}+module Database.RethinkDB.Protobuf.Ql2.Term.AssocPair (AssocPair(..)) where+import Prelude ((+), (/))+import qualified Prelude as Prelude'+import qualified Data.Typeable as Prelude'+import qualified Data.Data as Prelude'+import qualified Text.ProtocolBuffers.Header as P'+import qualified Database.RethinkDB.Protobuf.Ql2.Term as Ql2 (Term)+ +data AssocPair = AssocPair{key :: !(P'.Maybe P'.Utf8), val :: !(P'.Maybe Ql2.Term)}+ deriving (Prelude'.Show, Prelude'.Eq, Prelude'.Ord, Prelude'.Typeable, Prelude'.Data)+ +instance P'.Mergeable AssocPair where+ mergeAppend (AssocPair x'1 x'2) (AssocPair y'1 y'2) = AssocPair (P'.mergeAppend x'1 y'1) (P'.mergeAppend x'2 y'2)+ +instance P'.Default AssocPair where+ defaultValue = AssocPair P'.defaultValue P'.defaultValue+ +instance P'.Wire AssocPair where+ wireSize ft' self'@(AssocPair x'1 x'2)+ = case ft' of+ 10 -> calc'Size+ 11 -> P'.prependMessageSize calc'Size+ _ -> P'.wireSizeErr ft' self'+ where+ calc'Size = (P'.wireSizeOpt 1 9 x'1 + P'.wireSizeOpt 1 11 x'2)+ wirePut ft' self'@(AssocPair x'1 x'2)+ = case ft' of+ 10 -> put'Fields+ 11 -> do+ P'.putSize (P'.wireSize 10 self')+ put'Fields+ _ -> P'.wirePutErr ft' self'+ where+ put'Fields+ = do+ P'.wirePutOpt 10 9 x'1+ P'.wirePutOpt 18 11 x'2+ wireGet ft'+ = case ft' of+ 10 -> P'.getBareMessageWith update'Self+ 11 -> P'.getMessageWith update'Self+ _ -> P'.wireGetErr ft'+ where+ update'Self wire'Tag old'Self+ = case wire'Tag of+ 10 -> Prelude'.fmap (\ !new'Field -> old'Self{key = Prelude'.Just new'Field}) (P'.wireGet 9)+ 18 -> Prelude'.fmap (\ !new'Field -> old'Self{val = P'.mergeAppend (val old'Self) (Prelude'.Just new'Field)})+ (P'.wireGet 11)+ _ -> let (field'Number, wire'Type) = P'.splitWireTag wire'Tag in P'.unknown field'Number wire'Type old'Self+ +instance P'.MessageAPI msg' (msg' -> AssocPair) AssocPair where+ getVal m' f' = f' m'+ +instance P'.GPB AssocPair+ +instance P'.ReflectDescriptor AssocPair where+ getMessageInfo _ = P'.GetMessageInfo (P'.fromDistinctAscList []) (P'.fromDistinctAscList [10, 18])+ reflectDescriptorInfo _+ = Prelude'.read+ "DescriptorInfo {descName = ProtoName {protobufName = FIName \".Ql2.Term.AssocPair\", haskellPrefix = [MName \"Database\",MName \"RethinkDB\",MName \"Protobuf\"], parentModule = [MName \"Ql2\",MName \"Term\"], baseName = MName \"AssocPair\"}, descFilePath = [\"Database\",\"RethinkDB\",\"Protobuf\",\"Ql2\",\"Term\",\"AssocPair.hs\"], isGroup = False, fields = fromList [FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".Ql2.Term.AssocPair.key\", haskellPrefix' = [MName \"Database\",MName \"RethinkDB\",MName \"Protobuf\"], parentModule' = [MName \"Ql2\",MName \"Term\",MName \"AssocPair\"], baseName' = FName \"key\"}, fieldNumber = FieldId {getFieldId = 1}, wireTag = WireTag {getWireTag = 10}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 9}, typeName = Nothing, hsRawDefault = Nothing, hsDefault = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".Ql2.Term.AssocPair.val\", haskellPrefix' = [MName \"Database\",MName \"RethinkDB\",MName \"Protobuf\"], parentModule' = [MName \"Ql2\",MName \"Term\",MName \"AssocPair\"], baseName' = FName \"val\"}, fieldNumber = FieldId {getFieldId = 2}, wireTag = WireTag {getWireTag = 18}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 11}, typeName = Just (ProtoName {protobufName = FIName \".Ql2.Term\", haskellPrefix = [MName \"Database\",MName \"RethinkDB\",MName \"Protobuf\"], parentModule = [MName \"Ql2\"], baseName = MName \"Term\"}), hsRawDefault = Nothing, hsDefault = Nothing}], keys = fromList [], extRanges = [], knownKeys = fromList [], storeUnknown = False, lazyFields = False}"
+ Database/RethinkDB/Protobuf/Ql2/Term/AssocPair.hs-boot view
@@ -0,0 +1,30 @@+{-# LANGUAGE BangPatterns, DeriveDataTypeable, FlexibleInstances, MultiParamTypeClasses #-}+module Database.RethinkDB.Protobuf.Ql2.Term.AssocPair (AssocPair) where+import qualified Prelude as Prelude'+import qualified Data.Typeable as Prelude'+import qualified Data.Data as Prelude'+import qualified Text.ProtocolBuffers.Header as P'+ +data AssocPair+ +instance P'.MessageAPI msg' (msg' -> AssocPair) AssocPair+ +instance Prelude'.Show AssocPair+ +instance Prelude'.Eq AssocPair+ +instance Prelude'.Ord AssocPair+ +instance Prelude'.Typeable AssocPair+ +instance Prelude'.Data AssocPair+ +instance P'.Mergeable AssocPair+ +instance P'.Default AssocPair+ +instance P'.Wire AssocPair+ +instance P'.GPB AssocPair+ +instance P'.ReflectDescriptor AssocPair
+ Database/RethinkDB/Protobuf/Ql2/Term/TermType.hs view
@@ -0,0 +1,744 @@+{-# LANGUAGE BangPatterns, DeriveDataTypeable, FlexibleInstances, MultiParamTypeClasses #-}+module Database.RethinkDB.Protobuf.Ql2.Term.TermType (TermType(..)) where+import Prelude ((+), (/), (.))+import qualified Prelude as Prelude'+import qualified Data.Typeable as Prelude'+import qualified Data.Data as Prelude'+import qualified Text.ProtocolBuffers.Header as P'+ +data TermType = DATUM+ | MAKE_ARRAY+ | MAKE_OBJ+ | VAR+ | JAVASCRIPT+ | ERROR+ | IMPLICIT_VAR+ | DB+ | TABLE+ | GET+ | GET_ALL+ | EQ+ | NE+ | LT+ | LE+ | GT+ | GE+ | NOT+ | ADD+ | SUB+ | MUL+ | DIV+ | MOD+ | APPEND+ | PREPEND+ | DIFFERENCE+ | SET_INSERT+ | SET_INTERSECTION+ | SET_UNION+ | SET_DIFFERENCE+ | SLICE+ | SKIP+ | LIMIT+ | INDEXES_OF+ | CONTAINS+ | GET_FIELD+ | KEYS+ | HAS_FIELDS+ | WITH_FIELDS+ | PLUCK+ | WITHOUT+ | MERGE+ | BETWEEN+ | REDUCE+ | MAP+ | FILTER+ | CONCATMAP+ | ORDERBY+ | DISTINCT+ | COUNT+ | IS_EMPTY+ | UNION+ | NTH+ | GROUPED_MAP_REDUCE+ | GROUPBY+ | INNER_JOIN+ | OUTER_JOIN+ | EQ_JOIN+ | ZIP+ | INSERT_AT+ | DELETE_AT+ | CHANGE_AT+ | SPLICE_AT+ | COERCE_TO+ | TYPEOF+ | UPDATE+ | DELETE+ | REPLACE+ | INSERT+ | DB_CREATE+ | DB_DROP+ | DB_LIST+ | TABLE_CREATE+ | TABLE_DROP+ | TABLE_LIST+ | INDEX_CREATE+ | INDEX_DROP+ | INDEX_LIST+ | FUNCALL+ | BRANCH+ | ANY+ | ALL+ | FOREACH+ | FUNC+ | ASC+ | DESC+ | INFO+ | MATCH+ | SAMPLE+ | DEFAULT+ | JSON+ | ISO8601+ | TO_ISO8601+ | EPOCH_TIME+ | TO_EPOCH_TIME+ | NOW+ | IN_TIMEZONE+ | DURING+ | DATE+ | TIME_OF_DAY+ | TIMEZONE+ | YEAR+ | MONTH+ | DAY+ | DAY_OF_WEEK+ | DAY_OF_YEAR+ | HOURS+ | MINUTES+ | SECONDS+ | TIME+ | MONDAY+ | TUESDAY+ | WEDNESDAY+ | THURSDAY+ | FRIDAY+ | SATURDAY+ | SUNDAY+ | JANUARY+ | FEBRUARY+ | MARCH+ | APRIL+ | MAY+ | JUNE+ | JULY+ | AUGUST+ | SEPTEMBER+ | OCTOBER+ | NOVEMBER+ | DECEMBER+ | LITERAL+ deriving (Prelude'.Read, Prelude'.Show, Prelude'.Eq, Prelude'.Ord, Prelude'.Typeable, Prelude'.Data)+ +instance P'.Mergeable TermType+ +instance Prelude'.Bounded TermType where+ minBound = DATUM+ maxBound = LITERAL+ +instance P'.Default TermType where+ defaultValue = DATUM+ +toMaybe'Enum :: Prelude'.Int -> P'.Maybe TermType+toMaybe'Enum 1 = Prelude'.Just DATUM+toMaybe'Enum 2 = Prelude'.Just MAKE_ARRAY+toMaybe'Enum 3 = Prelude'.Just MAKE_OBJ+toMaybe'Enum 10 = Prelude'.Just VAR+toMaybe'Enum 11 = Prelude'.Just JAVASCRIPT+toMaybe'Enum 12 = Prelude'.Just ERROR+toMaybe'Enum 13 = Prelude'.Just IMPLICIT_VAR+toMaybe'Enum 14 = Prelude'.Just DB+toMaybe'Enum 15 = Prelude'.Just TABLE+toMaybe'Enum 16 = Prelude'.Just GET+toMaybe'Enum 78 = Prelude'.Just GET_ALL+toMaybe'Enum 17 = Prelude'.Just EQ+toMaybe'Enum 18 = Prelude'.Just NE+toMaybe'Enum 19 = Prelude'.Just LT+toMaybe'Enum 20 = Prelude'.Just LE+toMaybe'Enum 21 = Prelude'.Just GT+toMaybe'Enum 22 = Prelude'.Just GE+toMaybe'Enum 23 = Prelude'.Just NOT+toMaybe'Enum 24 = Prelude'.Just ADD+toMaybe'Enum 25 = Prelude'.Just SUB+toMaybe'Enum 26 = Prelude'.Just MUL+toMaybe'Enum 27 = Prelude'.Just DIV+toMaybe'Enum 28 = Prelude'.Just MOD+toMaybe'Enum 29 = Prelude'.Just APPEND+toMaybe'Enum 80 = Prelude'.Just PREPEND+toMaybe'Enum 95 = Prelude'.Just DIFFERENCE+toMaybe'Enum 88 = Prelude'.Just SET_INSERT+toMaybe'Enum 89 = Prelude'.Just SET_INTERSECTION+toMaybe'Enum 90 = Prelude'.Just SET_UNION+toMaybe'Enum 91 = Prelude'.Just SET_DIFFERENCE+toMaybe'Enum 30 = Prelude'.Just SLICE+toMaybe'Enum 70 = Prelude'.Just SKIP+toMaybe'Enum 71 = Prelude'.Just LIMIT+toMaybe'Enum 87 = Prelude'.Just INDEXES_OF+toMaybe'Enum 93 = Prelude'.Just CONTAINS+toMaybe'Enum 31 = Prelude'.Just GET_FIELD+toMaybe'Enum 94 = Prelude'.Just KEYS+toMaybe'Enum 32 = Prelude'.Just HAS_FIELDS+toMaybe'Enum 96 = Prelude'.Just WITH_FIELDS+toMaybe'Enum 33 = Prelude'.Just PLUCK+toMaybe'Enum 34 = Prelude'.Just WITHOUT+toMaybe'Enum 35 = Prelude'.Just MERGE+toMaybe'Enum 36 = Prelude'.Just BETWEEN+toMaybe'Enum 37 = Prelude'.Just REDUCE+toMaybe'Enum 38 = Prelude'.Just MAP+toMaybe'Enum 39 = Prelude'.Just FILTER+toMaybe'Enum 40 = Prelude'.Just CONCATMAP+toMaybe'Enum 41 = Prelude'.Just ORDERBY+toMaybe'Enum 42 = Prelude'.Just DISTINCT+toMaybe'Enum 43 = Prelude'.Just COUNT+toMaybe'Enum 86 = Prelude'.Just IS_EMPTY+toMaybe'Enum 44 = Prelude'.Just UNION+toMaybe'Enum 45 = Prelude'.Just NTH+toMaybe'Enum 46 = Prelude'.Just GROUPED_MAP_REDUCE+toMaybe'Enum 47 = Prelude'.Just GROUPBY+toMaybe'Enum 48 = Prelude'.Just INNER_JOIN+toMaybe'Enum 49 = Prelude'.Just OUTER_JOIN+toMaybe'Enum 50 = Prelude'.Just EQ_JOIN+toMaybe'Enum 72 = Prelude'.Just ZIP+toMaybe'Enum 82 = Prelude'.Just INSERT_AT+toMaybe'Enum 83 = Prelude'.Just DELETE_AT+toMaybe'Enum 84 = Prelude'.Just CHANGE_AT+toMaybe'Enum 85 = Prelude'.Just SPLICE_AT+toMaybe'Enum 51 = Prelude'.Just COERCE_TO+toMaybe'Enum 52 = Prelude'.Just TYPEOF+toMaybe'Enum 53 = Prelude'.Just UPDATE+toMaybe'Enum 54 = Prelude'.Just DELETE+toMaybe'Enum 55 = Prelude'.Just REPLACE+toMaybe'Enum 56 = Prelude'.Just INSERT+toMaybe'Enum 57 = Prelude'.Just DB_CREATE+toMaybe'Enum 58 = Prelude'.Just DB_DROP+toMaybe'Enum 59 = Prelude'.Just DB_LIST+toMaybe'Enum 60 = Prelude'.Just TABLE_CREATE+toMaybe'Enum 61 = Prelude'.Just TABLE_DROP+toMaybe'Enum 62 = Prelude'.Just TABLE_LIST+toMaybe'Enum 75 = Prelude'.Just INDEX_CREATE+toMaybe'Enum 76 = Prelude'.Just INDEX_DROP+toMaybe'Enum 77 = Prelude'.Just INDEX_LIST+toMaybe'Enum 64 = Prelude'.Just FUNCALL+toMaybe'Enum 65 = Prelude'.Just BRANCH+toMaybe'Enum 66 = Prelude'.Just ANY+toMaybe'Enum 67 = Prelude'.Just ALL+toMaybe'Enum 68 = Prelude'.Just FOREACH+toMaybe'Enum 69 = Prelude'.Just FUNC+toMaybe'Enum 73 = Prelude'.Just ASC+toMaybe'Enum 74 = Prelude'.Just DESC+toMaybe'Enum 79 = Prelude'.Just INFO+toMaybe'Enum 97 = Prelude'.Just MATCH+toMaybe'Enum 81 = Prelude'.Just SAMPLE+toMaybe'Enum 92 = Prelude'.Just DEFAULT+toMaybe'Enum 98 = Prelude'.Just JSON+toMaybe'Enum 99 = Prelude'.Just ISO8601+toMaybe'Enum 100 = Prelude'.Just TO_ISO8601+toMaybe'Enum 101 = Prelude'.Just EPOCH_TIME+toMaybe'Enum 102 = Prelude'.Just TO_EPOCH_TIME+toMaybe'Enum 103 = Prelude'.Just NOW+toMaybe'Enum 104 = Prelude'.Just IN_TIMEZONE+toMaybe'Enum 105 = Prelude'.Just DURING+toMaybe'Enum 106 = Prelude'.Just DATE+toMaybe'Enum 126 = Prelude'.Just TIME_OF_DAY+toMaybe'Enum 127 = Prelude'.Just TIMEZONE+toMaybe'Enum 128 = Prelude'.Just YEAR+toMaybe'Enum 129 = Prelude'.Just MONTH+toMaybe'Enum 130 = Prelude'.Just DAY+toMaybe'Enum 131 = Prelude'.Just DAY_OF_WEEK+toMaybe'Enum 132 = Prelude'.Just DAY_OF_YEAR+toMaybe'Enum 133 = Prelude'.Just HOURS+toMaybe'Enum 134 = Prelude'.Just MINUTES+toMaybe'Enum 135 = Prelude'.Just SECONDS+toMaybe'Enum 136 = Prelude'.Just TIME+toMaybe'Enum 107 = Prelude'.Just MONDAY+toMaybe'Enum 108 = Prelude'.Just TUESDAY+toMaybe'Enum 109 = Prelude'.Just WEDNESDAY+toMaybe'Enum 110 = Prelude'.Just THURSDAY+toMaybe'Enum 111 = Prelude'.Just FRIDAY+toMaybe'Enum 112 = Prelude'.Just SATURDAY+toMaybe'Enum 113 = Prelude'.Just SUNDAY+toMaybe'Enum 114 = Prelude'.Just JANUARY+toMaybe'Enum 115 = Prelude'.Just FEBRUARY+toMaybe'Enum 116 = Prelude'.Just MARCH+toMaybe'Enum 117 = Prelude'.Just APRIL+toMaybe'Enum 118 = Prelude'.Just MAY+toMaybe'Enum 119 = Prelude'.Just JUNE+toMaybe'Enum 120 = Prelude'.Just JULY+toMaybe'Enum 121 = Prelude'.Just AUGUST+toMaybe'Enum 122 = Prelude'.Just SEPTEMBER+toMaybe'Enum 123 = Prelude'.Just OCTOBER+toMaybe'Enum 124 = Prelude'.Just NOVEMBER+toMaybe'Enum 125 = Prelude'.Just DECEMBER+toMaybe'Enum 137 = Prelude'.Just LITERAL+toMaybe'Enum _ = Prelude'.Nothing+ +instance Prelude'.Enum TermType where+ fromEnum DATUM = 1+ fromEnum MAKE_ARRAY = 2+ fromEnum MAKE_OBJ = 3+ fromEnum VAR = 10+ fromEnum JAVASCRIPT = 11+ fromEnum ERROR = 12+ fromEnum IMPLICIT_VAR = 13+ fromEnum DB = 14+ fromEnum TABLE = 15+ fromEnum GET = 16+ fromEnum GET_ALL = 78+ fromEnum EQ = 17+ fromEnum NE = 18+ fromEnum LT = 19+ fromEnum LE = 20+ fromEnum GT = 21+ fromEnum GE = 22+ fromEnum NOT = 23+ fromEnum ADD = 24+ fromEnum SUB = 25+ fromEnum MUL = 26+ fromEnum DIV = 27+ fromEnum MOD = 28+ fromEnum APPEND = 29+ fromEnum PREPEND = 80+ fromEnum DIFFERENCE = 95+ fromEnum SET_INSERT = 88+ fromEnum SET_INTERSECTION = 89+ fromEnum SET_UNION = 90+ fromEnum SET_DIFFERENCE = 91+ fromEnum SLICE = 30+ fromEnum SKIP = 70+ fromEnum LIMIT = 71+ fromEnum INDEXES_OF = 87+ fromEnum CONTAINS = 93+ fromEnum GET_FIELD = 31+ fromEnum KEYS = 94+ fromEnum HAS_FIELDS = 32+ fromEnum WITH_FIELDS = 96+ fromEnum PLUCK = 33+ fromEnum WITHOUT = 34+ fromEnum MERGE = 35+ fromEnum BETWEEN = 36+ fromEnum REDUCE = 37+ fromEnum MAP = 38+ fromEnum FILTER = 39+ fromEnum CONCATMAP = 40+ fromEnum ORDERBY = 41+ fromEnum DISTINCT = 42+ fromEnum COUNT = 43+ fromEnum IS_EMPTY = 86+ fromEnum UNION = 44+ fromEnum NTH = 45+ fromEnum GROUPED_MAP_REDUCE = 46+ fromEnum GROUPBY = 47+ fromEnum INNER_JOIN = 48+ fromEnum OUTER_JOIN = 49+ fromEnum EQ_JOIN = 50+ fromEnum ZIP = 72+ fromEnum INSERT_AT = 82+ fromEnum DELETE_AT = 83+ fromEnum CHANGE_AT = 84+ fromEnum SPLICE_AT = 85+ fromEnum COERCE_TO = 51+ fromEnum TYPEOF = 52+ fromEnum UPDATE = 53+ fromEnum DELETE = 54+ fromEnum REPLACE = 55+ fromEnum INSERT = 56+ fromEnum DB_CREATE = 57+ fromEnum DB_DROP = 58+ fromEnum DB_LIST = 59+ fromEnum TABLE_CREATE = 60+ fromEnum TABLE_DROP = 61+ fromEnum TABLE_LIST = 62+ fromEnum INDEX_CREATE = 75+ fromEnum INDEX_DROP = 76+ fromEnum INDEX_LIST = 77+ fromEnum FUNCALL = 64+ fromEnum BRANCH = 65+ fromEnum ANY = 66+ fromEnum ALL = 67+ fromEnum FOREACH = 68+ fromEnum FUNC = 69+ fromEnum ASC = 73+ fromEnum DESC = 74+ fromEnum INFO = 79+ fromEnum MATCH = 97+ fromEnum SAMPLE = 81+ fromEnum DEFAULT = 92+ fromEnum JSON = 98+ fromEnum ISO8601 = 99+ fromEnum TO_ISO8601 = 100+ fromEnum EPOCH_TIME = 101+ fromEnum TO_EPOCH_TIME = 102+ fromEnum NOW = 103+ fromEnum IN_TIMEZONE = 104+ fromEnum DURING = 105+ fromEnum DATE = 106+ fromEnum TIME_OF_DAY = 126+ fromEnum TIMEZONE = 127+ fromEnum YEAR = 128+ fromEnum MONTH = 129+ fromEnum DAY = 130+ fromEnum DAY_OF_WEEK = 131+ fromEnum DAY_OF_YEAR = 132+ fromEnum HOURS = 133+ fromEnum MINUTES = 134+ fromEnum SECONDS = 135+ fromEnum TIME = 136+ fromEnum MONDAY = 107+ fromEnum TUESDAY = 108+ fromEnum WEDNESDAY = 109+ fromEnum THURSDAY = 110+ fromEnum FRIDAY = 111+ fromEnum SATURDAY = 112+ fromEnum SUNDAY = 113+ fromEnum JANUARY = 114+ fromEnum FEBRUARY = 115+ fromEnum MARCH = 116+ fromEnum APRIL = 117+ fromEnum MAY = 118+ fromEnum JUNE = 119+ fromEnum JULY = 120+ fromEnum AUGUST = 121+ fromEnum SEPTEMBER = 122+ fromEnum OCTOBER = 123+ fromEnum NOVEMBER = 124+ fromEnum DECEMBER = 125+ fromEnum LITERAL = 137+ toEnum+ = P'.fromMaybe (Prelude'.error "hprotoc generated code: toEnum failure for type Database.RethinkDB.Protobuf.Ql2.Term.TermType") .+ toMaybe'Enum+ succ DATUM = MAKE_ARRAY+ succ MAKE_ARRAY = MAKE_OBJ+ succ MAKE_OBJ = VAR+ succ VAR = JAVASCRIPT+ succ JAVASCRIPT = ERROR+ succ ERROR = IMPLICIT_VAR+ succ IMPLICIT_VAR = DB+ succ DB = TABLE+ succ TABLE = GET+ succ GET = GET_ALL+ succ GET_ALL = EQ+ succ EQ = NE+ succ NE = LT+ succ LT = LE+ succ LE = GT+ succ GT = GE+ succ GE = NOT+ succ NOT = ADD+ succ ADD = SUB+ succ SUB = MUL+ succ MUL = DIV+ succ DIV = MOD+ succ MOD = APPEND+ succ APPEND = PREPEND+ succ PREPEND = DIFFERENCE+ succ DIFFERENCE = SET_INSERT+ succ SET_INSERT = SET_INTERSECTION+ succ SET_INTERSECTION = SET_UNION+ succ SET_UNION = SET_DIFFERENCE+ succ SET_DIFFERENCE = SLICE+ succ SLICE = SKIP+ succ SKIP = LIMIT+ succ LIMIT = INDEXES_OF+ succ INDEXES_OF = CONTAINS+ succ CONTAINS = GET_FIELD+ succ GET_FIELD = KEYS+ succ KEYS = HAS_FIELDS+ succ HAS_FIELDS = WITH_FIELDS+ succ WITH_FIELDS = PLUCK+ succ PLUCK = WITHOUT+ succ WITHOUT = MERGE+ succ MERGE = BETWEEN+ succ BETWEEN = REDUCE+ succ REDUCE = MAP+ succ MAP = FILTER+ succ FILTER = CONCATMAP+ succ CONCATMAP = ORDERBY+ succ ORDERBY = DISTINCT+ succ DISTINCT = COUNT+ succ COUNT = IS_EMPTY+ succ IS_EMPTY = UNION+ succ UNION = NTH+ succ NTH = GROUPED_MAP_REDUCE+ succ GROUPED_MAP_REDUCE = GROUPBY+ succ GROUPBY = INNER_JOIN+ succ INNER_JOIN = OUTER_JOIN+ succ OUTER_JOIN = EQ_JOIN+ succ EQ_JOIN = ZIP+ succ ZIP = INSERT_AT+ succ INSERT_AT = DELETE_AT+ succ DELETE_AT = CHANGE_AT+ succ CHANGE_AT = SPLICE_AT+ succ SPLICE_AT = COERCE_TO+ succ COERCE_TO = TYPEOF+ succ TYPEOF = UPDATE+ succ UPDATE = DELETE+ succ DELETE = REPLACE+ succ REPLACE = INSERT+ succ INSERT = DB_CREATE+ succ DB_CREATE = DB_DROP+ succ DB_DROP = DB_LIST+ succ DB_LIST = TABLE_CREATE+ succ TABLE_CREATE = TABLE_DROP+ succ TABLE_DROP = TABLE_LIST+ succ TABLE_LIST = INDEX_CREATE+ succ INDEX_CREATE = INDEX_DROP+ succ INDEX_DROP = INDEX_LIST+ succ INDEX_LIST = FUNCALL+ succ FUNCALL = BRANCH+ succ BRANCH = ANY+ succ ANY = ALL+ succ ALL = FOREACH+ succ FOREACH = FUNC+ succ FUNC = ASC+ succ ASC = DESC+ succ DESC = INFO+ succ INFO = MATCH+ succ MATCH = SAMPLE+ succ SAMPLE = DEFAULT+ succ DEFAULT = JSON+ succ JSON = ISO8601+ succ ISO8601 = TO_ISO8601+ succ TO_ISO8601 = EPOCH_TIME+ succ EPOCH_TIME = TO_EPOCH_TIME+ succ TO_EPOCH_TIME = NOW+ succ NOW = IN_TIMEZONE+ succ IN_TIMEZONE = DURING+ succ DURING = DATE+ succ DATE = TIME_OF_DAY+ succ TIME_OF_DAY = TIMEZONE+ succ TIMEZONE = YEAR+ succ YEAR = MONTH+ succ MONTH = DAY+ succ DAY = DAY_OF_WEEK+ succ DAY_OF_WEEK = DAY_OF_YEAR+ succ DAY_OF_YEAR = HOURS+ succ HOURS = MINUTES+ succ MINUTES = SECONDS+ succ SECONDS = TIME+ succ TIME = MONDAY+ succ MONDAY = TUESDAY+ succ TUESDAY = WEDNESDAY+ succ WEDNESDAY = THURSDAY+ succ THURSDAY = FRIDAY+ succ FRIDAY = SATURDAY+ succ SATURDAY = SUNDAY+ succ SUNDAY = JANUARY+ succ JANUARY = FEBRUARY+ succ FEBRUARY = MARCH+ succ MARCH = APRIL+ succ APRIL = MAY+ succ MAY = JUNE+ succ JUNE = JULY+ succ JULY = AUGUST+ succ AUGUST = SEPTEMBER+ succ SEPTEMBER = OCTOBER+ succ OCTOBER = NOVEMBER+ succ NOVEMBER = DECEMBER+ succ DECEMBER = LITERAL+ succ _ = Prelude'.error "hprotoc generated code: succ failure for type Database.RethinkDB.Protobuf.Ql2.Term.TermType"+ pred MAKE_ARRAY = DATUM+ pred MAKE_OBJ = MAKE_ARRAY+ pred VAR = MAKE_OBJ+ pred JAVASCRIPT = VAR+ pred ERROR = JAVASCRIPT+ pred IMPLICIT_VAR = ERROR+ pred DB = IMPLICIT_VAR+ pred TABLE = DB+ pred GET = TABLE+ pred GET_ALL = GET+ pred EQ = GET_ALL+ pred NE = EQ+ pred LT = NE+ pred LE = LT+ pred GT = LE+ pred GE = GT+ pred NOT = GE+ pred ADD = NOT+ pred SUB = ADD+ pred MUL = SUB+ pred DIV = MUL+ pred MOD = DIV+ pred APPEND = MOD+ pred PREPEND = APPEND+ pred DIFFERENCE = PREPEND+ pred SET_INSERT = DIFFERENCE+ pred SET_INTERSECTION = SET_INSERT+ pred SET_UNION = SET_INTERSECTION+ pred SET_DIFFERENCE = SET_UNION+ pred SLICE = SET_DIFFERENCE+ pred SKIP = SLICE+ pred LIMIT = SKIP+ pred INDEXES_OF = LIMIT+ pred CONTAINS = INDEXES_OF+ pred GET_FIELD = CONTAINS+ pred KEYS = GET_FIELD+ pred HAS_FIELDS = KEYS+ pred WITH_FIELDS = HAS_FIELDS+ pred PLUCK = WITH_FIELDS+ pred WITHOUT = PLUCK+ pred MERGE = WITHOUT+ pred BETWEEN = MERGE+ pred REDUCE = BETWEEN+ pred MAP = REDUCE+ pred FILTER = MAP+ pred CONCATMAP = FILTER+ pred ORDERBY = CONCATMAP+ pred DISTINCT = ORDERBY+ pred COUNT = DISTINCT+ pred IS_EMPTY = COUNT+ pred UNION = IS_EMPTY+ pred NTH = UNION+ pred GROUPED_MAP_REDUCE = NTH+ pred GROUPBY = GROUPED_MAP_REDUCE+ pred INNER_JOIN = GROUPBY+ pred OUTER_JOIN = INNER_JOIN+ pred EQ_JOIN = OUTER_JOIN+ pred ZIP = EQ_JOIN+ pred INSERT_AT = ZIP+ pred DELETE_AT = INSERT_AT+ pred CHANGE_AT = DELETE_AT+ pred SPLICE_AT = CHANGE_AT+ pred COERCE_TO = SPLICE_AT+ pred TYPEOF = COERCE_TO+ pred UPDATE = TYPEOF+ pred DELETE = UPDATE+ pred REPLACE = DELETE+ pred INSERT = REPLACE+ pred DB_CREATE = INSERT+ pred DB_DROP = DB_CREATE+ pred DB_LIST = DB_DROP+ pred TABLE_CREATE = DB_LIST+ pred TABLE_DROP = TABLE_CREATE+ pred TABLE_LIST = TABLE_DROP+ pred INDEX_CREATE = TABLE_LIST+ pred INDEX_DROP = INDEX_CREATE+ pred INDEX_LIST = INDEX_DROP+ pred FUNCALL = INDEX_LIST+ pred BRANCH = FUNCALL+ pred ANY = BRANCH+ pred ALL = ANY+ pred FOREACH = ALL+ pred FUNC = FOREACH+ pred ASC = FUNC+ pred DESC = ASC+ pred INFO = DESC+ pred MATCH = INFO+ pred SAMPLE = MATCH+ pred DEFAULT = SAMPLE+ pred JSON = DEFAULT+ pred ISO8601 = JSON+ pred TO_ISO8601 = ISO8601+ pred EPOCH_TIME = TO_ISO8601+ pred TO_EPOCH_TIME = EPOCH_TIME+ pred NOW = TO_EPOCH_TIME+ pred IN_TIMEZONE = NOW+ pred DURING = IN_TIMEZONE+ pred DATE = DURING+ pred TIME_OF_DAY = DATE+ pred TIMEZONE = TIME_OF_DAY+ pred YEAR = TIMEZONE+ pred MONTH = YEAR+ pred DAY = MONTH+ pred DAY_OF_WEEK = DAY+ pred DAY_OF_YEAR = DAY_OF_WEEK+ pred HOURS = DAY_OF_YEAR+ pred MINUTES = HOURS+ pred SECONDS = MINUTES+ pred TIME = SECONDS+ pred MONDAY = TIME+ pred TUESDAY = MONDAY+ pred WEDNESDAY = TUESDAY+ pred THURSDAY = WEDNESDAY+ pred FRIDAY = THURSDAY+ pred SATURDAY = FRIDAY+ pred SUNDAY = SATURDAY+ pred JANUARY = SUNDAY+ pred FEBRUARY = JANUARY+ pred MARCH = FEBRUARY+ pred APRIL = MARCH+ pred MAY = APRIL+ pred JUNE = MAY+ pred JULY = JUNE+ pred AUGUST = JULY+ pred SEPTEMBER = AUGUST+ pred OCTOBER = SEPTEMBER+ pred NOVEMBER = OCTOBER+ pred DECEMBER = NOVEMBER+ pred LITERAL = DECEMBER+ pred _ = Prelude'.error "hprotoc generated code: pred failure for type Database.RethinkDB.Protobuf.Ql2.Term.TermType"+ +instance P'.Wire TermType where+ wireSize ft' enum = P'.wireSize ft' (Prelude'.fromEnum enum)+ wirePut ft' enum = P'.wirePut ft' (Prelude'.fromEnum enum)+ wireGet 14 = P'.wireGetEnum toMaybe'Enum+ wireGet ft' = P'.wireGetErr ft'+ wireGetPacked 14 = P'.wireGetPackedEnum toMaybe'Enum+ wireGetPacked ft' = P'.wireGetErr ft'+ +instance P'.GPB TermType+ +instance P'.MessageAPI msg' (msg' -> TermType) TermType where+ getVal m' f' = f' m'+ +instance P'.ReflectEnum TermType where+ reflectEnum+ = [(1, "DATUM", DATUM), (2, "MAKE_ARRAY", MAKE_ARRAY), (3, "MAKE_OBJ", MAKE_OBJ), (10, "VAR", VAR),+ (11, "JAVASCRIPT", JAVASCRIPT), (12, "ERROR", ERROR), (13, "IMPLICIT_VAR", IMPLICIT_VAR), (14, "DB", DB),+ (15, "TABLE", TABLE), (16, "GET", GET), (78, "GET_ALL", GET_ALL), (17, "EQ", EQ), (18, "NE", NE), (19, "LT", LT),+ (20, "LE", LE), (21, "GT", GT), (22, "GE", GE), (23, "NOT", NOT), (24, "ADD", ADD), (25, "SUB", SUB), (26, "MUL", MUL),+ (27, "DIV", DIV), (28, "MOD", MOD), (29, "APPEND", APPEND), (80, "PREPEND", PREPEND), (95, "DIFFERENCE", DIFFERENCE),+ (88, "SET_INSERT", SET_INSERT), (89, "SET_INTERSECTION", SET_INTERSECTION), (90, "SET_UNION", SET_UNION),+ (91, "SET_DIFFERENCE", SET_DIFFERENCE), (30, "SLICE", SLICE), (70, "SKIP", SKIP), (71, "LIMIT", LIMIT),+ (87, "INDEXES_OF", INDEXES_OF), (93, "CONTAINS", CONTAINS), (31, "GET_FIELD", GET_FIELD), (94, "KEYS", KEYS),+ (32, "HAS_FIELDS", HAS_FIELDS), (96, "WITH_FIELDS", WITH_FIELDS), (33, "PLUCK", PLUCK), (34, "WITHOUT", WITHOUT),+ (35, "MERGE", MERGE), (36, "BETWEEN", BETWEEN), (37, "REDUCE", REDUCE), (38, "MAP", MAP), (39, "FILTER", FILTER),+ (40, "CONCATMAP", CONCATMAP), (41, "ORDERBY", ORDERBY), (42, "DISTINCT", DISTINCT), (43, "COUNT", COUNT),+ (86, "IS_EMPTY", IS_EMPTY), (44, "UNION", UNION), (45, "NTH", NTH), (46, "GROUPED_MAP_REDUCE", GROUPED_MAP_REDUCE),+ (47, "GROUPBY", GROUPBY), (48, "INNER_JOIN", INNER_JOIN), (49, "OUTER_JOIN", OUTER_JOIN), (50, "EQ_JOIN", EQ_JOIN),+ (72, "ZIP", ZIP), (82, "INSERT_AT", INSERT_AT), (83, "DELETE_AT", DELETE_AT), (84, "CHANGE_AT", CHANGE_AT),+ (85, "SPLICE_AT", SPLICE_AT), (51, "COERCE_TO", COERCE_TO), (52, "TYPEOF", TYPEOF), (53, "UPDATE", UPDATE),+ (54, "DELETE", DELETE), (55, "REPLACE", REPLACE), (56, "INSERT", INSERT), (57, "DB_CREATE", DB_CREATE),+ (58, "DB_DROP", DB_DROP), (59, "DB_LIST", DB_LIST), (60, "TABLE_CREATE", TABLE_CREATE), (61, "TABLE_DROP", TABLE_DROP),+ (62, "TABLE_LIST", TABLE_LIST), (75, "INDEX_CREATE", INDEX_CREATE), (76, "INDEX_DROP", INDEX_DROP),+ (77, "INDEX_LIST", INDEX_LIST), (64, "FUNCALL", FUNCALL), (65, "BRANCH", BRANCH), (66, "ANY", ANY), (67, "ALL", ALL),+ (68, "FOREACH", FOREACH), (69, "FUNC", FUNC), (73, "ASC", ASC), (74, "DESC", DESC), (79, "INFO", INFO), (97, "MATCH", MATCH),+ (81, "SAMPLE", SAMPLE), (92, "DEFAULT", DEFAULT), (98, "JSON", JSON), (99, "ISO8601", ISO8601),+ (100, "TO_ISO8601", TO_ISO8601), (101, "EPOCH_TIME", EPOCH_TIME), (102, "TO_EPOCH_TIME", TO_EPOCH_TIME), (103, "NOW", NOW),+ (104, "IN_TIMEZONE", IN_TIMEZONE), (105, "DURING", DURING), (106, "DATE", DATE), (126, "TIME_OF_DAY", TIME_OF_DAY),+ (127, "TIMEZONE", TIMEZONE), (128, "YEAR", YEAR), (129, "MONTH", MONTH), (130, "DAY", DAY), (131, "DAY_OF_WEEK", DAY_OF_WEEK),+ (132, "DAY_OF_YEAR", DAY_OF_YEAR), (133, "HOURS", HOURS), (134, "MINUTES", MINUTES), (135, "SECONDS", SECONDS),+ (136, "TIME", TIME), (107, "MONDAY", MONDAY), (108, "TUESDAY", TUESDAY), (109, "WEDNESDAY", WEDNESDAY),+ (110, "THURSDAY", THURSDAY), (111, "FRIDAY", FRIDAY), (112, "SATURDAY", SATURDAY), (113, "SUNDAY", SUNDAY),+ (114, "JANUARY", JANUARY), (115, "FEBRUARY", FEBRUARY), (116, "MARCH", MARCH), (117, "APRIL", APRIL), (118, "MAY", MAY),+ (119, "JUNE", JUNE), (120, "JULY", JULY), (121, "AUGUST", AUGUST), (122, "SEPTEMBER", SEPTEMBER), (123, "OCTOBER", OCTOBER),+ (124, "NOVEMBER", NOVEMBER), (125, "DECEMBER", DECEMBER), (137, "LITERAL", LITERAL)]+ reflectEnumInfo _+ = P'.EnumInfo (P'.makePNF (P'.pack ".Ql2.Term.TermType") ["Database", "RethinkDB", "Protobuf"] ["Ql2", "Term"] "TermType")+ ["Database", "RethinkDB", "Protobuf", "Ql2", "Term", "TermType.hs"]+ [(1, "DATUM"), (2, "MAKE_ARRAY"), (3, "MAKE_OBJ"), (10, "VAR"), (11, "JAVASCRIPT"), (12, "ERROR"), (13, "IMPLICIT_VAR"),+ (14, "DB"), (15, "TABLE"), (16, "GET"), (78, "GET_ALL"), (17, "EQ"), (18, "NE"), (19, "LT"), (20, "LE"), (21, "GT"),+ (22, "GE"), (23, "NOT"), (24, "ADD"), (25, "SUB"), (26, "MUL"), (27, "DIV"), (28, "MOD"), (29, "APPEND"), (80, "PREPEND"),+ (95, "DIFFERENCE"), (88, "SET_INSERT"), (89, "SET_INTERSECTION"), (90, "SET_UNION"), (91, "SET_DIFFERENCE"), (30, "SLICE"),+ (70, "SKIP"), (71, "LIMIT"), (87, "INDEXES_OF"), (93, "CONTAINS"), (31, "GET_FIELD"), (94, "KEYS"), (32, "HAS_FIELDS"),+ (96, "WITH_FIELDS"), (33, "PLUCK"), (34, "WITHOUT"), (35, "MERGE"), (36, "BETWEEN"), (37, "REDUCE"), (38, "MAP"),+ (39, "FILTER"), (40, "CONCATMAP"), (41, "ORDERBY"), (42, "DISTINCT"), (43, "COUNT"), (86, "IS_EMPTY"), (44, "UNION"),+ (45, "NTH"), (46, "GROUPED_MAP_REDUCE"), (47, "GROUPBY"), (48, "INNER_JOIN"), (49, "OUTER_JOIN"), (50, "EQ_JOIN"),+ (72, "ZIP"), (82, "INSERT_AT"), (83, "DELETE_AT"), (84, "CHANGE_AT"), (85, "SPLICE_AT"), (51, "COERCE_TO"), (52, "TYPEOF"),+ (53, "UPDATE"), (54, "DELETE"), (55, "REPLACE"), (56, "INSERT"), (57, "DB_CREATE"), (58, "DB_DROP"), (59, "DB_LIST"),+ (60, "TABLE_CREATE"), (61, "TABLE_DROP"), (62, "TABLE_LIST"), (75, "INDEX_CREATE"), (76, "INDEX_DROP"), (77, "INDEX_LIST"),+ (64, "FUNCALL"), (65, "BRANCH"), (66, "ANY"), (67, "ALL"), (68, "FOREACH"), (69, "FUNC"), (73, "ASC"), (74, "DESC"),+ (79, "INFO"), (97, "MATCH"), (81, "SAMPLE"), (92, "DEFAULT"), (98, "JSON"), (99, "ISO8601"), (100, "TO_ISO8601"),+ (101, "EPOCH_TIME"), (102, "TO_EPOCH_TIME"), (103, "NOW"), (104, "IN_TIMEZONE"), (105, "DURING"), (106, "DATE"),+ (126, "TIME_OF_DAY"), (127, "TIMEZONE"), (128, "YEAR"), (129, "MONTH"), (130, "DAY"), (131, "DAY_OF_WEEK"),+ (132, "DAY_OF_YEAR"), (133, "HOURS"), (134, "MINUTES"), (135, "SECONDS"), (136, "TIME"), (107, "MONDAY"), (108, "TUESDAY"),+ (109, "WEDNESDAY"), (110, "THURSDAY"), (111, "FRIDAY"), (112, "SATURDAY"), (113, "SUNDAY"), (114, "JANUARY"),+ (115, "FEBRUARY"), (116, "MARCH"), (117, "APRIL"), (118, "MAY"), (119, "JUNE"), (120, "JULY"), (121, "AUGUST"),+ (122, "SEPTEMBER"), (123, "OCTOBER"), (124, "NOVEMBER"), (125, "DECEMBER"), (137, "LITERAL")]
+ Database/RethinkDB/Protobuf/Ql2/VersionDummy.hs view
@@ -0,0 +1,56 @@+{-# LANGUAGE BangPatterns, DeriveDataTypeable, FlexibleInstances, MultiParamTypeClasses #-}+module Database.RethinkDB.Protobuf.Ql2.VersionDummy (VersionDummy(..)) where+import Prelude ((+), (/))+import qualified Prelude as Prelude'+import qualified Data.Typeable as Prelude'+import qualified Data.Data as Prelude'+import qualified Text.ProtocolBuffers.Header as P'+ +data VersionDummy = VersionDummy{}+ deriving (Prelude'.Show, Prelude'.Eq, Prelude'.Ord, Prelude'.Typeable, Prelude'.Data)+ +instance P'.Mergeable VersionDummy where+ mergeAppend VersionDummy VersionDummy = VersionDummy+ +instance P'.Default VersionDummy where+ defaultValue = VersionDummy+ +instance P'.Wire VersionDummy where+ wireSize ft' self'@(VersionDummy)+ = case ft' of+ 10 -> calc'Size+ 11 -> P'.prependMessageSize calc'Size+ _ -> P'.wireSizeErr ft' self'+ where+ calc'Size = 0+ wirePut ft' self'@(VersionDummy)+ = case ft' of+ 10 -> put'Fields+ 11 -> do+ P'.putSize (P'.wireSize 10 self')+ put'Fields+ _ -> P'.wirePutErr ft' self'+ where+ put'Fields+ = do+ Prelude'.return ()+ wireGet ft'+ = case ft' of+ 10 -> P'.getBareMessageWith update'Self+ 11 -> P'.getMessageWith update'Self+ _ -> P'.wireGetErr ft'+ where+ update'Self wire'Tag old'Self+ = case wire'Tag of+ _ -> let (field'Number, wire'Type) = P'.splitWireTag wire'Tag in P'.unknown field'Number wire'Type old'Self+ +instance P'.MessageAPI msg' (msg' -> VersionDummy) VersionDummy where+ getVal m' f' = f' m'+ +instance P'.GPB VersionDummy+ +instance P'.ReflectDescriptor VersionDummy where+ getMessageInfo _ = P'.GetMessageInfo (P'.fromDistinctAscList []) (P'.fromDistinctAscList [])+ reflectDescriptorInfo _+ = Prelude'.read+ "DescriptorInfo {descName = ProtoName {protobufName = FIName \".Ql2.VersionDummy\", haskellPrefix = [MName \"Database\",MName \"RethinkDB\",MName \"Protobuf\"], parentModule = [MName \"Ql2\"], baseName = MName \"VersionDummy\"}, descFilePath = [\"Database\",\"RethinkDB\",\"Protobuf\",\"Ql2\",\"VersionDummy.hs\"], isGroup = False, fields = fromList [], keys = fromList [], extRanges = [], knownKeys = fromList [], storeUnknown = False, lazyFields = False}"
+ Database/RethinkDB/Protobuf/Ql2/VersionDummy/Version.hs view
@@ -0,0 +1,58 @@+{-# LANGUAGE BangPatterns, DeriveDataTypeable, FlexibleInstances, MultiParamTypeClasses #-}+module Database.RethinkDB.Protobuf.Ql2.VersionDummy.Version (Version(..)) where+import Prelude ((+), (/), (.))+import qualified Prelude as Prelude'+import qualified Data.Typeable as Prelude'+import qualified Data.Data as Prelude'+import qualified Text.ProtocolBuffers.Header as P'+ +data Version = V0_1+ | V0_2+ deriving (Prelude'.Read, Prelude'.Show, Prelude'.Eq, Prelude'.Ord, Prelude'.Typeable, Prelude'.Data)+ +instance P'.Mergeable Version+ +instance Prelude'.Bounded Version where+ minBound = V0_1+ maxBound = V0_2+ +instance P'.Default Version where+ defaultValue = V0_1+ +toMaybe'Enum :: Prelude'.Int -> P'.Maybe Version+toMaybe'Enum 1063369270 = Prelude'.Just V0_1+toMaybe'Enum 1915781601 = Prelude'.Just V0_2+toMaybe'Enum _ = Prelude'.Nothing+ +instance Prelude'.Enum Version where+ fromEnum V0_1 = 1063369270+ fromEnum V0_2 = 1915781601+ toEnum+ = P'.fromMaybe+ (Prelude'.error "hprotoc generated code: toEnum failure for type Database.RethinkDB.Protobuf.Ql2.VersionDummy.Version")+ . toMaybe'Enum+ succ V0_1 = V0_2+ succ _ = Prelude'.error "hprotoc generated code: succ failure for type Database.RethinkDB.Protobuf.Ql2.VersionDummy.Version"+ pred V0_2 = V0_1+ pred _ = Prelude'.error "hprotoc generated code: pred failure for type Database.RethinkDB.Protobuf.Ql2.VersionDummy.Version"+ +instance P'.Wire Version where+ wireSize ft' enum = P'.wireSize ft' (Prelude'.fromEnum enum)+ wirePut ft' enum = P'.wirePut ft' (Prelude'.fromEnum enum)+ wireGet 14 = P'.wireGetEnum toMaybe'Enum+ wireGet ft' = P'.wireGetErr ft'+ wireGetPacked 14 = P'.wireGetPackedEnum toMaybe'Enum+ wireGetPacked ft' = P'.wireGetErr ft'+ +instance P'.GPB Version+ +instance P'.MessageAPI msg' (msg' -> Version) Version where+ getVal m' f' = f' m'+ +instance P'.ReflectEnum Version where+ reflectEnum = [(1063369270, "V0_1", V0_1), (1915781601, "V0_2", V0_2)]+ reflectEnumInfo _+ = P'.EnumInfo+ (P'.makePNF (P'.pack ".Ql2.VersionDummy.Version") ["Database", "RethinkDB", "Protobuf"] ["Ql2", "VersionDummy"] "Version")+ ["Database", "RethinkDB", "Protobuf", "Ql2", "VersionDummy", "Version.hs"]+ [(1063369270, "V0_1"), (1915781601, "V0_2")]
+ Database/RethinkDB/ReQL.hs view
@@ -0,0 +1,427 @@+{-# LANGUAGE ExistentialQuantification, RecordWildCards, ScopedTypeVariables,+ FlexibleInstances, OverloadedStrings, PatternGuards #-}++-- | Building RQL queries in Haskell+module Database.RethinkDB.ReQL (+ ReQL(..),+ op,+ BaseReQL(..),+ BaseAttribute(..),+ buildQuery,+ BaseArray,+ Backtrace, convertBacktrace,+ Expr(..),+ QuerySettings(..),+ newVarId,+ str,+ num,+ Attribute(..),+ cons,+ arr,+ baseArray,+ withQuerySettings,+ Object(..),+ Obj(..),+ returnVals,+ canReturnVals,+ reqlToProtobuf+ ) where++import qualified Data.Vector as V+import qualified Data.HashMap.Lazy as M+import Data.Maybe (fromMaybe, catMaybes)+import Data.String (IsString(..))+import Data.List (intersperse)+import qualified Data.Sequence as S+import Control.Monad.State (State, get, put, runState)+import Control.Applicative ((<$>))+import Data.Default (Default, def)+import qualified Data.Text as T+import qualified Data.Aeson as J+import Data.Foldable (toList)+import Data.Time+import Data.Time.Clock.POSIX+import Control.Monad.Fix++import Text.ProtocolBuffers hiding (Key, cons, Default)+import Text.ProtocolBuffers.Basic hiding (Default)++import Database.RethinkDB.Protobuf.Ql2.Term+import qualified Database.RethinkDB.Protobuf.Ql2.Term as Term+import Database.RethinkDB.Protobuf.Ql2.Term.TermType as TermType+import Database.RethinkDB.Protobuf.Ql2.Term.AssocPair+import qualified Database.RethinkDB.Protobuf.Ql2.Query as Query+import Database.RethinkDB.Protobuf.Ql2.Query.QueryType+import qualified Database.RethinkDB.Protobuf.Ql2.Datum as Datum+import qualified Database.RethinkDB.Protobuf.Ql2.Datum.AssocPair as Datum+import Database.RethinkDB.Protobuf.Ql2.Datum+import qualified Database.RethinkDB.Protobuf.Ql2.Backtrace as QL+import qualified Database.RethinkDB.Protobuf.Ql2.Frame as QL+import Database.RethinkDB.Protobuf.Ql2.Datum.DatumType+import Database.RethinkDB.Protobuf.Ql2.Frame.FrameType as QL++import Database.RethinkDB.Objects as O++-- | An RQL term+data ReQL = ReQL { baseReQL :: State QuerySettings BaseReQL }++data BaseReQL = BaseReQL {+ termType :: TermType,+ termDatum :: Maybe Datum.Datum,+ termArgs :: BaseArray,+ termOptArgs :: [BaseAttribute] }++data QuerySettings = QuerySettings {+ queryToken :: Int64,+ queryDefaultDatabase :: Database,+ queryVarIndex :: Int,+ queryUseOutdated :: Maybe Bool,+ queryReturnVals :: Maybe Bool+ }++instance Default QuerySettings where+ def = QuerySettings 0 (Database "") 0 Nothing Nothing++withQuerySettings :: (QuerySettings -> ReQL) -> ReQL+withQuerySettings f = ReQL $ (baseReQL . f) =<< get++-- | Include the value of single write operations in the returned object+returnVals :: ReQL -> ReQL+returnVals (ReQL t) = ReQL $ do+ state <- get+ put state{ queryReturnVals = Just True }+ ret <- t+ state' <- get+ put state'{ queryReturnVals = queryReturnVals state }+ return ret++canReturnVals :: ReQL -> ReQL+canReturnVals (ReQL t) = ReQL $ t >>= \ret -> do+ qs <- get+ case queryReturnVals qs of+ Nothing -> return ret+ Just rv -> return ret{+ termOptArgs = BaseAttribute "return_vals" (baseBool rv) : termOptArgs ret }++baseBool :: Bool -> BaseReQL+baseBool b = BaseReQL DATUM (Just defaultValue{+ Datum.type' = Just R_BOOL, r_bool = Just b }) [] []++newVarId :: State QuerySettings Int+newVarId = do+ QuerySettings {..} <- get+ let n = queryVarIndex + 1+ put QuerySettings {queryVarIndex = n, ..}+ return $ n++instance Show BaseReQL where+ show (BaseReQL DATUM (Just dat) _ _) = showD dat+ show (BaseReQL MAKE_ARRAY _ x []) = "[" ++ (concat $ intersperse ", " $ map show x) ++ "]"+ show (BaseReQL MAKE_OBJ _ [] x) = "{" ++ (concat $ intersperse ", " $ map show x) ++ "}"+ show (BaseReQL VAR _ [BaseReQL DATUM (Just d) [] []] []) | Just x <- toDouble d =+ "x" ++ show (round x)+ show (BaseReQL FUNC _ [BaseReQL DATUM (Just d) [] [], body] []) | Just vars <- toDoubles d =+ "(\\" ++ (concat $ intersperse " " $ map (("x"++) . show . round) $ vars)+ ++ " -> " ++ show body ++ ")"+ show (BaseReQL GET_FIELD _ [o, k] []) = show o ++ "!" ++ show k+ show (BaseReQL fun _ args optargs) =+ show fun ++ "(" +++ concat (intersperse ", " (map show args ++ map show optargs)) ++ ")"++showD :: Datum.Datum -> String+showD d = case Datum.type' d of+ Just R_NUM -> show' $ r_num d+ Just R_BOOL -> show' $ r_bool d+ Just R_STR -> show' $ r_str d+ Just R_ARRAY -> "[" ++ (concat $ intersperse ", " $ map showD $ toList $ r_array d) ++ "]"+ Just R_OBJECT ->+ "{" ++ (concat $ intersperse ", " $ map showDatumAttr $ toList $ r_object d) ++ "}"+ Just R_NULL -> "null"+ Nothing -> "Nothing"+ where show' Nothing = "Nothing"+ show' (Just a) = show a++showDatumAttr:: Datum.AssocPair -> String+showDatumAttr (Datum.AssocPair (Just k) (Just v)) = uToString k ++ ": " ++ showD v+showDatumAttr x = show x++-- | Convert other types into ReqL expressions+class Expr e where+ expr :: e -> ReQL++instance Expr ReQL where+ expr t = t++-- | A list of terms+data Array = Array { baseArray :: State QuerySettings BaseArray }++type BaseArray = [BaseReQL]++-- | Build arrays of exprs+class Arr a where+ arr :: a -> Array++cons :: Expr e => e -> Array -> Array+cons x xs = Array $ do+ bt <- baseReQL (expr x)+ xs' <- baseArray xs+ return $ bt : xs'++instance Arr () where+ arr () = Array $ return []++instance Expr a => Arr [a] where+ arr [] = Array $ return []+ arr (x:xs) = cons x (arr xs)++instance (Expr a, Expr b) => Arr (a, b) where+ arr (a,b) = cons a $ cons b $ arr ()++instance (Expr a, Expr b, Expr c) => Arr (a, b, c) where+ arr (a,b,c) = cons a $ cons b $ cons c $ arr ()++instance (Expr a, Expr b, Expr c, Expr d) => Arr (a, b, c, d) where+ arr (a,b,c,d) = cons a $ cons b $ cons c $ cons d $ arr ()++instance Arr Array where+ arr = id++-- | A list of key/value pairs+data Object = Object { baseObject :: State QuerySettings [BaseAttribute] }++-- | A key/value pair used for building objects+data Attribute = forall e . (Expr e) => T.Text := e++data BaseAttribute = BaseAttribute T.Text BaseReQL++mapBaseAttribute :: (BaseReQL -> BaseReQL) -> BaseAttribute -> BaseAttribute+mapBaseAttribute f (BaseAttribute k v) = BaseAttribute k (f v)++instance Show BaseAttribute where+ show (BaseAttribute a b) = T.unpack a ++ ": " ++ show b++-- | Convert into a ReQL object+class Obj o where+ obj :: o -> Object++instance Obj [Attribute] where+ obj = Object . mapM base+ where base (k := e) = BaseAttribute k <$> baseReQL (expr e)++instance Obj Object where+ obj = id++instance Obj () where+ obj _ = Object $ return []++-- | Build a term+op :: (Arr a, Obj o) => TermType -> a -> o -> ReQL+op t a b = ReQL $ do+ a' <- baseArray (arr a)+ b' <- baseObject (obj b)+ case (t, a') of+ (FUNCALL, (BaseReQL FUNC Nothing [argsFunDatum, fun] [] : argsCall)) |+ BaseReQL DATUM (Just argsFunArray) [] [] <- argsFunDatum,+ Just varsFun <- toDoubles argsFunArray,+ length varsFun == length argsCall,+ Just varsCall <- varsOf argsCall ->+ return $ alphaRename (zip varsFun varsCall) fun+ _ -> return $ BaseReQL t Nothing a' b'++toDoubles :: Datum.Datum -> Maybe [Double]+toDoubles Datum.Datum{+ Datum.type' = Just R_ARRAY,+ r_array = seq } =+ sequence . map toDouble . toList $ seq+toDoubles _ = Nothing++toDouble :: Datum.Datum -> Maybe Double+toDouble Datum.Datum{ type' = Just R_NUM, r_num = Just n } = Just n+toDouble _ = Nothing++varsOf :: [BaseReQL] -> Maybe [Double]+varsOf = sequence . map varOf+ +varOf :: BaseReQL -> Maybe Double+varOf (BaseReQL VAR Nothing [BaseReQL DATUM (Just d) [] []] []) = toDouble d+varOf _ = Nothing++datumNumberArray :: [Int] -> Datum.Datum+datumNumberArray a =+ defaultValue{+ Datum.type' = Just R_ARRAY,+ r_array = S.fromList $ map datumInt a }++datumInt :: Int -> Datum.Datum+datumInt n =+ defaultValue{+ Datum.type' = Just R_NUM,+ r_num = Just $ fromIntegral n }++alphaRename :: [(Double, Double)] -> BaseReQL -> BaseReQL+alphaRename assoc = fix $ \f x ->+ case varOf x of+ Just n+ | Just n' <- lookup n assoc ->+ BaseReQL VAR Nothing+ [BaseReQL DATUM+ (Just $ defaultValue{ Datum.type' = Just R_NUM, r_num = Just n' }) [] []] []+ | otherwise -> x+ _ -> updateChildren x f++updateChildren :: BaseReQL -> (BaseReQL -> BaseReQL) -> BaseReQL+updateChildren (BaseReQL t d a o) f = BaseReQL t d (map f a) (map (mapBaseAttribute f) o)++datumTerm :: DatumType -> Datum.Datum -> ReQL+datumTerm t d = ReQL $ return $ BaseReQL DATUM (Just d { Datum.type' = Just t }) [] []++-- | A shortcut for inserting strings into ReQL expressions+-- Useful when OverloadedStrings makes the type ambiguous+str :: String -> ReQL+str s = datumTerm R_STR defaultValue { r_str = Just (uFromString s) }++-- | A shortcut for inserting numbers into ReQL expressions+num :: Double -> ReQL+num = expr++instance Expr Int64 where+ expr i = datumTerm R_NUM defaultValue { r_num = Just (fromIntegral i) }++instance Expr Int where+ expr i = datumTerm R_NUM defaultValue { r_num = Just (fromIntegral i) }++instance Expr Integer where+ expr i = datumTerm R_NUM defaultValue { r_num = Just (fromIntegral i) }++instance Num ReQL where+ fromInteger x = datumTerm R_NUM defaultValue { r_num = Just (fromInteger x) }+ a + b = op ADD (a, b) ()+ a * b = op MUL (a, b) ()+ abs n = op BRANCH (op TermType.LT (n, 0 :: Double) (), negate n, n) ()+ signum n = op BRANCH (op TermType.LT (n, 0 :: Double) (),+ -1 :: Double,+ op BRANCH (op TermType.EQ (n, 0 :: Double) (), 0 :: Double, 1 :: Double) ()) ()++instance Expr T.Text where+ expr t = datumTerm R_STR defaultValue { r_str = Just (uFromString $ T.unpack t) }++instance Expr Bool where+ expr b = datumTerm R_BOOL defaultValue { r_bool = Just b }++instance Expr () where+ expr _ = datumTerm R_NULL defaultValue++instance IsString ReQL where+ fromString s = datumTerm R_STR defaultValue { r_str = Just (uFromString $ s) }++instance Expr (ReQL -> ReQL) where+ expr f = ReQL $ do+ v <- newVarId+ baseReQL $ op FUNC (datumNumberArray [v], f (op VAR [v] ())) ()++instance Expr (ReQL -> ReQL -> ReQL) where+ expr f = ReQL $ do+ a <- newVarId+ b <- newVarId+ baseReQL $ op FUNC (datumNumberArray [a, b], f (op VAR [a] ()) (op VAR [b] ())) ()++instance Expr Datum.Datum where+ expr d = ReQL $ return $ BaseReQL DATUM (Just d) [] []++instance Expr Table where+ expr (Table mdb name _) = withQuerySettings $ \QuerySettings {..} ->+ op TABLE (fromMaybe queryDefaultDatabase mdb, name) $ catMaybes [+ fmap ("use_outdated" :=) queryUseOutdated ]++instance Expr Database where+ expr (Database name) = op DB [name] ()++instance Expr J.Value where+ expr J.Null = expr ()+ expr (J.Bool b) = expr b+ expr (J.Number n) = expr (fromRational (toRational n) :: Double)+ expr (J.String t) = expr t+ expr (J.Array a) = expr a+ expr (J.Object o) = expr o++instance Expr Double where+ expr d = datumTerm R_NUM defaultValue { r_num = Just d }++instance Expr Rational where+ expr x = expr (fromRational x :: Double)++instance Expr x => Expr (V.Vector x) where+ expr v = expr (V.toList v)++instance Expr a => Expr [a] where+ expr a = expr $ arr a++instance Expr Array where+ expr a = op MAKE_ARRAY a ()++instance Expr e => Expr (M.HashMap T.Text e) where+ expr m = expr $ obj $ map (uncurry (:=)) $ M.toList m++instance Expr Object where+ expr o = op MAKE_OBJ () o++buildBaseReQL :: BaseReQL -> Term+buildBaseReQL BaseReQL {..} = defaultValue {+ Term.type' = Just termType,+ datum = termDatum,+ args = buildBaseArray termArgs,+ optargs = buildTermAssoc termOptArgs }++buildBaseArray :: BaseArray -> Seq Term+buildBaseArray [] = S.empty+buildBaseArray (x:xs) = buildBaseReQL x S.<| buildBaseArray xs++buildTermAssoc :: [BaseAttribute] -> Seq AssocPair+buildTermAssoc = S.fromList . map buildTermAttribute++buildTermAttribute :: BaseAttribute -> AssocPair+buildTermAttribute (BaseAttribute k v) = AssocPair (Just $ uFromString $ T.unpack k) (Just $ buildBaseReQL v)++buildQuery :: ReQL -> Int64 -> Database -> (Query.Query, BaseReQL)+buildQuery term token db = (defaultValue {+ Query.type' = Just START,+ Query.query = Just pterm },+ bterm)+ where bterm =+ fst $ runState (baseReQL term) (def {queryToken = token,+ queryDefaultDatabase = db })+ pterm = buildBaseReQL bterm++instance Show ReQL where+ show t = show . snd $ buildQuery t 0 (Database "")++reqlToProtobuf :: ReQL -> Query.Query+reqlToProtobuf t = fst $ buildQuery t 0 (Database "")++type Backtrace = [Frame]++data Frame = FramePos Int64 | FrameOpt T.Text++instance Show Frame where+ show (FramePos n) = show n+ show (FrameOpt k) = show k++convertBacktrace :: QL.Backtrace -> Backtrace+convertBacktrace = concatMap convertFrame . toList . QL.frames+ where convertFrame QL.Frame { type' = Just QL.POS, pos = Just n } = [FramePos n]+ convertFrame QL.Frame { type' = Just QL.OPT, opt = Just k } = [FrameOpt (T.pack $ uToString k)]+ convertFrame _ = []++instance Expr UTCTime where+ expr t = op EPOCH_TIME [expr . toRational $ utcTimeToPOSIXSeconds t] ()++instance Expr ZonedTime where+ expr (ZonedTime+ (LocalTime+ date+ (TimeOfDay hour minute seconds))+ timezone) = let+ (year, month, day) = toGregorian date+ in op TIME [+ expr year, expr month, expr day, expr hour, expr minute, expr (toRational seconds),+ str $ timeZoneOffsetString timezone] ()
+ Database/RethinkDB/Time.hs view
@@ -0,0 +1,106 @@+{-# LANGUAGE OverloadedStrings #-}++module Database.RethinkDB.Time where++import Data.Text (Text)+import qualified Data.Time as Time+import qualified Data.Time.Clock.POSIX as Time+import Data.Aeson as JSON+import Data.Aeson.Types (Parser)+import Control.Monad+import Control.Applicative++import Database.RethinkDB.ReQL++import Database.RethinkDB.Protobuf.Ql2.Term.TermType++-- | The time and date when the query is executed+now :: ReQL+now = op NOW () ()++-- | Build a time object from the year, month, day, hour, minute, second and timezone fields+time :: ReQL -> ReQL -> ReQL -> ReQL -> ReQL -> ReQL -> ReQL -> ReQL+time y m d hh mm ss tz = op TIME [y, m, d, hh, mm, ss, tz] ()++-- | Build a time object given the number of seconds since the unix epoch+epochTime :: ReQL -> ReQL+epochTime t = op EPOCH_TIME [t] ()++-- | Build a time object given an iso8601 string+iso8601 :: ReQL -> ReQL+iso8601 t = op ISO8601 [t] ()++-- | The same time in a different timezone+inTimezone :: Expr time => ReQL -> time -> ReQL+inTimezone tz t = op IN_TIMEZONE (t, tz) ()++data Bound a =+ Open { boundValue :: a } |+ Closed { boundValue :: a }++boundString :: Bound a -> Text+boundString Open{} = "open"+boundString Closed{} = "closed"++-- | Test if a time is between two other times+during :: (Expr left, Expr right, Expr time) => Bound left -> Bound right -> time -> ReQL+during l r t = op DURING (t, boundValue l, boundValue r) [+ "left_bound" := boundString l, "right_bound" := boundString r]++-- | Extract part of a time value+timezone, date, timeOfDay, year, month, day, dayOfWeek, dayOfYear, hours, minutes, seconds ::+ Expr time => time -> ReQL+timezone t = op TIMEZONE [t] ()+date t = op DATE [t] ()+timeOfDay t = op TIME_OF_DAY [t] ()+year t = op YEAR [t] ()+month t = op MONTH [t] ()+day t = op DAY [t] ()+dayOfWeek t = op DAY_OF_WEEK [t] ()+dayOfYear t = op DAY_OF_YEAR [t] ()+hours t = op HOURS [t] ()+minutes t = op MINUTES [t] ()+seconds t = op SECONDS [t] ()++-- | Convert a time to another representation+toIso8601, toEpochTime :: Expr t => t -> ReQL+toIso8601 t = op TO_ISO8601 [t] ()+toEpochTime t = op TO_EPOCH_TIME [t] ()++-- | Time with no time zone+-- The default FromJSON instance for Data.Time.UTCTime is incompatible with ReQL's time type+newtype UTCTime = UTCTime Time.UTCTime++-- | Time with a time zone+-- The default FromJSON instance for Data.Time.ZonedTime is incompatible with ReQL's time type+newtype ZonedTime = ZonedTime Time.ZonedTime++instance FromJSON UTCTime where+ parseJSON (JSON.Object v) = UTCTime . Time.posixSecondsToUTCTime . fromRational <$> v .: "epoch_time"+ parseJSON _ = mzero++instance FromJSON ZonedTime where+ parseJSON (JSON.Object v) = do+ tz <- v .: "timezone"+ t <- v.: "epoch_time"+ tz' <- parseTimeZone tz+ return . ZonedTime $ Time.utcToZonedTime tz'+ (Time.posixSecondsToUTCTime (fromRational t))+ parseJSON _ = mzero++parseTimeZone :: String -> Parser Time.TimeZone+parseTimeZone "Z" = return Time.utc+parseTimeZone tz = Time.minutesToTimeZone <$> case tz of + ('-':tz') -> negate <$> go tz'+ _ -> go tz+ where+ go tz' = do+ (h, _:m) <- return $ break (==':') tz'+ ([(hh, "")], [(mm, "")]) <- return $ (reads h, reads m)+ return $ hh * 60 + mm++instance Expr UTCTime where+ expr (UTCTime t) = expr t++instance Expr ZonedTime where+ expr (ZonedTime t) = expr t
− Database/RethinkDB/Types.hs
@@ -1,20 +0,0 @@--- | Some seperate types to solve problems with recursive modules-module Database.RethinkDB.Types where---- | The type of a RQL expression--- --- The type hierarchy has 3 branches:--- --- - A read-only sequence: @StreamType False@--- --- - A selection (also called a view): @StreamType True@--- --- - A value (a JSON object, array or primitive type): @ExprType@--data ExprTypeKind =- StreamType Bool ValueTypeKind -- ^ When the flag is true, it can be updated or deleted- | ValueType ValueTypeKind---- | The types of values-data ValueTypeKind = NumberType | BoolType | ObjectType | ArrayType |- StringType | NoneType | OtherValueType
rethinkdb.cabal view
@@ -1,10 +1,9 @@ name: rethinkdb-version: 0.1.0.0-synopsis: RethinkDB client library for haskell-description: This library is modelled upon the official RethinkDB API for- Python and Javascript.-homepage: http://code.atnnn.com/projects/haskell-rethinkdb-license: OtherLicense+version: 1.8.0.0+description: RethinkDB is a distributed document store with a powerful query language.+synopsis: RethinkDB driver for Haskell+homepage: http://github.com/atnnn/haskell-rethinkdb+license: Apache license-file: LICENSE author: Etienne Laurin maintainer: Etienne Laurin <etienne@atnnn.com>@@ -12,58 +11,34 @@ build-type: Simple cabal-version: >=1.8 -source-repository head- type: darcs- location: http://code.atnnn.com/darcs/rethinkdb- library- exposed-modules: Database.RethinkDB,- Database.RethinkDB.Driver,- Database.RethinkDB.Functions,- Database.RethinkDB.Types- other-modules: Database.RethinkDB.Internal.Query_Language.Builtin,- Database.RethinkDB.Internal.Query_Language.Builtin.BuiltinType,- Database.RethinkDB.Internal.Query_Language.Builtin.Comparison,- Database.RethinkDB.Internal.Query_Language.Builtin.ConcatMap,- Database.RethinkDB.Internal.Query_Language.Builtin.Filter,- Database.RethinkDB.Internal.Query_Language.Builtin.GroupedMapReduce,- Database.RethinkDB.Internal.Query_Language.Builtin.Map,- Database.RethinkDB.Internal.Query_Language.Builtin.OrderBy,- Database.RethinkDB.Internal.Query_Language.Builtin.Range,- Database.RethinkDB.Internal.Query_Language.Mapping,- Database.RethinkDB.Internal.Query_Language.MetaQuery,- Database.RethinkDB.Internal.Query_Language.MetaQuery.CreateTable,- Database.RethinkDB.Internal.Query_Language.MetaQuery.MetaQueryType,- Database.RethinkDB.Internal.Query_Language.Predicate,- Database.RethinkDB.Internal.Query_Language.Query,- Database.RethinkDB.Internal.Query_Language.Query.QueryType,- Database.RethinkDB.Internal.Query_Language.ReadQuery,- Database.RethinkDB.Internal.Query_Language.Reduction,- Database.RethinkDB.Internal.Query_Language.Response,- Database.RethinkDB.Internal.Query_Language.Response.Backtrace,- Database.RethinkDB.Internal.Query_Language.Response.StatusCode,- Database.RethinkDB.Internal.Query_Language.TableRef,- Database.RethinkDB.Internal.Query_Language.Term,- Database.RethinkDB.Internal.Query_Language.Term.Call,- Database.RethinkDB.Internal.Query_Language.Term.GetByKey,- Database.RethinkDB.Internal.Query_Language.Term.If,- Database.RethinkDB.Internal.Query_Language.Term.Let,- Database.RethinkDB.Internal.Query_Language.Term.Table,- Database.RethinkDB.Internal.Query_Language.Term.TermType,- Database.RethinkDB.Internal.Query_Language.VarTermTuple,- Database.RethinkDB.Internal.Query_Language.WriteQuery,- Database.RethinkDB.Internal.Query_Language.WriteQuery.Delete,- Database.RethinkDB.Internal.Query_Language.WriteQuery.ForEach,- Database.RethinkDB.Internal.Query_Language.WriteQuery.Insert,- Database.RethinkDB.Internal.Query_Language.WriteQuery.Mutate,- Database.RethinkDB.Internal.Query_Language.WriteQuery.PointDelete,- Database.RethinkDB.Internal.Query_Language.WriteQuery.PointMutate,- Database.RethinkDB.Internal.Query_Language.WriteQuery.PointUpdate,- Database.RethinkDB.Internal.Query_Language.WriteQuery.Update,- Database.RethinkDB.Internal.Query_Language.WriteQuery.WriteQueryType,- Database.RethinkDB.Internal.Types- build-depends: base >= 4.6 && < 5,- protocol-buffers >= 2,+ exposed-modules: Database.RethinkDB+ Database.RethinkDB.Driver+ Database.RethinkDB.Functions+ Database.RethinkDB.Time+ Database.RethinkDB.Objects+ Database.RethinkDB.ReQL+ Database.RethinkDB.Network+ Database.RethinkDB.MapReduce+ Database.RethinkDB.Protobuf.Ql2+ Database.RethinkDB.Protobuf.Ql2.Backtrace+ Database.RethinkDB.Protobuf.Ql2.Datum+ Database.RethinkDB.Protobuf.Ql2.Datum.AssocPair+ Database.RethinkDB.Protobuf.Ql2.Datum.DatumType+ Database.RethinkDB.Protobuf.Ql2.Frame+ Database.RethinkDB.Protobuf.Ql2.Frame.FrameType+ Database.RethinkDB.Protobuf.Ql2.Query+ Database.RethinkDB.Protobuf.Ql2.Query.AssocPair+ Database.RethinkDB.Protobuf.Ql2.Query.QueryType+ Database.RethinkDB.Protobuf.Ql2.Response+ Database.RethinkDB.Protobuf.Ql2.Response.ResponseType+ Database.RethinkDB.Protobuf.Ql2.Term+ Database.RethinkDB.Protobuf.Ql2.Term.AssocPair+ Database.RethinkDB.Protobuf.Ql2.Term.TermType+ Database.RethinkDB.Protobuf.Ql2.VersionDummy+ Database.RethinkDB.Protobuf.Ql2.VersionDummy.Version+ build-depends: base >= 4 && < 5,+ protocol-buffers, unordered-containers, text, aeson,@@ -72,5 +47,9 @@ attoparsec, data-default, network,- ghc-prim >= 0.3,- mtl+ ghc-prim,+ mtl,+ vector,+ protocol-buffers-descriptor,+ time,+ utf8-string