@@ -23,10 +23,12 @@ module Database.PostgreSQL.Simple.FromRow
23 , numFieldsRemaining
23 , numFieldsRemaining
26−import Control.Applicative (Applicative(..), (<$>))
26+import Control.Applicative (Applicative(..), (<$>))
27−import Control.Monad (replicateM)
27+import Control.Monad (replicateM)
28−import Data.ByteString (ByteString)
28+import Data.ByteString (ByteString)
29import qualified Data.ByteString.Char8 as B
29import qualified Data.ByteString.Char8 as B
30+import Data.Vector (Vector)
31+import qualified Data.Vector as V
30import Database.PostgreSQL.Simple.Types (Only(..))
32import Database.PostgreSQL.Simple.Types (Only(..))
31import qualified Database.PostgreSQL.LibPQ as PQ
33import qualified Database.PostgreSQL.LibPQ as PQ
32import Database.PostgreSQL.Simple.Internal
34import Database.PostgreSQL.Simple.Internal
@@ -169,5 +171,10 @@ instance FromField a => FromRow [a] where
169 n <- numFieldsRemaining
171 n <- numFieldsRemaining
170 replicateM n field
172 replicateM n field
174+instance FromField a => FromRow (Vector a) where
176+ n <- numFieldsRemaining
177+ V.replicateM n field
172instance (FromRow a, FromRow b) => FromRow (a :. b) where
179instance (FromRow a, FromRow b) => FromRow (a :. b) where
173 fromRow = (:.) <$> fromRow <*> fromRow
180 fromRow = (:.) <$> fromRow <*> fromRow