Safe Haskell | None |
---|---|
Language | Haskell2010 |
Top-level functions concerned specifically with operations on the schema cache, such as rebuilding it from the catalog and incorporating schema changes. See the module documentation for Hasura.RQL.DDL.Schema for more details.
Note: this module is mutually recursive with other Hasura.RQL.DDL.Schema.*
modules, which
both define pieces of the implementation of building the schema cache and define handlers that
trigger schema cache rebuilds.
Documentation
buildRebuildableSchemaCache :: Logger Hasura -> Environment -> Metadata -> CacheBuild RebuildableSchemaCache Source #
buildRebuildableSchemaCacheWithReason :: BuildReason -> Logger Hasura -> Environment -> Metadata -> CacheBuild RebuildableSchemaCache Source #
Instances
runCacheRWT :: Functor m => RebuildableSchemaCache -> CacheRWT m a -> m (a, RebuildableSchemaCache, CacheInvalidations) Source #
buildSchemaCacheRule :: (ArrowChoice arr, ArrowDistribute arr, ArrowCache m arr, MonadIO m, MonadBaseControl IO m, MonadError QErr m, MonadReader BuildReason m, HasHttpManagerM m, MonadResolveSource m, HasServerConfigCtx m) => Logger Hasura -> Environment -> (Metadata, InvalidationKeys) `arr` SchemaCache Source #
buildRemoteSchemaRemoteRelationship :: forall arr m. (ArrowChoice arr, ArrowWriter (Seq CollectedInfo) arr, ArrowKleisli m arr, MonadError QErr m) => ((HashMap SourceName (AnyBackend PartiallyResolvedSource), RemoteSchemaMap), (RemoteSchemaName, RemoteSchemaIntrospection, Name, RemoteRelationship)) `arr` Maybe (RemoteFieldInfo Name) Source #
mkRemoteSchemaRemoteRelationshipMetadataObject :: (RemoteSchemaName, Name, RemoteRelationship) -> MetadataObject Source #
joinBackendConfigsToSources :: BackendMap BackendConfigWrapper -> InsOrdHashMap SourceName BackendSourceMetadata -> InsOrdHashMap SourceName (AnyBackend BackendConfigAndSourceMetadata) Source #