add SqlCast composite key error

This commit is contained in:
Harpo Reder 2018-07-15 06:08:23 +00:00
parent c9ff21d30a
commit 2e16c72154

View File

@ -102,6 +102,7 @@ data CompositeKeyError =
| FoldHelpError
| SqlCaseError
| SqlBinOpError
| SqlCastAsError
| MakeOnClauseError
| MakeExcError
| MakeSetError
@ -766,13 +767,14 @@ unsafeSqlFunctionParens name arg =
uncommas' $ map (\(ERaw p f) -> first (parensM p) (f info)) $ toArgList arg
in (name <> parens argsTLB, argsVals)
-- | explicit cast using CAST(value as type)
-- | (Internal) An explicit SQL type cast using CAST(value as type).
-- See 'unsafeSqlBinOp' for warnings.
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 )
unsafeSqlCastAs _ (ECompositeKey _) = throw (CompositeKeyErr SqlCastAsError)
class UnsafeSqlFunctionArgument a where
toArgList :: a -> [SqlExpr (Value ())]