graphql-engine-1.0.0: GraphQL API over Postgres
Safe HaskellSafe-Inferred
LanguageHaskell2010

Hasura.RQL.Types.SchemaCacheTypes

Synopsis

Documentation

data TableObjId (b :: BackendType) Source #

Instances

Instances details
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 => Eq (TableObjId b) Source # 
Instance details

Defined in Hasura.RQL.Types.SchemaCacheTypes

Methods

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

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

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

Defined in Hasura.RQL.Types.SchemaCacheTypes

type Rep (TableObjId b) Source # 
Instance details

Defined in Hasura.RQL.Types.SchemaCacheTypes

data LogicalModelObjId (b :: BackendType) Source #

Identifiers for components of logical models within the metadata. These are used to track dependencies within the resolved schema (see SourceInfo).

Instances

Instances details
Generic (LogicalModelObjId b) Source # 
Instance details

Defined in Hasura.RQL.Types.SchemaCacheTypes

Associated Types

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

Backend b => Eq (LogicalModelObjId b) Source # 
Instance details

Defined in Hasura.RQL.Types.SchemaCacheTypes

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

Defined in Hasura.RQL.Types.SchemaCacheTypes

type Rep (LogicalModelObjId b) Source # 
Instance details

Defined in Hasura.RQL.Types.SchemaCacheTypes

data NativeQueryObjId (b :: BackendType) Source #

Identifier for component of Native Queries within the metadata. These are used to track dependencies between items in the resolved schema. For instance, we use NQOCol along with TOCol from TableObjId to ensure that the two columns that join an array relationship actually exist.

Instances

Instances details
Generic (NativeQueryObjId b) Source # 
Instance details

Defined in Hasura.RQL.Types.SchemaCacheTypes

Associated Types

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

Backend b => Eq (NativeQueryObjId b) Source # 
Instance details

Defined in Hasura.RQL.Types.SchemaCacheTypes

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

Defined in Hasura.RQL.Types.SchemaCacheTypes

type Rep (NativeQueryObjId b) Source # 
Instance details

Defined in Hasura.RQL.Types.SchemaCacheTypes

type Rep (NativeQueryObjId b) = D1 ('MetaData "NativeQueryObjId" "Hasura.RQL.Types.SchemaCacheTypes" "graphql-engine-1.0.0-inplace" 'False) (C1 ('MetaCons "NQOCol" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Column b))) :+: C1 ('MetaCons "NQOReferencedLogicalModel" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 LogicalModelName)))

newtype StoredProcedureObjId (b :: BackendType) Source #

Identifier for component of Stored Procedures within the metadata. These are used to track dependencies between items in the resolved schema. For instance, we use SPOCol along with TOCol from TableObjId to ensure that the two columns that join an array relationship actually exist.

Constructors

SPOCol (Column b) 

Instances

Instances details
Generic (StoredProcedureObjId b) Source # 
Instance details

Defined in Hasura.RQL.Types.SchemaCacheTypes

Associated Types

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

Backend b => Eq (StoredProcedureObjId b) Source # 
Instance details

Defined in Hasura.RQL.Types.SchemaCacheTypes

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

Defined in Hasura.RQL.Types.SchemaCacheTypes

type Rep (StoredProcedureObjId b) Source # 
Instance details

Defined in Hasura.RQL.Types.SchemaCacheTypes

type Rep (StoredProcedureObjId b) = D1 ('MetaData "StoredProcedureObjId" "Hasura.RQL.Types.SchemaCacheTypes" "graphql-engine-1.0.0-inplace" 'True) (C1 ('MetaCons "SPOCol" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Column b))))

data SourceObjId (b :: BackendType) Source #

Instances

Instances details
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 => Eq (SourceObjId b) Source # 
Instance details

Defined in Hasura.RQL.Types.SchemaCacheTypes

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

type Rep (SourceObjId b) = D1 ('MetaData "SourceObjId" "Hasura.RQL.Types.SchemaCacheTypes" "graphql-engine-1.0.0-inplace" 'False) (((C1 ('MetaCons "SOITable" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (TableName b))) :+: C1 ('MetaCons "SOITableObj" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (TableName b)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (TableObjId b)))) :+: (C1 ('MetaCons "SOIFunction" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (FunctionName b))) :+: C1 ('MetaCons "SOINativeQuery" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 NativeQueryName)))) :+: ((C1 ('MetaCons "SOINativeQueryObj" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 NativeQueryName) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (NativeQueryObjId b))) :+: C1 ('MetaCons "SOIStoredProcedure" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (FunctionName b)))) :+: (C1 ('MetaCons "SOIStoredProcedureObj" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (FunctionName b)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (StoredProcedureObjId b))) :+: (C1 ('MetaCons "SOILogicalModel" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 LogicalModelName)) :+: C1 ('MetaCons "SOILogicalModelObj" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 LogicalModelName) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (LogicalModelObjId b)))))))

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
ToJSON SchemaObjId Source # 
Instance details

Defined in Hasura.RQL.Types.SchemaCacheTypes

ToJSONKey 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 #

Show SchemaObjId Source # 
Instance details

Defined in Hasura.RQL.Types.SchemaCacheTypes

Eq SchemaObjId Source # 
Instance details

Defined in Hasura.RQL.Types.SchemaCacheTypes

Hashable SchemaObjId Source # 
Instance details

Defined in Hasura.RQL.Types.SchemaCacheTypes

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
ToJSON 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 #

Show DependencyReason Source # 
Instance details

Defined in Hasura.RQL.Types.SchemaCacheTypes

Eq DependencyReason Source # 
Instance details

Defined in Hasura.RQL.Types.SchemaCacheTypes

Hashable 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) :+: (C1 ('MetaCons "DRLogicalModel" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "DRReferencedLogicalModel" 'PrefixI 'False) (U1 :: Type -> Type))))))

data SchemaDependency Source #

Instances

Instances details
ToJSON 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 #

Show SchemaDependency Source # 
Instance details

Defined in Hasura.RQL.Types.SchemaCacheTypes

Eq SchemaDependency Source # 
Instance details

Defined in Hasura.RQL.Types.SchemaCacheTypes

Hashable 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

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
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 #

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 #

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 #

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 #