cherrypick unsafeSqlCastAs
This commit is contained in:
parent
b91e0ad9b8
commit
c9ff21d30a
@ -33,6 +33,7 @@ module Database.Esqueleto.Internal.Sql
|
||||
, unsafeSqlBinOp
|
||||
, unsafeSqlBinOpComposite
|
||||
, unsafeSqlValue
|
||||
, unsafeSqlCastAs
|
||||
, unsafeSqlFunction
|
||||
, unsafeSqlExtractSubField
|
||||
, UnsafeSqlFunctionArgument
|
||||
@ -766,6 +767,13 @@ unsafeSqlFunctionParens name arg =
|
||||
in (name <> parens argsTLB, argsVals)
|
||||
|
||||
|
||||
-- | explicit cast using CAST(value as type)
|
||||
unsafeSqlCastAs :: T.Text -> SqlExpr (Value a) -> SqlExpr (Value b)
|
||||
unsafeSqlCastAs t (ERaw p f) =
|
||||
ERaw Never $ \info ->
|
||||
let (b, v) = f info
|
||||
in ("CAST" <> parens ( parensM p b <> " AS " <> TLB.fromText t), v )
|
||||
|
||||
class UnsafeSqlFunctionArgument a where
|
||||
toArgList :: a -> [SqlExpr (Value ())]
|
||||
instance (a ~ Value b) => UnsafeSqlFunctionArgument (SqlExpr a) where
|
||||
|
||||
Loading…
Reference in New Issue
Block a user