From f1dbdae8c0e4dc35c09cc5c6f1df3a525633addc Mon Sep 17 00:00:00 2001 From: Tom McLaughlin Date: Wed, 3 Jan 2024 18:04:48 -0800 Subject: [PATCH] Improved error for ColumnTypeMismatch --- beam-postgres/Database/Beam/Postgres/Connection.hs | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/beam-postgres/Database/Beam/Postgres/Connection.hs b/beam-postgres/Database/Beam/Postgres/Connection.hs index e7a1d267..fe700e70 100644 --- a/beam-postgres/Database/Beam/Postgres/Connection.hs +++ b/beam-postgres/Database/Beam/Postgres/Connection.hs @@ -154,12 +154,14 @@ runPgRowReader conn rowIdx res fields (FromBackendRowM readRow) = case pgErr of Pg.ConversionFailed { Pg.errSQLType = sql , Pg.errHaskellType = hs - , Pg.errMessage = msg } -> - pure (ColumnTypeMismatch hs sql msg) + , Pg.errMessage = msg + , Pg.errSQLField = field } -> + pure (ColumnTypeMismatch hs sql ("Conversion failed for field'" <> field <> "': " <> msg)) Pg.Incompatible { Pg.errSQLType = sql , Pg.errHaskellType = hs - , Pg.errMessage = msg } -> - pure (ColumnTypeMismatch hs sql msg) + , Pg.errMessage = msg + , Pg.errSQLField = field } -> + pure (ColumnTypeMismatch hs sql ("Incompatible field: '" <> field <> "': " <> msg)) Pg.UnexpectedNull {} -> pure ColumnUnexpectedNull in pure (Left (BeamRowReadError (Just (fromIntegral curCol)) err))