Module

SqlSquared.Signature

Package
purescript-sql-squared
Repository
slamdata/purescript-sql-squared

#BinopR Source

type BinopR a = { lhs :: a, op :: BinaryOperator, rhs :: a }

#UnopR Source

type UnopR a = { expr :: a, op :: UnaryOperator }

#InvokeFunctionR Source

type InvokeFunctionR a = { args :: List a, name :: String }

#MatchR Source

type MatchR a = { cases :: List (Case a), else_ :: Maybe a, expr :: a }

#SwitchR Source

type SwitchR a = { cases :: List (Case a), else_ :: Maybe a }

#LetR Source

type LetR a = { bindTo :: a, ident :: String, in_ :: a }

#SelectR Source

type SelectR a = { filter :: Maybe a, groupBy :: Maybe (GroupBy a), isDistinct :: Boolean, orderBy :: Maybe (OrderBy a), projections :: List (Projection a), relations :: Maybe (Relation a) }

#FunctionDeclR Source

type FunctionDeclR a = { args :: List String, body :: a, ident :: String }

#SqlF Source

data SqlF literal a

Constructors

Instances

#printSqlF Source

printSqlF :: forall l. Algebra l String -> Algebra (SqlF l) String

#encodeJsonSqlF Source

encodeJsonSqlF :: forall l. Algebra l Json -> Algebra (SqlF l) Json

#arbitrarySqlF Source

#genSql Source

genSql :: forall t. Int -> GenSql t

Re-exports from SqlSquared.Signature.BinaryOperator

Re-exports from SqlSquared.Signature.Case

#Case Source

newtype Case a

Constructors

  • Case { cond :: a, expr :: a }

Instances

Re-exports from SqlSquared.Signature.GroupBy

#GroupBy Source

newtype GroupBy a

Constructors

Instances

Re-exports from SqlSquared.Signature.Ident

Re-exports from SqlSquared.Signature.JoinType

Re-exports from SqlSquared.Signature.OrderBy

Re-exports from SqlSquared.Signature.OrderType

Re-exports from SqlSquared.Signature.Projection

#Projection Source

newtype Projection a

Constructors

Instances

Re-exports from SqlSquared.Signature.Relation

#VariRelR Source

type VariRelR = { alias :: Maybe String, vari :: String }

#TableRelR Source

#JoinRelR Source

type JoinRelR a = { clause :: a, joinType :: JoinType, left :: Relation a, right :: Relation a }

#ExprRelR Source

type ExprRelR a = { aliasName :: String, expr :: a }

Re-exports from SqlSquared.Signature.UnaryOperator

Re-exports from SqlSquared.Utils

#(⋙) Source

Operator alias for SqlSquared.Utils.composeFlipped (right-associative / precedence 9)

#(∘) Source

Operator alias for Control.Semigroupoid.compose (right-associative / precedence 9)

#(×) Source

Operator alias for Data.Tuple.Tuple (right-associative / precedence 1)

#type (×) Source

Operator alias for Data.Tuple.Tuple (right-associative / precedence 4)