If you want to use a customized version of SQLite3 with better-sqlite3
, you can do so by specifying the directory of your custom amalgamation during installation.
npm install --sqlite3=/my/path/to/sqlite-amalgamation
Your amalgamation directory should contain sqlite3.c
, sqlite3.h
, and sqlite3ext.h
. Any desired compile time options must be defined directly within sqlite3.c
.
The bundled distribution (used by default) currently uses SQLite3 version 3.25.2 with the following compilation options.
- SQLITE_THREADSAFE=0
- SQLITE_DEFAULT_MEMSTATUS=0
- SQLITE_LIKE_DOESNT_MATCH_BLOBS
- SQLITE_OMIT_DEPRECATED
- SQLITE_OMIT_TRACE
- SQLITE_OMIT_COMPLETE
- SQLITE_OMIT_GET_TABLE
- SQLITE_OMIT_DESERIALIZE
- SQLITE_OMIT_TCL_VARIABLE
- SQLITE_OMIT_AUTHORIZATION
- SQLITE_OMIT_PROGRESS_CALLBACK
- SQLITE_DEFAULT_CACHE_SIZE=-16000
- SQLITE_DEFAULT_FOREIGN_KEYS=1
- SQLITE_DEFAULT_WAL_SYNCHRONOUS=1
- SQLITE_MAX_ATTACHED=125
- SQLITE_MAX_LENGTH=2147483647
- SQLITE_MAX_SQL_LENGTH=1073741824
- SQLITE_USE_URI=1
- SQLITE_ENABLE_COLUMN_METADATA
- SQLITE_ENABLE_UPDATE_DELETE_LIMIT
- SQLITE_ENABLE_STAT4
- SQLITE_ENABLE_FTS3_PARENTHESIS
- SQLITE_ENABLE_FTS3
- SQLITE_ENABLE_FTS4
- SQLITE_ENABLE_FTS5
- SQLITE_ENABLE_JSON1
- SQLITE_ENABLE_RTREE
- SQLITE_INTROSPECTION_PRAGMAS
- SQLITE_SOUNDEX