Safe Haskell | Safe-Inferred |
---|---|
Language | Haskell2010 |
Hasura.GraphQL.Transport.Backend
Synopsis
- class BackendExecute b => BackendTransport (b :: BackendType) where
- runDBQuery :: forall m. (MonadIO m, MonadBaseControl IO m, MonadError QErr m, MonadQueryLog m, MonadExecutionLog m, MonadTrace m) => RequestId -> GQLReqUnparsed -> RootFieldAlias -> UserInfo -> Logger Hasura -> Maybe (CredentialCache AgentLicenseKey) -> SourceConfig b -> OnBaseMonad (ExecutionMonad b) (Maybe (AnyBackend ExecutionStats), EncJSON) -> Maybe (PreparedQuery b) -> ResolvedConnectionTemplate b -> m (DiffTime, EncJSON)
- runDBMutation :: forall m. (MonadIO m, MonadBaseControl IO m, MonadError QErr m, MonadQueryLog m, MonadTrace m) => RequestId -> GQLReqUnparsed -> RootFieldAlias -> UserInfo -> Logger Hasura -> Maybe (CredentialCache AgentLicenseKey) -> SourceConfig b -> OnBaseMonad (ExecutionMonad b) EncJSON -> Maybe (PreparedQuery b) -> ResolvedConnectionTemplate b -> m (DiffTime, EncJSON)
- runDBSubscription :: forall m. (MonadIO m, MonadBaseControl IO m) => SourceConfig b -> MultiplexedQuery b -> [(CohortId, CohortVariables)] -> ResolvedConnectionTemplate b -> m (DiffTime, Either QErr [(CohortId, ByteString)])
- runDBStreamingSubscription :: forall m. (MonadIO m, MonadBaseControl IO m) => SourceConfig b -> MultiplexedQuery b -> [(CohortId, CohortVariables)] -> ResolvedConnectionTemplate b -> m (DiffTime, Either QErr [(CohortId, ByteString, CursorVariableValues)])
- runDBQueryExplain :: forall m. (MonadIO m, MonadError QErr m, MonadBaseControl IO m, MonadTrace m) => Maybe (CredentialCache AgentLicenseKey) -> DBStepInfo b -> m EncJSON
Documentation
class BackendExecute b => BackendTransport (b :: BackendType) where Source #
This typeclass enacapsulates how a given backend sends queries and mutations over the network. Each backend is currently responsible for both logging and tracing, for now.
Methods
runDBQuery :: forall m. (MonadIO m, MonadBaseControl IO m, MonadError QErr m, MonadQueryLog m, MonadExecutionLog m, MonadTrace m) => RequestId -> GQLReqUnparsed -> RootFieldAlias -> UserInfo -> Logger Hasura -> Maybe (CredentialCache AgentLicenseKey) -> SourceConfig b -> OnBaseMonad (ExecutionMonad b) (Maybe (AnyBackend ExecutionStats), EncJSON) -> Maybe (PreparedQuery b) -> ResolvedConnectionTemplate b -> m (DiffTime, EncJSON) Source #
runDBMutation :: forall m. (MonadIO m, MonadBaseControl IO m, MonadError QErr m, MonadQueryLog m, MonadTrace m) => RequestId -> GQLReqUnparsed -> RootFieldAlias -> UserInfo -> Logger Hasura -> Maybe (CredentialCache AgentLicenseKey) -> SourceConfig b -> OnBaseMonad (ExecutionMonad b) EncJSON -> Maybe (PreparedQuery b) -> ResolvedConnectionTemplate b -> m (DiffTime, EncJSON) Source #
Arguments
:: forall m. (MonadIO m, MonadBaseControl IO m) | |
=> SourceConfig b | |
-> MultiplexedQuery b | |
-> [(CohortId, CohortVariables)] | WARNING: Postgres-specific, ignored by other backends |
-> ResolvedConnectionTemplate b | |
-> m (DiffTime, Either QErr [(CohortId, ByteString)]) |
runDBStreamingSubscription Source #
Arguments
:: forall m. (MonadIO m, MonadBaseControl IO m) | |
=> SourceConfig b | |
-> MultiplexedQuery b | |
-> [(CohortId, CohortVariables)] | WARNING: Postgres-specific, ignored by other backends |
-> ResolvedConnectionTemplate b | |
-> m (DiffTime, Either QErr [(CohortId, ByteString, CursorVariableValues)]) |
runDBQueryExplain :: forall m. (MonadIO m, MonadError QErr m, MonadBaseControl IO m, MonadTrace m) => Maybe (CredentialCache AgentLicenseKey) -> DBStepInfo b -> m EncJSON Source #