git.iko.soy/typeable/postgresql-simple
on master help sign in
Use vector instead.
edcb018Jason Dusek
src/Database/PostgreSQL/Simple/FromField.hs+4−4
@@ -55,10 +55,10 @@ import Data.Int (Int16, Int32, Int64)
55import Data.List (foldl')
55import Data.List (foldl')
56import Data.Maybe (fromMaybe)
56import Data.Maybe (fromMaybe)
57import Data.Ratio (Ratio)
57import Data.Ratio (Ratio)
58−import Data.Sequence (Seq)
59−import qualified Data.Sequence as S
60import Data.Time ( UTCTime, ZonedTime, LocalTime, Day, TimeOfDay )
58import Data.Time ( UTCTime, ZonedTime, LocalTime, Day, TimeOfDay )
61import Data.Typeable (Typeable, typeOf)
59import Data.Typeable (Typeable, typeOf)
60+import Data.Vector (Vector)
61+import qualified Data.Vector as V
62import Data.Word (Word64)
62import Data.Word (Word64)
63import Database.PostgreSQL.Simple.Internal
63import Database.PostgreSQL.Simple.Internal
64import Database.PostgreSQL.Simple.BuiltinTypes
64import Database.PostgreSQL.Simple.BuiltinTypes
@@ -245,9 +245,9 @@ instance (FromField a, FromField b) => FromField (Either a b) where
245 fromField f dat = (Right <$> fromField f dat)
245 fromField f dat = (Right <$> fromField f dat)
246 <|> (Left <$> fromField f dat)
246 <|> (Left <$> fromField f dat)
247
247
248−instance (FromField a, Typeable a) => FromField (Seq a) where
248+instance (FromField a, Typeable a) => FromField (Vector a) where
249 fromField f dat = either (returnError ConversionFailed f)
249 fromField f dat = either (returnError ConversionFailed f)
250− (S.fromList <$>)
250+ (V.fromList <$>)
251 (parseOnly (fromArray ',' f) (maybe "" id dat))
251 (parseOnly (fromArray ',' f) (maybe "" id dat))
252
252
253fromArray :: (FromField a) => Char -> Field -> Parser (Ok [a])
253fromArray :: (FromField a) => Char -> Field -> Parser (Ok [a])
src/Database/PostgreSQL/Simple/ToField.hs+4−4
@@ -36,11 +36,11 @@ import Database.PostgreSQL.Simple.Types (Binary(..), In(..), Null)
36import qualified Blaze.ByteString.Builder.Char.Utf8 as Utf8
36import qualified Blaze.ByteString.Builder.Char.Utf8 as Utf8
37import qualified Data.ByteString as SB
37import qualified Data.ByteString as SB
38import qualified Data.ByteString.Lazy as LB
38import qualified Data.ByteString.Lazy as LB
39−import Data.Foldable (toList)
40−import Data.Sequence (Seq)
41import qualified Data.Text as ST
39import qualified Data.Text as ST
42import qualified Data.Text.Encoding as ST
40import qualified Data.Text.Encoding as ST
43import qualified Data.Text.Lazy as LT
41import qualified Data.Text.Lazy as LT
42+import Data.Vector (Vector)
43+import qualified Data.Vector as V
44import qualified Database.PostgreSQL.LibPQ as PQ
44import qualified Database.PostgreSQL.LibPQ as PQ
45import Database.PostgreSQL.Simple.Time
45import Database.PostgreSQL.Simple.Time
46
46
@@ -223,10 +223,10 @@ instance ToField Date where
223 toField = Plain . inQuotes . dateToBuilder
223 toField = Plain . inQuotes . dateToBuilder
224 {-# INLINE toField #-}
224 {-# INLINE toField #-}
225
225
226−instance (ToField a) => ToField (Seq a) where
226+instance (ToField a) => ToField (Vector a) where
227 toField xs = Many $
227 toField xs = Many $
228 Plain (fromByteString "ARRAY[") :
228 Plain (fromByteString "ARRAY[") :
229− (intersperse (Plain (fromChar ',')) . map toField $ toList xs) ++
229+ (intersperse (Plain (fromChar ',')) . map toField $ V.toList xs) ++
230 [Plain (fromChar ']')]
230 [Plain (fromChar ']')]
231 -- Because the ARRAY[...] input syntax is being used, it is possible
231 -- Because the ARRAY[...] input syntax is being used, it is possible
232 -- that the use of type-specific separator characters is unnecessary.
232 -- that the use of type-specific separator characters is unnecessary.