packages feed

simplest-sqlite 0.0.0.7 → 0.0.0.8

raw patch · 2 files changed

+16/−8 lines, 2 filesdep ~text

Dependency ranges changed: text

Files

simplest-sqlite.cabal view
@@ -2,7 +2,7 @@ cabal-version: >= 1.8  name: simplest-sqlite-version: 0.0.0.7+version: 0.0.0.8 stability: Experimental author: YoshikuniJujo <PAF01143@nifty.ne.jp> maintainer: YoshikuniJujo <PAF01143@nifty.ne.jp>@@ -23,13 +23,13 @@ source-repository this     type: git     location: git://github.com/YoshikuniJujo/test_haskell-    tag: simplest-sqlite-0.0.0.7+    tag: simplest-sqlite-0.0.0.8  library     hs-source-dirs: src     exposed-modules: Database.SmplstSQLite3     other-modules: Database.SmplstSQLite3.Constants-    build-depends: base == 4.*, bytestring == 0.10.*, text == 1.1.*+    build-depends: base == 4.*, bytestring == 0.10.*, text >= 1.1 && < 1.3     ghc-options: -Wall     extra-libraries: sqlite3     extensions: ForeignFunctionInterface
src/Database/SmplstSQLite3.hs view
@@ -103,6 +103,8 @@ 	c_sqlite3_column_int :: Ptr Stmt -> CInt -> IO CInt 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"+	c_sqlite3_column_blob :: Ptr Stmt -> CInt -> IO CString  class SQLiteDataList a where 	bindNList :: Stmt -> Int -> [a] -> IO ()@@ -126,12 +128,10 @@ 	columnList (Stmt sm) i = 		peekCString =<< c_sqlite3_column_text sm (fromIntegral i) -{- instance SQLiteData BS.ByteString where-	bindN = sqlite3BindByteString+	bindN = sqlite3BindBlob 	column (Stmt sm) i =-		BS.packCString =<< c_sqlite3_column_text sm (fromIntegral i)-		-}+		BS.packCString =<< c_sqlite3_column_blob sm (fromIntegral i)  instance SQLiteData T.Text where 	bindN sm i = sqlite3BindByteString sm i . T.encodeUtf8@@ -141,7 +141,9 @@ 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_text" c_sqlite3_bind_text ::-	Ptr Stmt -> CInt -> CString -> Int -> Ptr a -> IO CInt+	Ptr Stmt -> CInt -> CString -> CInt -> Ptr a -> IO CInt+foreign import ccall unsafe "sqlite3.h sqlite3_bind_blob" c_sqlite3_bind_blob ::+	Ptr Stmt -> CInt -> CString -> CInt -> Ptr a -> IO CInt  bind :: SQLiteData a => Stmt -> String -> a -> IO () bind sm ph x = flip (bindN sm) x =<< sqlite3BindParameterIndex sm ph@@ -161,6 +163,12 @@ sqlite3BindByteString :: Stmt -> Int -> BS.ByteString -> IO () sqlite3BindByteString (Stmt sm) i s = BS.useAsCString s $ \cs -> do 	ret <- c_sqlite3_bind_text sm (fromIntegral i) cs (- 1) nullPtr+	when (ret /= sQLITE_OK) . ioError . userError $+		"Cannot bind text: error code (" ++ show ret ++ ")"++sqlite3BindBlob :: Stmt -> Int -> BS.ByteString -> IO ()+sqlite3BindBlob (Stmt sm) i s = BS.useAsCString s $ \cs -> do+	ret <- c_sqlite3_bind_blob sm (fromIntegral i) cs (- 1) nullPtr 	when (ret /= sQLITE_OK) . ioError . userError $ 		"Cannot bind text: error code (" ++ show ret ++ ")"