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.
Changelog for persistent-sqlite
- Foreign keys table constraints are correctly generated #945 @kderme
- Fix bug with 2.10.3 and 2.10.2 that caused the
RawSqliteloop. #934 @merijn
- Unique constraints are correctly generated. #922 @kderme
- Add a new
withRawSqliteConnInfofunction that allow access to the underlying Sqlite
- Expose the internals of
Connectionin an Internal module, allowing the user to call SQLite functions via the C FFI. #772
- Add a flag for SQLITE_STAT4 and enable it by default, allowing for better query optimisation when using ANALYZE. This breaks the query planner stability guarantee, but the required flag for that isn’t enabled or exposed by persistent. Only affects the vendored SQLite library, has no effect when using system SQLite.
- Add support for migrating entities with composite primary keys. Fixes #669
- Fix a bug when using the
Filterdatatype directly. See #915 for more details.
- Add support for reading text values with null characters from the database. Fixes #921
- Updated for
- Add retry-on-busy support, automatically retrying when sqlite returns a busy
error on enabling WAL mode, and providing helper
- Add enableExtendedResultCodes and disableExtendedResultCodes functions
- 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:
mapM_ (uncurry repsert)and is atomic.
- Add the
- 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)
- Update the vendored SQLite C library from 3.19.3 to 3.22.0. See the SQLite changelog for details.
SqlBackenddefinition to set
- Switch from
- 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 22.214.171.124
- This release accidentally broke API, and is deprecated on Hackage.
- Provide more detailed error messages when using the
- Fix migration to avoid creating foreign-key constraints in temporary tables #736
- Add ‘use-pkgconfig’ flag to use pkg-config to find system SQLite library.
- Update the vendored SQLite C library from 3.12.1 to 3.19.3. See the SQLite changelog for details.
- Turned on foreign key constraints #646
- Added new
- Added functions to monitor (status) and control (softHeapLimit) process-wide SQLite memory usage.
- Ensure connection is closed if wrapConnectionWal fails
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
- changes for read/write typeclass split
- Upgrade to SQLite 3.12.1 #551
- Upgrade to SQLite 126.96.36.199 #444
Update to persistent 2.2
- Add missing source files #382
- Add log support to persistent-sqlite #381
- Added a
SqliteExceptioninstead of calling
- Turn on write-ahead log #363
WAL=offto your connection string will recover the previous behavior.
Fix rendering of
UTCTime to match SQLite requirements (see issue
FromJSON instance for