packages feed

simplest-sqlite 0.0.0.9 → 0.0.0.10

raw patch · 2 files changed

+22/−7 lines, 2 filesPVP: minor bump suggested

API additions: PVP suggests at least a minor version bump

API changes (from Hackage documentation)

+ Database.SmplstSQLite3: instance Database.SmplstSQLite3.SQLiteData GHC.Types.Double
+ Database.SmplstSQLite3: instance GHC.Classes.Eq Database.SmplstSQLite3.Type

Files

simplest-sqlite.cabal view
@@ -2,7 +2,7 @@ cabal-version: >= 1.8  name: simplest-sqlite-version: 0.0.0.9+version: 0.0.0.10 stability: Experimental author: YoshikuniJujo <PAF01143@nifty.ne.jp> maintainer: YoshikuniJujo <PAF01143@nifty.ne.jp>@@ -23,7 +23,7 @@ source-repository this     type: git     location: git://github.com/YoshikuniJujo/test_haskell-    tag: simplest-sqlite-0.0.0.9+    tag: simplest-sqlite-0.0.0.10  library     hs-source-dirs: src
src/Database/SmplstSQLite3.hs view
@@ -101,6 +101,8 @@  foreign import ccall unsafe "sqlite3.h sqlite3_column_int" 	c_sqlite3_column_int :: Ptr Stmt -> CInt -> IO CInt+foreign import ccall unsafe "sqlite3.h sqlite3_column_double"+	c_sqlite3_column_double :: Ptr Stmt -> CInt -> IO CDouble foreign import ccall unsafe "sqlite3.h sqlite3_column_text" 	c_sqlite3_column_text :: Ptr Stmt -> CInt -> IO CString foreign import ccall unsafe "sqlite3.h sqlite3_column_blob"@@ -127,6 +129,11 @@ 	column (Stmt sm) i = 		fromIntegral <$> c_sqlite3_column_int sm (fromIntegral i) +instance SQLiteData Double where+	bindN = sqlite3BindDouble+	column (Stmt sm) i =+		realToFrac <$> c_sqlite3_column_double sm (fromIntegral i)+ instance SQLiteDataList Char where 	bindNList = sqlite3BindString 	columnList (Stmt sm) i =@@ -142,10 +149,12 @@ 	column (Stmt sm) i = T.decodeUtf8 <$> 		(BS.packCString =<< c_sqlite3_column_text sm (fromIntegral i)) -foreign import ccall unsafe "sqlite3.h sqlite3_bind_null" c_sqlite3_bind_null ::-	Ptr Stmt -> CInt -> IO CInt-foreign import ccall unsafe "sqlite3.h sqlite3_bind_int" c_sqlite3_bind_int ::-	Ptr Stmt -> CInt -> CInt -> IO CInt+foreign import ccall unsafe "sqlite3.h sqlite3_bind_null"+	c_sqlite3_bind_null :: Ptr Stmt -> CInt -> IO CInt+foreign import ccall unsafe "sqlite3.h sqlite3_bind_int"+	c_sqlite3_bind_int :: Ptr Stmt -> CInt -> CInt -> IO CInt+foreign import ccall unsafe "sqlite3.h sqlite3_bind_double"+	c_sqlite3_bind_double :: Ptr Stmt -> CInt -> CDouble -> IO CInt foreign import ccall unsafe "sqlite3.h sqlite3_bind_text" c_sqlite3_bind_text :: 	Ptr Stmt -> CInt -> CString -> CInt -> Ptr a -> IO CInt foreign import ccall unsafe "sqlite3.h sqlite3_bind_blob" c_sqlite3_bind_blob ::@@ -160,6 +169,12 @@ 	when (ret /= sQLITE_OK) . ioError . userError $ 			"Cannot bind null: error code (" ++ show ret ++ ")" +sqlite3BindDouble :: Stmt -> Int -> Double -> IO ()+sqlite3BindDouble (Stmt sm) i d = do+	ret <- c_sqlite3_bind_double sm (fromIntegral i) (realToFrac d)+	when (ret /= sQLITE_OK) . ioError . userError $+			"Cannot bind double: error code (" ++ show ret ++ ")"+ sqlite3BindInt :: Stmt -> Int -> Int -> IO () sqlite3BindInt (Stmt sm) i n = do 	ret <- c_sqlite3_bind_int sm (fromIntegral i) (fromIntegral n)@@ -204,7 +219,7 @@ 	when (ret /= sQLITE_OK) . ioError . userError $ 		"Cannot reset stmt: error code (" ++ show ret ++ ")" -data Type = Integer | Float | Text | Blob | Null deriving Show+data Type = Integer | Float | Text | Blob | Null deriving (Show, Eq)  foreign import ccall unsafe "sqlite3.h sqlite3_column_type" 	c_sqlite3_column_type :: Ptr Stmt -> CInt -> IO CInt