@@ -92,7 +92,7 @@ fieldWith fieldP = RP $ do
92 then lift $ lift $ do
92 then lift $ lift $ do
93 vals <- mapM (getTypenameByCol r) [0..ncols-1]
93 vals <- mapM (getTypenameByCol r) [0..ncols-1]
94 let err = ConversionFailed
94 let err = ConversionFailed
95− (show (unCol ncols) ++ " values: " ++ show vals)
95+ (show (unCol ncols) ++ " values: " ++ show (map ellipsis vals))
98 ("at least " ++ show (unCol column + 1)
98 ("at least " ++ show (unCol column + 1)
@@ -101,9 +101,10 @@ fieldWith fieldP = RP $ do
101 \convert and number in target type"
101 \convert and number in target type"
102 conversionError err
102 conversionError err
104− let result = rowresult
104+ let !result = rowresult
105+ !typeOid = unsafePerformIO (PQ.ftype result column)
105− field = Field{..}
106+ !field = Field{..}
106− lift (lift (fieldP field (getvalue result row column)))
107+ lift (lift (fieldP field (getvalue result row column)))
108field :: FromField a => RowParser a
109field :: FromField a => RowParser a
109field = fieldWith fromField
110field = fieldWith fromField