@@ -23,10 +23,12 @@ module Database.PostgreSQL.Simple.FromRow
2323 , numFieldsRemaining
2424 ) where
2525
26−import Control.Applicative (Applicative(..), (<$>))
27−import Control.Monad (replicateM)
28−import Data.ByteString (ByteString)
26+import Control.Applicative (Applicative(..), (<$>))
27+import Control.Monad (replicateM)
28+import Data.ByteString (ByteString)
2929import qualified Data.ByteString.Char8 as B
30+import Data.Vector (Vector)
31+import qualified Data.Vector as V
3032import Database.PostgreSQL.Simple.Types (Only(..))
3133import qualified Database.PostgreSQL.LibPQ as PQ
3234import Database.PostgreSQL.Simple.Internal
@@ -169,5 +171,10 @@ instance FromField a => FromRow [a] where
169171 n <- numFieldsRemaining
170172 replicateM n field
171173
174+instance FromField a => FromRow (Vector a) where
175+ fromRow = do
176+ n <- numFieldsRemaining
177+ V.replicateM n field
178+
172179instance (FromRow a, FromRow b) => FromRow (a :. b) where
173180 fromRow = (:.) <$> fromRow <*> fromRow