@@ -34,6 +34,7 @@ module Database.PostgreSQL.Simple.FromField
3434
3535 , Field
3636 , typename
37+ , typeinfo
3738 , name
3839 , tableOid
3940 , tableColumn
@@ -139,8 +140,11 @@ class FromField a where
139140-- meta-schema.
140141
141142typename :: Field -> Conversion ByteString
142−typename field = Conversion $ \conn -> do
143− Ok . typname . typ <$> getTypeInfo conn (typeOid field)
143+typename field = typname . typ <$> typeinfo field
144+
145+typeinfo :: Field -> Conversion TypeInfo
146+typeinfo Field{..} = Conversion $ \conn -> do
147+ Ok <$> (getTypeInfo conn =<< PQ.ftype result column)
144148
145149-- | Returns the name of the column. This is often determined by a table
146150-- definition, but it can be set using an @as@ clause.