squeal-postgresql-0.8.1.0: Squeal PostgreSQL Library
Copyright(c) Eitan Chatav 2019
Maintainereitan@morphism.tech
Stabilityexperimental
Safe HaskellNone
LanguageHaskell2010

Squeal.PostgreSQL.Expression.Parameter

Contents

Description

out-of-line parameters

Synopsis

Parameter

class KnownNat ix => HasParameter (ix :: Nat) (params :: [NullType]) (ty :: NullType) | ix params -> ty where Source #

A HasParameter constraint is used to indicate a value that is supplied externally to a SQL statement. manipulateParams, queryParams and traversePrepared support specifying data values separately from the SQL command string, in which case params are used to refer to the out-of-line data values.

Minimal complete definition

Nothing

Methods

parameter :: TypeExpression db ty -> Expression grp lat with db params from ty Source #

parameter takes a Nat using type application and a TypeExpression.

>>> printSQL (parameter @1 int4)
($1 :: int4)

Instances

Instances details
(KnownNat ix, HasParameter' ix params ix params x) => HasParameter ix params x Source # 
Instance details

Defined in Squeal.PostgreSQL.Expression.Parameter

Methods

parameter :: forall (db :: SchemasType) (grp :: Grouping) (lat :: FromType) (with :: FromType) (from :: FromType). TypeExpression db x -> Expression grp lat with db params from x Source #

(TypeError ('Text "Tried to get the param at index 0, but params are 1-indexed") :: Constraint, x ~ (Any :: NullType)) => HasParameter 0 params x Source # 
Instance details

Defined in Squeal.PostgreSQL.Expression.Parameter

Methods

parameter :: forall (db :: SchemasType) (grp :: Grouping) (lat :: FromType) (with :: FromType) (from :: FromType). TypeExpression db x -> Expression grp lat with db params from x Source #

param Source #

Arguments

:: forall n ty lat with db params from grp. (NullTyped db ty, HasParameter n params ty) 
=> Expression grp lat with db params from ty

param

param takes a Nat using type application and for basic types, infers a TypeExpression.

>>> printSQL (param @1 @('Null 'PGint4))
($1 :: int4)