persistent-sqlite

Backend for the persistent library using sqlite3.

http://www.yesodweb.com/book/persistent

Version on this page:2.9.2
LTS Haskell 23.0:2.13.3.0
Stackage Nightly 2024-12-09:2.13.3.0
Latest on Hackage:2.13.3.0

See all snapshots persistent-sqlite appears in

MIT licensed and maintained by Michael Snoyman
This version can be pinned in stack with:persistent-sqlite-2.9.2@sha256:cb482dbb0668a6a6443d63c0f10ace3fc4b74c4ce1f2217c73ddaaf24f8330fe,3873

Module documentation for 2.9.2

This package includes a thin sqlite3 wrapper based on the direct-sqlite package, as well as the entire C library, so there are no system dependencies.

Changes

Changelog for persistent-sqlite

2.9.2

  • Add enableExtendedResultCodes and disableExtendedResultCodes functions

2.9.1

2.9.0

  • Added support for SQL isolation levels to via SqlBackend. [#812] SQLite technically only supports Serializable.
  • Update the vendored SQLite C library from 3.22.0 to 3.25.2. See the SQLite changelog for details.
  • Fix 832: repsertMany now matches mapM_ (uncurry repsert) and is atomic.

2.8.2

  • Add the extraPragmas setting

2.8.1.2

  • Add flag to enable full-text search extensions (enabled by default)
  • Add flag to enable URI filename support (enabled by default)
  • Add flag to enable using usleep (enabled by default)
    • Enabling usleep allows sqlite to use a finer granularity when sleeping (reduces time between locks)
  • Add flag to enable json1 extension (enabled by default)

2.8.1.1

2.8.1

  • Updated SqlBackend definition to set connPutManySql. #770

2.8.0

  • Switch from MonadBaseControl to MonadUnliftIO

2.6.4

  • Adds a new function stepConn, which uses an additional parameter to give more detailed error messages #750
  • Restores the previous function signature of step, which was accidentally changed in 2.6.3.2

2.6.3.2

  • This release accidentally broke API, and is deprecated on Hackage.
  • Provide more detailed error messages when using the step function #730

2.6.3.1

  • Fix migration to avoid creating foreign-key constraints in temporary tables #736

2.6.3

  • Add ‘use-pkgconfig’ flag to use pkg-config to find system SQLite library.

2.6.2.1

2.6.2

  • Turned on foreign key constraints #646
  • Added new SqliteConnectionInfo-based API

2.6.1

  • Added functions to monitor (status) and control (softHeapLimit) process-wide SQLite memory usage.

2.6.0.1

  • Ensure connection is closed if wrapConnectionWal fails

2.6

Compatibility for backend-specific upsert functionality. A lucky contributor could try to add upsert to the sqlite backend now. It would definitely be tricky though because sqlite does not really have this feature. http://stackoverflow.com/questions/418898/sqlite-upsert-not-insert-or-replace/4330694#4330694

2.5.0.2

2.5.0.1

2.5

  • changes for read/write typeclass split

2.2.2

  • Upgrade to SQLite 3.12.1 #551

2.2.1

  • Upgrade to SQLite 3.8.11.1 #444

2.2

Update to persistent 2.2

2.1.4.1

  • Add missing source files #382

2.1.4

  • Add log support to persistent-sqlite #381

2.1.3

  • Added a Show instance for SqliteConf.
  • Use SqliteException instead of calling fail #364

2.1.2

  • Turn on write-ahead log #363
    • Prepending WAL=off to your connection string will recover the previous behavior.

2.1.1.1

Fix rendering of UTCTime to match SQLite requirements (see issue #328).

2.1.1

Provide a FromJSON instance for SqliteConf.