@@ -92,7 +92,7 @@ fieldWith fieldP = RP $ do
9292 then lift $ lift $ do
9393 vals <- mapM (getTypenameByCol r) [0..ncols-1]
9494 let err = ConversionFailed
95− (show (unCol ncols) ++ " values: " ++ show vals)
95+ (show (unCol ncols) ++ " values: " ++ show (map ellipsis vals))
9696 Nothing
9797 ""
9898 ("at least " ++ show (unCol column + 1)
@@ -101,9 +101,10 @@ fieldWith fieldP = RP $ do
101101 \convert and number in target type"
102102 conversionError err
103103 else do
104− let result = rowresult
105− field = Field{..}
106− lift (lift (fieldP field (getvalue result row column)))
104+ let !result = rowresult
105+ !typeOid = unsafePerformIO (PQ.ftype result column)
106+ !field = Field{..}
107+ lift (lift (fieldP field (getvalue result row column)))
107108
108109field :: FromField a => RowParser a
109110field = fieldWith fromField