Fix insert
This commit is contained in:
+1
-1
@@ -130,7 +130,7 @@ app req =
|
||||
let vals = elems obj
|
||||
H.unit . coerce $ iffNotT
|
||||
(whereT qq $ update qt cols vals)
|
||||
(insertInto qt cols vals)
|
||||
(insertSelect qt cols vals)
|
||||
return $ responseLBS status204 [ jsonH ] ""
|
||||
|
||||
else return $ if Prelude.null tableCols
|
||||
|
||||
@@ -100,6 +100,18 @@ insertInto t cols vals =
|
||||
, 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 t cols vals =
|
||||
("update " <> fromQt t <> " set (" <>
|
||||
|
||||
Reference in New Issue
Block a user