graphql-engine-1.0.0: GraphQL API over Postgres
Safe HaskellNone
LanguageHaskell2010

Hasura.RQL.Types.SchemaCacheTypes

Synopsis

Documentation

data TableObjId (b :: BackendType) Source #

Instances

Instances details
Backend b => Eq (TableObjId b) Source # 
Instance details

Defined in Hasura.RQL.Types.SchemaCacheTypes

Methods

(==) :: TableObjId b -> TableObjId b -> Bool #

(/=) :: TableObjId b -> TableObjId b -> Bool #

Generic (TableObjId b) Source # 
Instance details

Defined in Hasura.RQL.Types.SchemaCacheTypes

Associated Types

type Rep (TableObjId b) :: Type -> Type #

Methods

from :: TableObjId b -> Rep (TableObjId b) x #

to :: Rep (TableObjId b) x -> TableObjId b #

Backend b => Hashable (TableObjId b) Source # 
Instance details

Defined in Hasura.RQL.Types.SchemaCacheTypes

Methods

hashWithSalt :: Int -> TableObjId b -> Int

hash :: TableObjId b -> Int

type Rep (TableObjId b) Source # 
Instance details

Defined in Hasura.RQL.Types.SchemaCacheTypes

data SourceObjId (b :: BackendType) Source #

Instances

Instances details
Backend b => Eq (SourceObjId b) Source # 
Instance details

Defined in Hasura.RQL.Types.SchemaCacheTypes

Generic (SourceObjId b) Source # 
Instance details

Defined in Hasura.RQL.Types.SchemaCacheTypes

Associated Types

type Rep (SourceObjId b) :: Type -> Type #

Methods

from :: SourceObjId b -> Rep (SourceObjId b) x #

to :: Rep (SourceObjId b) x -> SourceObjId b #

Backend b => Hashable (SourceObjId b) Source # 
Instance details

Defined in Hasura.RQL.Types.SchemaCacheTypes

type Rep (SourceObjId b) Source # 
Instance details

Defined in Hasura.RQL.Types.SchemaCacheTypes

data SchemaObjId Source #

Constructors

SOSource SourceName 
SOSourceObj SourceName (AnyBackend SourceObjId) 
SORemoteSchema RemoteSchemaName 
SORemoteSchemaPermission RemoteSchemaName RoleName 
SORemoteSchemaRemoteRelationship RemoteSchemaName Name RelName

A remote relationship on a remote schema type, identified by 1. remote schema name 2. remote schema type on which the relationship is defined 3. name of the relationship

SORole RoleName 

Instances

Instances details
Eq SchemaObjId Source # 
Instance details

Defined in Hasura.RQL.Types.SchemaCacheTypes

Show SchemaObjId Source # 
Instance details

Defined in Hasura.RQL.Types.SchemaCacheTypes

Generic SchemaObjId Source # 
Instance details

Defined in Hasura.RQL.Types.SchemaCacheTypes

Associated Types

type Rep SchemaObjId :: Type -> Type #

Hashable SchemaObjId Source # 
Instance details

Defined in Hasura.RQL.Types.SchemaCacheTypes

ToJSONKey SchemaObjId Source # 
Instance details

Defined in Hasura.RQL.Types.SchemaCacheTypes

Methods

toJSONKey :: ToJSONKeyFunction SchemaObjId

toJSONKeyList :: ToJSONKeyFunction [SchemaObjId]

ToJSON SchemaObjId Source # 
Instance details

Defined in Hasura.RQL.Types.SchemaCacheTypes

Methods

toJSON :: SchemaObjId -> Value

toEncoding :: SchemaObjId -> Encoding

toJSONList :: [SchemaObjId] -> Value

toEncodingList :: [SchemaObjId] -> Encoding

type Rep SchemaObjId Source # 
Instance details

Defined in Hasura.RQL.Types.SchemaCacheTypes

type Rep SchemaObjId = D1 ('MetaData "SchemaObjId" "Hasura.RQL.Types.SchemaCacheTypes" "graphql-engine-1.0.0-inplace" 'False) ((C1 ('MetaCons "SOSource" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 SourceName)) :+: (C1 ('MetaCons "SOSourceObj" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 SourceName) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (AnyBackend SourceObjId))) :+: C1 ('MetaCons "SORemoteSchema" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 RemoteSchemaName)))) :+: (C1 ('MetaCons "SORemoteSchemaPermission" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 RemoteSchemaName) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 RoleName)) :+: (C1 ('MetaCons "SORemoteSchemaRemoteRelationship" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 RemoteSchemaName) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Name) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 RelName))) :+: C1 ('MetaCons "SORole" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 RoleName)))))

data DependencyReason Source #

Instances

Instances details
Eq DependencyReason Source # 
Instance details

Defined in Hasura.RQL.Types.SchemaCacheTypes

Show DependencyReason Source # 
Instance details

Defined in Hasura.RQL.Types.SchemaCacheTypes

Generic DependencyReason Source # 
Instance details

Defined in Hasura.RQL.Types.SchemaCacheTypes

Associated Types

type Rep DependencyReason :: Type -> Type #

Hashable DependencyReason Source # 
Instance details

Defined in Hasura.RQL.Types.SchemaCacheTypes

ToJSON DependencyReason Source # 
Instance details

Defined in Hasura.RQL.Types.SchemaCacheTypes

type Rep DependencyReason Source # 
Instance details

Defined in Hasura.RQL.Types.SchemaCacheTypes

type Rep DependencyReason = D1 ('MetaData "DependencyReason" "Hasura.RQL.Types.SchemaCacheTypes" "graphql-engine-1.0.0-inplace" 'False) ((((C1 ('MetaCons "DRTable" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "DRColumn" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "DRRemoteTable" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "DRLeftColumn" 'PrefixI 'False) (U1 :: Type -> Type))) :+: ((C1 ('MetaCons "DRRightColumn" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "DRUsingColumn" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "DRFkey" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "DRRemoteFkey" 'PrefixI 'False) (U1 :: Type -> Type)))) :+: (((C1 ('MetaCons "DRUntyped" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "DROnType" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "DRSessionVariable" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "DRPayload" 'PrefixI 'False) (U1 :: Type -> Type))) :+: ((C1 ('MetaCons "DRParent" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "DRRemoteSchema" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "DRRemoteRelationship" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "DRParentRole" 'PrefixI 'False) (U1 :: Type -> Type)))))

data SchemaDependency Source #

Instances

Instances details
Eq SchemaDependency Source # 
Instance details

Defined in Hasura.RQL.Types.SchemaCacheTypes

Show SchemaDependency Source # 
Instance details

Defined in Hasura.RQL.Types.SchemaCacheTypes

Generic SchemaDependency Source # 
Instance details

Defined in Hasura.RQL.Types.SchemaCacheTypes

Associated Types

type Rep SchemaDependency :: Type -> Type #

Hashable SchemaDependency Source # 
Instance details

Defined in Hasura.RQL.Types.SchemaCacheTypes

ToJSON SchemaDependency Source # 
Instance details

Defined in Hasura.RQL.Types.SchemaCacheTypes

type Rep SchemaDependency Source # 
Instance details

Defined in Hasura.RQL.Types.SchemaCacheTypes

type Rep SchemaDependency = D1 ('MetaData "SchemaDependency" "Hasura.RQL.Types.SchemaCacheTypes" "graphql-engine-1.0.0-inplace" 'False) (C1 ('MetaCons "SchemaDependency" 'PrefixI 'True) (S1 ('MetaSel ('Just "sdObjId") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 SchemaObjId) :*: S1 ('MetaSel ('Just "sdReason") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 DependencyReason)))

class Backend b => GetAggregationPredicatesDeps b where Source #

Type class to collect schema dependencies from backend-specific aggregation predicates.

Minimal complete definition

Nothing

Instances

Instances details
Backend 'MSSQL => GetAggregationPredicatesDeps 'MSSQL Source # 
Instance details

Defined in Hasura.Backends.MSSQL.Instances.SchemaCache

Backend 'BigQuery => GetAggregationPredicatesDeps 'BigQuery Source # 
Instance details

Defined in Hasura.Backends.BigQuery.Instances.SchemaCache

Backend 'MySQL => GetAggregationPredicatesDeps 'MySQL Source # 
Instance details

Defined in Hasura.Backends.MySQL.Instances.SchemaCache

Backend 'DataConnector => GetAggregationPredicatesDeps 'DataConnector Source # 
Instance details

Defined in Hasura.Backends.DataConnector.Adapter.SchemaCache

Backend ('Postgres pgKind) => GetAggregationPredicatesDeps ('Postgres pgKind) Source # 
Instance details

Defined in Hasura.Backends.Postgres.Instances.SchemaCache

newtype BoolExpM b a Source #

The monad for doing schema dependency discovery for boolean expressions. maintains the table context of the expressions being translated.

Constructors

BoolExpM 

Fields

Instances

Instances details
Monad (BoolExpM b) Source # 
Instance details

Defined in Hasura.RQL.Types.SchemaCacheTypes

Methods

(>>=) :: BoolExpM b a -> (a -> BoolExpM b b0) -> BoolExpM b b0 #

(>>) :: BoolExpM b a -> BoolExpM b b0 -> BoolExpM b b0 #

return :: a -> BoolExpM b a #

Functor (BoolExpM b) Source # 
Instance details

Defined in Hasura.RQL.Types.SchemaCacheTypes

Methods

fmap :: (a -> b0) -> BoolExpM b a -> BoolExpM b b0 #

(<$) :: a -> BoolExpM b b0 -> BoolExpM b a #

Applicative (BoolExpM b) Source # 
Instance details

Defined in Hasura.RQL.Types.SchemaCacheTypes

Methods

pure :: a -> BoolExpM b a #

(<*>) :: BoolExpM b (a -> b0) -> BoolExpM b a -> BoolExpM b b0 #

liftA2 :: (a -> b0 -> c) -> BoolExpM b a -> BoolExpM b b0 -> BoolExpM b c #

(*>) :: BoolExpM b a -> BoolExpM b b0 -> BoolExpM b b0 #

(<*) :: BoolExpM b a -> BoolExpM b b0 -> BoolExpM b a #

MonadReader (BoolExpCtx b) (BoolExpM b) Source # 
Instance details

Defined in Hasura.RQL.Types.SchemaCacheTypes

Methods

ask :: BoolExpM b (BoolExpCtx b) #

local :: (BoolExpCtx b -> BoolExpCtx b) -> BoolExpM b a -> BoolExpM b a #

reader :: (BoolExpCtx b -> a) -> BoolExpM b a #

data BoolExpCtx b Source #

The table type context of schema dependency discovery. Boolean expressions may refer to a so-called 'root table' (identified by a $-sign in the expression input syntax) or the current table.

Constructors

BoolExpCtx 

Fields

Instances

Instances details
MonadReader (BoolExpCtx b) (BoolExpM b) Source # 
Instance details

Defined in Hasura.RQL.Types.SchemaCacheTypes

Methods

ask :: BoolExpM b (BoolExpCtx b) #

local :: (BoolExpCtx b -> BoolExpCtx b) -> BoolExpM b a -> BoolExpM b a #

reader :: (BoolExpCtx b -> a) -> BoolExpM b a #