commit
b456b31d65
@ -236,33 +236,33 @@ useIdent info (I ident) = fromDBName info $ DBName ident
|
|||||||
|
|
||||||
-- | An expression on the SQL backend.
|
-- | An expression on the SQL backend.
|
||||||
data SqlExpr a where
|
data SqlExpr a where
|
||||||
-- | An entity, created by 'from' (cf. 'fromStart').
|
-- An entity, created by 'from' (cf. 'fromStart').
|
||||||
EEntity :: Ident -> SqlExpr (Entity val)
|
EEntity :: Ident -> SqlExpr (Entity val)
|
||||||
|
|
||||||
-- | Just a tag stating that something is nullable.
|
-- Just a tag stating that something is nullable.
|
||||||
EMaybe :: SqlExpr a -> SqlExpr (Maybe a)
|
EMaybe :: SqlExpr a -> SqlExpr (Maybe a)
|
||||||
|
|
||||||
-- | Raw expression: states whether parenthesis are needed
|
-- Raw expression: states whether parenthesis are needed
|
||||||
-- around this expression, and takes information about the SQL
|
-- around this expression, and takes information about the SQL
|
||||||
-- connection (mainly for escaping names) and returns both an
|
-- connection (mainly for escaping names) and returns both an
|
||||||
-- string ('TLB.Builder') and a list of values to be
|
-- string ('TLB.Builder') and a list of values to be
|
||||||
-- interpolated by the SQL backend.
|
-- interpolated by the SQL backend.
|
||||||
ERaw :: NeedParens -> (IdentInfo -> (TLB.Builder, [PersistValue])) -> SqlExpr (Value a)
|
ERaw :: NeedParens -> (IdentInfo -> (TLB.Builder, [PersistValue])) -> SqlExpr (Value a)
|
||||||
|
|
||||||
-- | 'EList' and 'EEmptyList' are used by list operators.
|
-- 'EList' and 'EEmptyList' are used by list operators.
|
||||||
EList :: SqlExpr (Value a) -> SqlExpr (ValueList a)
|
EList :: SqlExpr (Value a) -> SqlExpr (ValueList a)
|
||||||
EEmptyList :: SqlExpr (ValueList a)
|
EEmptyList :: SqlExpr (ValueList a)
|
||||||
|
|
||||||
-- | A 'SqlExpr' accepted only by 'orderBy'.
|
-- A 'SqlExpr' accepted only by 'orderBy'.
|
||||||
EOrderBy :: OrderByType -> SqlExpr (Value a) -> SqlExpr OrderBy
|
EOrderBy :: OrderByType -> SqlExpr (Value a) -> SqlExpr OrderBy
|
||||||
|
|
||||||
-- | A 'SqlExpr' accepted only by 'set'.
|
-- A 'SqlExpr' accepted only by 'set'.
|
||||||
ESet :: (SqlExpr (Entity val) -> SqlExpr (Value ())) -> SqlExpr (Update val)
|
ESet :: (SqlExpr (Entity val) -> SqlExpr (Value ())) -> SqlExpr (Update val)
|
||||||
|
|
||||||
-- | An internal 'SqlExpr' used by the 'from' hack.
|
-- An internal 'SqlExpr' used by the 'from' hack.
|
||||||
EPreprocessedFrom :: a -> FromClause -> SqlExpr (PreprocessedFrom a)
|
EPreprocessedFrom :: a -> FromClause -> SqlExpr (PreprocessedFrom a)
|
||||||
|
|
||||||
-- | Used by 'insertSelect'.
|
-- Used by 'insertSelect'.
|
||||||
EInsert :: Proxy a -> (IdentInfo -> (TLB.Builder, [PersistValue])) -> SqlExpr (Insertion a)
|
EInsert :: Proxy a -> (IdentInfo -> (TLB.Builder, [PersistValue])) -> SqlExpr (Insertion a)
|
||||||
|
|
||||||
data NeedParens = Parens | Never
|
data NeedParens = Parens | Never
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user