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 :: Ident }

#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 :: Ident, 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 Ident, body :: a, ident :: Ident }

#SqlF Source

data SqlF literal a

Constructors

Instances

#printSqlF Source

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

#genSqlF Source

genSqlF :: forall l m. MonadGen m => MonadRec m => CoalgebraM m l Int -> CoalgebraM m (SqlF l) Int

#genSqlDeclF Source

#genSqlQueryF Source

#genSqlModuleF Source

Re-exports from SqlSquared.Signature.BinaryOperator

#genBinaryOperator Source

Re-exports from SqlSquared.Signature.Case

#Case Source

newtype Case a

Constructors

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

Instances

#genCase Source

genCase :: forall m. MonadGen m => CoalgebraM m Case Int

Re-exports from SqlSquared.Signature.GroupBy

#GroupBy Source

newtype GroupBy a

Constructors

Instances

#genGroupBy Source

Re-exports from SqlSquared.Signature.Ident

#printIdent Source

#genIdent Source

genIdent :: forall m. MonadGen m => m Ident

Re-exports from SqlSquared.Signature.JoinType

#genJoinType Source

genJoinType :: forall m. MonadGen m => m JoinType

Re-exports from SqlSquared.Signature.OrderBy

#genOrderBy Source

Re-exports from SqlSquared.Signature.OrderType

#OrderType Source

data OrderType

Constructors

Instances

#genOrderType Source

genOrderType :: forall m. MonadGen m => m OrderType

Re-exports from SqlSquared.Signature.Projection

#Projection Source

newtype Projection a

Constructors

Instances

#genProjection Source

Re-exports from SqlSquared.Signature.Relation

#VarRelR Source

type VarRelR = { alias :: Maybe Ident, var :: Ident }

#TableRelR Source

type TableRelR = { alias :: Maybe Ident, path :: Either AnyDir AnyFile }

#JoinRelR Source

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

#ExprRelR Source

type ExprRelR a = { alias :: Ident, expr :: a }

#genRelation Source

Re-exports from SqlSquared.Signature.UnaryOperator

#genUnaryOperator Source

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)