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 +1/−17
- changelog +3/−0
- sqlite-simple.cabal +3/−2
- test/Simple.hs +0/−1
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