packages feed

sqlite-simple 0.4.13.0 → 0.4.14.0

raw patch · 4 files changed

+7/−20 lines, 4 filesdep +OnlyPVP: major bump suggested

API removals or changes: PVP suggests a major version bump

Dependencies added: Only

API changes (from Hackage documentation)

- Database.SQLite.Simple.FromRow: instance Database.SQLite.Simple.FromField.FromField a => Database.SQLite.Simple.FromRow.FromRow (Database.SQLite.Simple.Types.Only a)
- Database.SQLite.Simple.ToRow: instance Database.SQLite.Simple.ToField.ToField a => Database.SQLite.Simple.ToRow.ToRow (Database.SQLite.Simple.Types.Only a)
- Database.SQLite.Simple.Types: instance GHC.Base.Functor Database.SQLite.Simple.Types.Only
- Database.SQLite.Simple.Types: instance GHC.Classes.Eq a => GHC.Classes.Eq (Database.SQLite.Simple.Types.Only a)
- Database.SQLite.Simple.Types: instance GHC.Classes.Ord a => GHC.Classes.Ord (Database.SQLite.Simple.Types.Only a)
- Database.SQLite.Simple.Types: instance GHC.Read.Read a => GHC.Read.Read (Database.SQLite.Simple.Types.Only a)
- Database.SQLite.Simple.Types: instance GHC.Show.Show a => GHC.Show.Show (Database.SQLite.Simple.Types.Only a)
+ Database.SQLite.Simple.FromRow: instance Database.SQLite.Simple.FromField.FromField a => Database.SQLite.Simple.FromRow.FromRow (Data.Tuple.Only.Only a)
+ Database.SQLite.Simple.ToRow: instance Database.SQLite.Simple.ToField.ToField a => Database.SQLite.Simple.ToRow.ToRow (Data.Tuple.Only.Only a)
- Database.SQLite.Simple: newtype Only a
+ Database.SQLite.Simple: newtype Only a :: * -> *
- Database.SQLite.Simple.Types: newtype Only a
+ Database.SQLite.Simple.Types: newtype Only a :: * -> *

Files

Database/SQLite/Simple/Types.hs view
@@ -26,6 +26,7 @@ import           Control.Arrow (first)
 import           Data.Monoid (Monoid(..))
 import           Data.String (IsString(..))
+import           Data.Tuple.Only (Only(..))
 import           Data.Typeable (Typeable)
 import qualified Data.Text as T
 
@@ -72,23 +73,6 @@     mempty = Query T.empty
     mappend (Query a) (Query b) = Query (T.append a b)
     {-# INLINE mappend #-}
-
--- | A single-value \"collection\".
---
--- This is useful if you need to supply a single parameter to a SQL
--- query, or extract a single column from a SQL result.
---
--- Parameter example:
---
--- @query c \"select x from scores where x > ?\" ('Only' (42::Int))@
---
--- Result example:
---
--- @xs <- query_ c \"select id from users\"
---forM_ xs $ \\('Only' id) -> {- ... -}@
-newtype Only a = Only {
-      fromOnly :: a
-    } deriving (Eq, Ord, Read, Show, Typeable, Functor)
 
 -- | A composite type to parse your custom data structures without
 -- having to define dummy newtype wrappers every time.
changelog view
@@ -1,3 +1,6 @@+0.4.14.0
+	* Use @hvr's Only package for the Only single element typle type.
+
 0.4.13.0
 	* Add columnCount (thanks @Shimuuar!)
 	* Add withImmediateTransaction, withExclusiveTransaction (thanks @mbucc!)
sqlite-simple.cabal view
@@ -1,5 +1,5 @@ Name:                sqlite-simple
-Version:             0.4.13.0
+Version:             0.4.14.0
 Synopsis:            Mid-Level SQLite client library
 Description:
     Mid-level SQLite client library, based on postgresql-simple.
@@ -51,7 +51,8 @@     direct-sqlite >= 2.3.13 && < 2.4,
     text >= 0.11,
     time,
-    transformers
+    transformers,
+    Only >= 0.1 && < 0.1.1
 
   default-extensions:
       DoAndIfThenElse
test/Simple.hs view
@@ -124,7 +124,6 @@   assertEqual "UTCTime" time t
   rows <- query conn "SELECT * FROM timefract WHERE t = ?" (Only time) :: IO [Only UTCTime]
   assertEqual "should see one row result" 1 (length rows)
-  assertEqual "UTCTime" time t
 
 testSimpleInsertId :: TestEnv -> Test
 testSimpleInsertId TestEnv{..} = TestCase $ do