- added:
set_update_hook. - fixed: sqlite extension alignment problem by utilizing
size_t. - changed: Drop support for Elixir
1.12. - changed: Drop support for OTP 23.
- changed: Updated sqlite3 to
3.43.2.
- changed: Updated sqlite3 to
3.43.1.
- fixed: OTP26 and Elixir 1.15 compilation issues.
- fixed: Check for
null sqlite db connection.
- changed: Updated sqlite3 to
3.42.0.
- fixed: Wrap include directory with string so it works with the compiler.
- added: Ability to specify
:load_extensions for custom sqlite extensions. - changed: Updated sqlite3 to
3.41.2.
- fixed: Do not free mutex if it is not set.
- fixed: Handle SEGFAULT when trying to open a database that the application does not have permissions to open.
- added: precompilation support for musl based libc.
- changed: Updated sqlite to
3.41.1.
- fixed: Error responses from sqlite NIF come back as an atom, the
message field in Exqlite.Error is expected to be a string.
- changed: Allow
:force_build to be specified in application configration to allow projects to force build the application rather than use precompiled binaries.
- changed: Updated sqlite3 to
3.41.0.
- added: precompilation support.
- fixed:
-O2 flag was not being set when compiling binaries in non windows environment.
- added:
SQLITE_ENABLE_DBSTAT_VTAB=1. - changed: Allow
EXQLITE_SYSTEM_CFLAGS to be appended to the CFLAGS regardless.
- removed: Remove support for Elixir 1.11
- added: Support for custom pragmas to be set.
- changed: Updated sqlite3 to 3.40.1
- changed: Use
multi_step for Repo.stream calls. - added: Ability to use URI for a database path. See sqlite docs. Example:
file:/tmp/database.db?mode=ro.
- fixed:
step/2 typespec was specified incorrectly.
- changed: Updated sqlite3 to 3.40.0
- fixed: Segfault issue when database connections would time out.
- changed: Updated sqlite3 to 3.39.4
- changed: Updated sqlite3 to 3.39.3
- changed: Use
sqlite3_open_v2. - changed: Expose
:mode. - changed: Removed old macro hack for erlang nifs.
- changed: Updated sqlite3 to 3.39.2
- changed: Updated sqlite3 to 3.38.5
- added: top level interface for
Exqlite similar to Postgrex's interface. - added: optional table protocol support for results.
- fixed: Improved
fetch_all/4 call speed.
- changed: Updated sqlite3 to 3.38.
- revert: change made to Visual Studio 2022 vcvars64.bat
- fix: path to Visual Studio 2022 vcvars64.bat
- added: Custom memory allocator for sqlite to leverage erlang's
enif_alloc functionality. This allows the memory usage to be tracked with the erlang vm usage stats.
- fixed:
SIGSEGV issue when a long running query is timed out.
- added: Ability to set
:journal_size_limit in bytes. - added: Ability to set
:soft_heap_limit in bytes. - added: Ability to set
:hard_heap_limit in bytes.
- added: Documentation about compiling with system install sqlite3.
- fixed: Debug output during
mix compile process.
- added: Allow setting
:key option PRAGMA before all other pragmas to allow for use of encrypted sqlite databases.
- added: Ability to compile exqlite using the system sqlite3 installation as opposed to building from source.
- changed: Compile SQLite3 with
-DHAVE_USLEEP=1 to allow for more performant concurrent use.
- fixed: Improved typespecs.
- changed: Compilation output to be less verbose. If more verbosity is desired
V=1 mix compile will remedy that. - changed: When the path to the database does not exist,
mkdir_p is invoked.
- fixed: unicode handling when preparing sql statements.
- fixed: unicode handling when executing sql statements.
- changed: Debug build opt in, instead of opt out.
export DEBUG=yes before compilation and it will add a -g to the compilation process.
- added: support for static erlang compilation.
- added: support for android compilation.
- fixed: segfault on double closing an sqlite connection.
- added:
Exqlite.Basic for a simplified interface to utilizing sqlite3. - added: ability to load sqlite extension.
- changed: Updated SQLite from 3.35.5 to 3.36.0
- fixed: perceived memory leak for prepared statements not being cleaned up in a timely manner. This would be an issue for systems under a heavy load.
- changed: Handle only UTC datetime and convert them to iso form without offset.
- fixed: compilation issue on windows.
- changed: add the relevant sql statement to the Error exception message
- changed: update SQLite3 amalgamation to 3.35.5
- fixed: issue with update returning nil rows for empty returning result.
- fixed:
maybe_set_pragma was comparing upper case and lower case values when it should not matter.
- changed: Setting the pragma for
Exqlite.Connection is now a two step process to check what the value is and then set it to the desired value if it is not already the desired value.
- added:
Exqlite.Error now has the statement that failed that the error occurred on.
- changed: Update SQLite3 amalgamation to 3.35.4
- fixed: SQLite3 amalgamation in 0.5.5 being incorrectly downgraded to 3.34.1. Amalgamation is now correctly 3.35.3.
- changed: Update SQLite3 amalgamation to version 3.35.3
- fixed: incorrect passing of
chunk_size to fetch_all/4
- fixed:
:invalid_chunk_size being emitted by the DBConnection.execute
- added: Guide for Windows users.
- added:
Exqlite.Sqlite3.multi_step/3 to step through results chunks at a time. - added:
default_chunk_size configuration.
- removed:
Ecto.Adapters.Exqlite. Replaced with Ecto Sqlite3 library.