module ExecuteMany (testExecuteMany) where
import Common
import Data.ByteString (ByteString)
testExecuteMany :: TestEnv -> Test
testExecuteMany TestEnv{..} = TestCase $ do
execute_ conn "CREATE TEMPORARY TABLE tmp_executeMany (i INT, t TEXT, b BYTEA)"
let rows :: [(Int, String, Binary ByteString)]
rows = [ (1, "hello", Binary "bye")
, (2, "world", Binary "\0\r\t\n")
, (3, "?", Binary "")
]
count <- executeMany conn "INSERT INTO tmp_executeMany VALUES (?, ?, ?)" rows
assertEqual "count" (fromIntegral $ length rows) count
rows' <- query_ conn "SELECT * FROM tmp_executeMany"
assertEqual "rows" rows rows'
return ()