@@ -435,8 +435,16 @@ finishFold conn c q a_ f = loop a_
435 Right r -> f a r)
435 Right r -> f a r)
436 a [0..nrows-1]
436 a [0..nrows-1]
438− _ -> clear c >> fail "FIXME: finishFold not PQ.TuplesOk"
438+ _ -> do
439−
439+ errormsg <- maybe "" id <$> PQ.resultErrorMessage result
440+ statusmsg <- PQ.resStatus stat
441+ state <- maybe "" id <$> PQ.resultErrorField result PQ.DiagSqlstate
443+ throwIO $ SqlError {
445+ sqlNativeError = fromEnum stat,
446+ sqlErrorMsg = B.concat [ "fold: ", statusmsg
440 clear c = do
448 clear c = do
441 mres <- PQ.getResult c
449 mres <- PQ.getResult c
442 case mres of
450 case mres of