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

Hasura.Server.API.Query

Description

The RQL query ('v1query')

Synopsis

Documentation

data RQLQueryV1 Source #

Constructors

RQAddExistingTableOrView !(TrackTable ('Postgres 'Vanilla)) 
RQTrackTable !(TrackTable ('Postgres 'Vanilla)) 
RQUntrackTable !(UntrackTable ('Postgres 'Vanilla)) 
RQSetTableIsEnum !SetTableIsEnum 
RQSetTableCustomization !(SetTableCustomization ('Postgres 'Vanilla)) 
RQTrackFunction !(TrackFunction ('Postgres 'Vanilla)) 
RQUntrackFunction !(UnTrackFunction ('Postgres 'Vanilla)) 
RQCreateObjectRelationship !(CreateObjRel ('Postgres 'Vanilla)) 
RQCreateArrayRelationship !(CreateArrRel ('Postgres 'Vanilla)) 
RQDropRelationship !(DropRel ('Postgres 'Vanilla)) 
RQSetRelationshipComment !(SetRelComment ('Postgres 'Vanilla)) 
RQRenameRelationship !(RenameRel ('Postgres 'Vanilla)) 
RQAddComputedField !(AddComputedField ('Postgres 'Vanilla)) 
RQDropComputedField !(DropComputedField ('Postgres 'Vanilla)) 
RQCreateRemoteRelationship !(CreateFromSourceRelationship ('Postgres 'Vanilla)) 
RQUpdateRemoteRelationship !(CreateFromSourceRelationship ('Postgres 'Vanilla)) 
RQDeleteRemoteRelationship !(DeleteFromSourceRelationship ('Postgres 'Vanilla)) 
RQCreateInsertPermission !(CreatePerm InsPerm ('Postgres 'Vanilla)) 
RQCreateSelectPermission !(CreatePerm SelPerm ('Postgres 'Vanilla)) 
RQCreateUpdatePermission !(CreatePerm UpdPerm ('Postgres 'Vanilla)) 
RQCreateDeletePermission !(CreatePerm DelPerm ('Postgres 'Vanilla)) 
RQDropInsertPermission !(DropPerm ('Postgres 'Vanilla)) 
RQDropSelectPermission !(DropPerm ('Postgres 'Vanilla)) 
RQDropUpdatePermission !(DropPerm ('Postgres 'Vanilla)) 
RQDropDeletePermission !(DropPerm ('Postgres 'Vanilla)) 
RQSetPermissionComment !(SetPermComment ('Postgres 'Vanilla)) 
RQGetInconsistentMetadata !GetInconsistentMetadata 
RQDropInconsistentMetadata !DropInconsistentMetadata 
RQInsert !InsertQuery 
RQSelect !SelectQuery 
RQUpdate !UpdateQuery 
RQDelete !DeleteQuery 
RQCount !CountQuery 
RQBulk ![RQLQuery] 
RQAddRemoteSchema !AddRemoteSchemaQuery 
RQUpdateRemoteSchema !AddRemoteSchemaQuery 
RQRemoveRemoteSchema !RemoteSchemaNameQuery 
RQReloadRemoteSchema !RemoteSchemaNameQuery 
RQIntrospectRemoteSchema !RemoteSchemaNameQuery 
RQCreateEventTrigger !(CreateEventTriggerQuery ('Postgres 'Vanilla)) 
RQDeleteEventTrigger !(DeleteEventTriggerQuery ('Postgres 'Vanilla)) 
RQRedeliverEvent !(RedeliverEventQuery ('Postgres 'Vanilla)) 
RQInvokeEventTrigger !(InvokeEventTriggerQuery ('Postgres 'Vanilla)) 
RQCreateCronTrigger !CreateCronTrigger 
RQDeleteCronTrigger !ScheduledTriggerName 
RQCreateScheduledEvent !CreateScheduledEvent 
RQCreateQueryCollection !CreateCollection 
RQRenameQueryCollection !RenameCollection 
RQDropQueryCollection !DropCollection 
RQAddQueryToCollection !AddQueryToCollection 
RQDropQueryFromCollection !DropQueryFromCollection 
RQAddCollectionToAllowlist !AllowlistEntry 
RQDropCollectionFromAllowlist !DropCollectionFromAllowlist 
RQRunSql !RunSQL 
RQReplaceMetadata !ReplaceMetadata 
RQExportMetadata !ExportMetadata 
RQClearMetadata !ClearMetadata 
RQReloadMetadata !ReloadMetadata 
RQCreateAction !CreateAction 
RQDropAction !DropAction 
RQUpdateAction !UpdateAction 
RQCreateActionPermission !CreateActionPermission 
RQDropActionPermission !DropActionPermission 
RQCreateRestEndpoint !CreateEndpoint 
RQDropRestEndpoint !DropEndpoint 
RQDumpInternalState !DumpInternalState 
RQSetCustomTypes !CustomTypes 

data RQLQuery Source #

Constructors

RQV1 !RQLQueryV1 
RQV2 !RQLQueryV2 

Instances

Instances details
FromJSON RQLQuery Source # 
Instance details

Defined in Hasura.Server.API.Query

Methods

parseJSON :: Value -> Parser RQLQuery

parseJSONList :: Value -> Parser [RQLQuery]

queryModifiesSchemaCache :: RQLQuery -> Bool Source #

A predicate that determines whether the given query might modify/rebuild the schema cache. If so, it needs to acquire the global lock on the schema cache so that other queries do not modify it concurrently.

Ideally, we would enforce this using the type system — queries for which this function returns False should not be allowed to modify the schema cache. But for now we just ensure consistency by hand.

queryModifiesUserDB :: RQLQuery -> Bool Source #

A predicate that determines whether the given query might modify user's Database. If so, when the server is run in safe mode, we should not proceed with those operations.