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

Hasura.Backends.Postgres.Schema.Select

Synopsis

Documentation

selectFunction Source #

Arguments

:: forall r m n pgKind. (MonadBuildSchema ('Postgres pgKind) r m n, BackendTableSelectSchema ('Postgres pgKind)) 
=> MkRootFieldName 
-> SourceInfo ('Postgres pgKind) 
-> FunctionInfo ('Postgres pgKind)

SQL function info

-> Maybe Description

field description, if any

-> m (Maybe (FieldParser n (SelectExp ('Postgres pgKind)))) 

User-defined function (AKA custom function)

selectFunctionAggregate Source #

Arguments

:: forall r m n pgKind. (MonadBuildSchema ('Postgres pgKind) r m n, BackendTableSelectSchema ('Postgres pgKind)) 
=> MkRootFieldName 
-> SourceInfo ('Postgres pgKind)

source name

-> FunctionInfo ('Postgres pgKind)

SQL function info

-> Maybe Description

field description, if any

-> m (Maybe (FieldParser n (AggSelectExp ('Postgres pgKind)))) 

selectFunctionConnection Source #

Arguments

:: forall pgKind r m n. (MonadBuildSchema ('Postgres pgKind) r m n, AggregationPredicatesSchema ('Postgres pgKind), BackendTableSelectSchema ('Postgres pgKind)) 
=> MkRootFieldName 
-> SourceInfo ('Postgres pgKind)

source name

-> FunctionInfo ('Postgres pgKind)

SQL function info

-> Maybe Description

field description, if any

-> PrimaryKeyColumns ('Postgres pgKind)

primary key columns of the target table

-> m (Maybe (FieldParser n (ConnectionSelectExp ('Postgres pgKind)))) 

computedFieldPG :: forall pgKind r m n. (MonadBuildSchema ('Postgres pgKind) r m n, BackendTableSelectSchema ('Postgres pgKind)) => SourceInfo ('Postgres pgKind) -> ComputedFieldInfo ('Postgres pgKind) -> TableName ('Postgres pgKind) -> TableInfo ('Postgres pgKind) -> m (Maybe (FieldParser n (AnnotatedField ('Postgres pgKind)))) Source #

Computed field parser

customSQLFunctionArgs :: MonadBuildSchema ('Postgres pgKind) r m n => SourceInfo ('Postgres pgKind) -> FunctionInfo ('Postgres pgKind) -> Name -> Name -> m (InputFieldsParser n (FunctionArgsExp ('Postgres pgKind) (UnpreparedValue ('Postgres pgKind)))) Source #

The custom SQL functions' input "args" field parser > function_name(args: function_args)

functionArgs :: forall r m n pgKind. MonadBuildSchema ('Postgres pgKind) r m n => SourceInfo ('Postgres pgKind) -> FunctionTrackedAs ('Postgres pgKind) -> Seq (FunctionInputArgument ('Postgres pgKind)) -> m (InputFieldsParser n (FunctionArgsExp ('Postgres pgKind) (UnpreparedValue ('Postgres pgKind)))) Source #

Parses the arguments to the underlying sql function of a computed field or a custom function. All arguments to the underlying sql function are parsed as an "args" object. Named arguments are expected in a field with the same name, while positional arguments are expected in an field named "arg_$n". Note that collisions are possible, but ignored for now, if a named argument is also named "arg_$n". (FIXME: link to an issue?)

If the function requires no argument, or if its only argument is not user-provided (the session argument in the case of custom functions, the table row argument in the case of computed fields), the args object will be omitted.