@@ -444,9 +444,13 @@ fromArray typeInfo f = sequence . (parseIt <$>) <$> array delim
445 delim = typdelim (typelem typeInfo)
445 delim = typdelim (typelem typeInfo)
446 fElem = f{ typeOid = typoid (typelem typeInfo) }
446 fElem = f{ typeOid = typoid (typelem typeInfo) }
447− parseIt item = (fromField f' . Just . fmt delim) item
448+ parseIt item =
449+ fromField f' $ if item' == "NULL" then Nothing else Just item'
451+ item' = fmt delim item
448− where f' | Arrays.Array _ <- item = f
452+ f' | Arrays.Array _ <- item = f
449− | otherwise = fElem
453+ | otherwise = fElem
451instance (FromField a, Typeable a) => FromField (Vector a) where
455instance (FromField a, Typeable a) => FromField (Vector a) where
452 fromField f v = V.fromList . fromPGArray <$> fromField f v
456 fromField f v = V.fromList . fromPGArray <$> fromField f v