hasql 0.19.3 → 0.19.3.1
raw patch · 3 files changed
+57/−6 lines, 3 filesPVP ok
version bump matches the API change (PVP)
API changes (from Hackage documentation)
Files
- hasql.cabal +1/−1
- library/Hasql/Encoders.hs +5/−5
- tasty/Main.hs +51/−0
hasql.cabal view
@@ -1,7 +1,7 @@ name: hasql version:- 0.19.3+ 0.19.3.1 category: Hasql, Database, PostgreSQL synopsis:
library/Hasql/Encoders.hs view
@@ -261,35 +261,35 @@ {-# INLINABLE timestamp #-} timestamp :: Value LocalTime timestamp =- Value (Value.unsafePTI PTI.timestamp (Prelude.bool Encoder.timestamp_int Encoder.timestamp_float))+ Value (Value.unsafePTI PTI.timestamp (Prelude.bool Encoder.timestamp_float Encoder.timestamp_int)) -- | -- Encoder of @TIMESTAMPTZ@ values. {-# INLINABLE timestamptz #-} timestamptz :: Value UTCTime timestamptz =- Value (Value.unsafePTI PTI.timestamptz (Prelude.bool Encoder.timestamptz_int Encoder.timestamptz_float))+ Value (Value.unsafePTI PTI.timestamptz (Prelude.bool Encoder.timestamptz_float Encoder.timestamptz_int)) -- | -- Encoder of @TIME@ values. {-# INLINABLE time #-} time :: Value TimeOfDay time =- Value (Value.unsafePTI PTI.time (Prelude.bool Encoder.time_int Encoder.time_float))+ Value (Value.unsafePTI PTI.time (Prelude.bool Encoder.time_float Encoder.time_int)) -- | -- Encoder of @TIMETZ@ values. {-# INLINABLE timetz #-} timetz :: Value (TimeOfDay, TimeZone) timetz =- Value (Value.unsafePTI PTI.timetz (Prelude.bool Encoder.timetz_int Encoder.timetz_float))+ Value (Value.unsafePTI PTI.timetz (Prelude.bool Encoder.timetz_float Encoder.timetz_int)) -- | -- Encoder of @INTERVAL@ values. {-# INLINABLE interval #-} interval :: Value DiffTime interval =- Value (Value.unsafePTI PTI.interval (Prelude.bool Encoder.interval_int Encoder.interval_float))+ Value (Value.unsafePTI PTI.interval (Prelude.bool Encoder.interval_float Encoder.interval_int)) -- | -- Encoder of @UUID@ values.
tasty/Main.hs view
@@ -23,6 +23,57 @@ testCase "Executing the same query twice" $ pure () ,+ testCase "Interval Encoding" $+ let+ actualIO =+ DSL.session $ do+ let+ query =+ Query.statement sql encoder decoder True+ where+ sql =+ "select $1 = interval '10 seconds'"+ decoder =+ (Decoders.singleRow (Decoders.value (Decoders.bool)))+ encoder =+ Encoders.value (Encoders.interval)+ in DSL.query (10 :: DiffTime) query+ in actualIO >>= \x -> assertEqual (show x) (Right True) x+ ,+ testCase "Interval Decoding" $+ let+ actualIO =+ DSL.session $ do+ let+ query =+ Query.statement sql encoder decoder True+ where+ sql =+ "select interval '10 seconds'"+ decoder =+ (Decoders.singleRow (Decoders.value (Decoders.interval)))+ encoder =+ Encoders.unit+ in DSL.query () query+ in actualIO >>= \x -> assertEqual (show x) (Right (10 :: DiffTime)) x+ ,+ testCase "Interval Encoding/Decoding" $+ let+ actualIO =+ DSL.session $ do+ let+ query =+ Query.statement sql encoder decoder True+ where+ sql =+ "select $1"+ decoder =+ (Decoders.singleRow (Decoders.value (Decoders.interval)))+ encoder =+ Encoders.value (Encoders.interval)+ in DSL.query (10 :: DiffTime) query+ in actualIO >>= \x -> assertEqual (show x) (Right (10 :: DiffTime)) x+ , testCase "Enum" $ let actualIO =