persistent-sqlite 2.9.1 → 2.9.2
raw patch · 3 files changed
+33/−4 lines, 3 files
Files
- ChangeLog.md +4/−0
- Database/Sqlite.hs +28/−3
- persistent-sqlite.cabal +1/−1
ChangeLog.md view
@@ -1,5 +1,9 @@ # Changelog for persistent-sqlite +## 2.9.2++* Add enableExtendedResultCodes and disableExtendedResultCodes functions+ ## 2.9.1 * Bump vendored SQLite library to [3.26.0](https://www.sqlite.org/releaselog/3_26_0.html) to address [RCE bug: `magellan`](https://blade.tencent.com/magellan/index_en.html).
Database/Sqlite.hs view
@@ -33,10 +33,10 @@ -- fetch the rows from the table: -- -- > {-#LANGUAGE OverloadedStrings#-}- -- > + -- > -- > import Database.Sqlite -- > import Data.Text- -- > + -- > -- > main :: IO () -- > main = do -- > conn <- open "/home/sibi/test.db"@@ -73,7 +73,9 @@ freeLogFunction, config, status,- softHeapLimit+ softHeapLimit,+ enableExtendedResultCodes,+ disableExtendedResultCodes ) where @@ -229,6 +231,7 @@ foreign import ccall "sqlite3_open_v2" openC :: CString -> Ptr (Ptr ()) -> Int -> CString -> IO Int+ openError :: Text -> IO (Either Connection Error) openError path' = do let flag = sqliteFlagReadWrite .|. sqliteFlagCreate .|. sqliteFlagUri@@ -265,6 +268,28 @@ case error of ErrorOK -> return () _ -> sqlError (Just database) "close" error++foreign import ccall "sqlite3_extended_result_codes"+ sqlite3_extended_result_codesC :: Ptr () -> Int -> IO Int+++-- @since 2.9.2+enableExtendedResultCodes :: Connection -> IO ()+enableExtendedResultCodes con@(Connection _ (Connection' database)) = do+ error <- sqlite3_extended_result_codesC database 1+ let err = decodeError error+ case err of+ ErrorOK -> return ()+ _ -> sqlError (Just con) "enableExtendedResultCodes" err++-- @since 2.9.2+disableExtendedResultCodes :: Connection -> IO ()+disableExtendedResultCodes con@(Connection _ (Connection' database)) = do+ error <- sqlite3_extended_result_codesC database 0+ let err = decodeError error+ case err of+ ErrorOK -> return ()+ _ -> sqlError (Just con) "disableExtendedResultCodes" err foreign import ccall "sqlite3_prepare_v2" prepareC :: Ptr () -> CString -> Int -> Ptr (Ptr ()) -> Ptr (Ptr ()) -> IO Int
persistent-sqlite.cabal view
@@ -1,5 +1,5 @@ name: persistent-sqlite-version: 2.9.1+version: 2.9.2 license: MIT license-file: LICENSE author: Michael Snoyman <michael@snoyman.com>