git.iko.soy/typeable/postgresql-simple
on master help sign in
Remove conversion from timestamp (no TZ) to UTCTime
ecdbc74Leon P Smith
src/Database/PostgreSQL/Simple/FromField.hs+2−12
@@ -51,8 +51,7 @@ import qualified Data.ByteString.Char8 as B
51import Data.Int (Int16, Int32, Int64)
51import Data.Int (Int16, Int32, Int64)
52import Data.List (foldl')
52import Data.List (foldl')
53import Data.Ratio (Ratio)
53import Data.Ratio (Ratio)
54−import Data.Time ( UTCTime, ZonedTime, LocalTime, Day, TimeOfDay
54+import Data.Time ( UTCTime, ZonedTime, LocalTime, Day, TimeOfDay )
55− , localTimeToUTC, utc )
56import Data.Typeable (Typeable, typeOf)
55import Data.Typeable (Typeable, typeOf)
57import Data.Word (Word64)
56import Data.Word (Word64)
58import Database.PostgreSQL.Simple.Internal
57import Database.PostgreSQL.Simple.Internal
@@ -194,16 +193,7 @@ instance FromField [Char] where
194 fromField f dat = ST.unpack <$> fromField f dat
193 fromField f dat = ST.unpack <$> fromField f dat
195
194
196instance FromField UTCTime where
195instance FromField UTCTime where
197− fromField f =
198− case oid2builtin (typeOid f) of
199− Just TimestampWithTimeZone -> doIt id parseUTCTime
196+ fromField = ff TimestampWithTimeZone "UTCTime" parseUTCTime
200− Just Timestamp -> doIt (localTimeToUTC utc) parseLocalTime -- deprecated
201− _ -> const $ returnError Incompatible f ""
202− where
203− doIt _finish _parse Nothing
204− = returnError UnexpectedNull f ""
205− doIt finish parse (Just bs)
206− = either (returnError ConversionFailed f) (pure . finish) (parse bs)
207
197
208instance FromField ZonedTime where
198instance FromField ZonedTime where
209 fromField = ff TimestampWithTimeZone "ZonedTime" parseZonedTime
199 fromField = ff TimestampWithTimeZone "ZonedTime" parseZonedTime
src/Database/PostgreSQL/Simple/ToField.hs−1
@@ -32,7 +32,6 @@ import Data.Time (Day, TimeOfDay, LocalTime, UTCTime, ZonedTime)
32import Data.Typeable (Typeable)
32import Data.Typeable (Typeable)
33import Data.Word (Word, Word8, Word16, Word32, Word64)
33import Data.Word (Word, Word8, Word16, Word32, Word64)
34import Database.PostgreSQL.Simple.Types (Binary(..), In(..), Null)
34import Database.PostgreSQL.Simple.Types (Binary(..), In(..), Null)
35−import System.Locale (defaultTimeLocale)
36import qualified Blaze.ByteString.Builder.Char.Utf8 as Utf8
35import qualified Blaze.ByteString.Builder.Char.Utf8 as Utf8
37import qualified Data.ByteString as SB
36import qualified Data.ByteString as SB
38import qualified Data.ByteString.Lazy as LB
37import qualified Data.ByteString.Lazy as LB