Fix insert
This commit is contained in:
+1
-1
@@ -130,7 +130,7 @@ app req =
|
|||||||
let vals = elems obj
|
let vals = elems obj
|
||||||
H.unit . coerce $ iffNotT
|
H.unit . coerce $ iffNotT
|
||||||
(whereT qq $ update qt cols vals)
|
(whereT qq $ update qt cols vals)
|
||||||
(insertInto qt cols vals)
|
(insertSelect qt cols vals)
|
||||||
return $ responseLBS status204 [ jsonH ] ""
|
return $ responseLBS status204 [ jsonH ] ""
|
||||||
|
|
||||||
else return $ if Prelude.null tableCols
|
else return $ if Prelude.null tableCols
|
||||||
|
|||||||
@@ -100,6 +100,18 @@ insertInto t cols vals =
|
|||||||
, mempty
|
, mempty
|
||||||
)
|
)
|
||||||
|
|
||||||
|
insertSelect :: QualifiedTable -> [Text] -> [JSON.Value] -> DynamicSQL
|
||||||
|
insertSelect t [] _ =
|
||||||
|
("insert into " <> fromQt t <> " default values returning *", [], mempty)
|
||||||
|
insertSelect t cols vals =
|
||||||
|
("insert into " <> fromQt t <> " (" <>
|
||||||
|
cs (intercalate ", " (map pgFmtIdent cols)) <>
|
||||||
|
") select " <>
|
||||||
|
cs (intercalate ", " (map (const "?") vals))
|
||||||
|
, map pgParam vals
|
||||||
|
, mempty
|
||||||
|
)
|
||||||
|
|
||||||
update :: QualifiedTable -> [Text] -> [JSON.Value] -> DynamicSQL
|
update :: QualifiedTable -> [Text] -> [JSON.Value] -> DynamicSQL
|
||||||
update t cols vals =
|
update t cols vals =
|
||||||
("update " <> fromQt t <> " set (" <>
|
("update " <> fromQt t <> " set (" <>
|
||||||
|
|||||||
Reference in New Issue
Block a user