./databases/sqlite3, SQL Database Engine in a C Library

[ CVSweb ] [ Homepage ] [ RSS ] [ Required by ] [ Add to tracker ]


Branch: CURRENT, Version: 3.51.3, Package name: sqlite3-3.51.3, Maintainer: pkgsrc-users

SQLite is a C library that implements an SQL database engine. Programs
that link with the SQLite library can have SQL database access without
running a separate RDBMS process. The distribution comes with a standalone
command-line access program (sqlite) that can be used to administer an
SQLite database and which serves as an example of how to use the SQLite
library.

SQLite is not a client library used to connect to a big database server.
SQLite is the server. The SQLite library reads and writes directly to and
from the database files on disk.

This is sqlite3, the current stable version.


Master sites:

Filesize: 3133.659 KB

Version history: (Expand)


CVS history: (Expand)


   2026-03-15 10:36:08 by Adam Ciarcinski | Files touched by this commit (7) | Package updated
Log message: sqlite3: updated/downgraded to 3.51.3 SQLite version 3.52.0 has been withdrawn because some of the new features found in 3.52.0 are not 100% compatible with prior releases. Those new features and their associated APIs need to be reworked before 3.52 is made available. In place of 3.52.0, patch release 3.51.3 is now available. Patch release 3.51.3 fixes the WAL-reset bug as well as other minor problems that have come to light since the 3.51.2 release. 3.51.3 (2026-03-13): Fix the WAL-reset database corruption bug. Other minor bug fixes. 
   2026-03-11 11:56:03 by Adam Ciarcinski | Files touched by this commit (6) | Package updated
Log message: sqlite3: updated to 3.52.0 3.52.0 Fix the WAL-reset database corruption bug. Enhance ALTER TABLE to permit adding and removing NOT NULL and CHECK constraints. Add the Query Result Formatter (QRF) library for formatting the results of SQL \ queries for human readability on a fixed-pitch font screen. Add the format method to the TCL Interface so that QRF is accessible from TCL. QRF is used for result formatting in the CLI, resulting in improved display \ capabilities. New built-in SQL functions: json_array_insert(), and jsonb_array_insert(). Renovations to the CLI: Major enhancements to the .mode command. Improved result formatting, due to the addition of the QRF extension. For \ example, numeric values are now right-justified by default in tabular output \ modes. The default output mode for interactive CLI sessions now uses QRF to display \ query results in boxes formed using Unicode box-drawing characters, for improved \ legibility. Batch CLI sessions use the legacy output format for compatibility. Bare (unquoted) semicolons at the end of dot-commands are silently ignored. \  ← Potential incompatibility! Fix the .testcase and .check commands so that they actually work, and use those \ commands in scripts that part of the standard SQLite test suite included with \ the source tree. Command-line arguments that match *.sql or *.txt and are the names of non-empty \ files are read and interpreted as scripts of SQL statements and/or dot-commands. The argument to the ".timer" command can now be "once", to \ run the timer on only the next SQL statement. The new "--timeout S" option to the ".progress" dot-command \ causes SQL statements to interrupt after S seconds. New C-language interfaces: sqlite3_str_truncate() sqlite3_str_free() sqlite3_carray_bind_v2() Add the SQLITE_PREPARE_FROM_DDL option to sqlite3_prepare_v3() which permits \ virtual table implementations to safely prepare SQL statements that are derived \ from the database schema. Added the SQLITE_UTF8_ZT constant which can be used as the encoding parameter to \ sqlite3_result_text64() or sqlite3_bind_text64() to indicate that the value is \ UTF-8 encoded and zero terminated. The SQLITE_LIMIT_PARSER_DEPTH option is added to sqlite3_limit(). The SQLITE_DBCONFIG_FP_DIGITS option is added to sqlite3_db_config(). See also \ item 8b below. Query planner improvements: Always use a sort-and-merge algorithm for EXCEPT, INTERSECT, and UNION, since \ this is almost always faster than using a hash table. Improvements to join order selection in large multi-way joins on a star schema. Enhance the EXISTS-to-JOIN optimization so that the inserted JOIN terms are not \ required to be on the inner-most loops, as long as all dependencies for the \ EXISTS-to-JOIN loops are in outer loops. Enhance the omit-noop-join optimization so that it is able to omit a chain of \ joins that do not affect the output. Allow queries that use "GROUP BY e1 ORDER BY e2" where e1 and e2 are \ identical apart from ASC/DESC sort-orders to be optimized using a single index. Allow virtual tables to optimize DISTINCT in cases where the result-set of a \ query does not exactly match the ORDER BY clause. Improvements to floating-point ↔ text conversions. Reimplemented to improve performance. Rounding is now done by default to 17 significant digits, instead of 15, as was \ the case for all prior versions. The \ sqlite3_db_config(SQLITE_DBCONFIG_FP_DIGITS) API (item 6g above) can change \ this, if desired. The body of TEMP triggers may now modify and/or query tables in the main schema. Enhance VACUUM INTO so that if a URI filename is used as the target and that \ filename has a reserve=N query parameter with N between 0 and 255, then the \ reserve amount for the generated database copy is set to N. Add the "-p|--port" option to sqlite3_rsync. Discontinue support for Windows RT. 
   2026-02-10 09:05:50 by Thomas Klausner | Files touched by this commit (1)
Log message: sqlite3: switch to https Remove master site that just redirects 
   2026-01-10 18:04:27 by Adam Ciarcinski | Files touched by this commit (8) | Package updated
Log message: sqlite3: updated to 3.51.2 3.51.2 (2026-01-09): Fix an obscure deadlock in the new broken-posix-lock detection logic in item 17 \ above. Fix multiple problems in the EXISTS-to-JOIN optimization that was added as part \ of optimization item 6b above. Other minor bug fixes. 
   2026-01-07 09:49:50 by Thomas Klausner | Files touched by this commit (2525)
Log message: *: recursive bump for icu 78.1 
   2025-11-29 15:19:05 by Adam Ciarcinski | Files touched by this commit (7) | Package updated
Log message: sqlite3: updated to 3.51.1 3.51.1 (2025-11-28): Fix incorrect results from nested EXISTS queries caused by the optimization in \ item 6b in the 3.51.0 release. Fix a latent bug in fts5vocab virtual table, exposed by new optimizations in the \ 3.51.0 release. 
   2025-11-06 17:11:08 by Adam Ciarcinski | Files touched by this commit (7) | Package updated
Log message: sqlite3: updated to 3.51.0 SQLite Release 3.51.0 On 2025-11-04 New macros in sqlite3.h: SQLITE_SCM_BRANCH → the name of the branch from which the source code is taken. SQLITE_SCM_TAGS → space-separated list of tags on the source code check-in. SQLITE_SCM_DATETIME → ISO-8601 date and time of the source code check-in. Two new JSON functions, jsonb_each() and jsonb_tree() work the same as the \ existing json_each() and json_tree() functions except that they return JSONB for \ the "value" column when the "type" is 'array' or 'object'. The carray and percentile extensions are now built into the amalgamation, though \ they are disabled by default and must be activated at compile-time using the \ -DSQLITE_ENABLE_CARRAY and/or -DSQLITE_ENABLE_PERCENTILE options, respectively. Enhancements to TCL Interface: Add the -asdict flag to the eval command to have it set the row data as a dict \ instead of an array. User-defined functions may now break to return an SQL NULL. CLI enhancements: Increase the precision of ".timer" to microseconds. Enhance the "box" and "column" formatting modes to deal with \ double-wide characters. The ".imposter" command provides read-only imposter tables that work \ with VACUUM and do not require the --unsafe-testing option. Add the --ifexists option to the CLI command-line option and to the .open command. Limit columns widths set by the ".width" command to 30,000 or less, as \ there is not good reason to have wider columns, but supporting wider columns \ provides opportunity to malefactors. Performance enhancements: Use fewer CPU cycles to commit a read transaction. Early detection of joins that return no rows due to one or more of the tables \ containing no rows. Avoid evaluation of scalar subqueries if the result of the subquery does not \ change the result of the overall expression. Faster window function queries when using "BETWEEN :x FOLLOWING AND :y \ FOLLOWING" with a large :y. Add the PRAGMA wal_checkpoint=NOOP; command and the SQLITE_CHECKPOINT_NOOP \ argument for sqlite3_wal_checkpoint_v2(). Add the sqlite3_set_errmsg() API for use by extensions. Add the sqlite3_db_status64() API, which works just like the existing \ sqlite3_db_status() API except that it returns 64-bit results. Add the SQLITE_DBSTATUS_TEMPBUF_SPILL option to the sqlite3_db_status() and \ sqlite3_db_status64() interfaces. In the session extension add the sqlite3changeset_apply_v3() interface. For the built-in printf() and the format() SQL function, omit the leading '-' \ from negative floating point numbers if the '+' flag is omitted and the \ "#" flag is present and all displayed digits are '0'. Use '%#f' or \ similar to avoid outputs like '-0.00' and instead show just '0.00'. Improved error messages generated by FTS5. Enforce STRICT typing on computed columns. Improved support for VxWorks JavaScript/WASM now supports 64-bit WASM. The canonical builds continue to be \ 32-bit but creating one's own 64-bit build is now as simple as running \ "make". Improved resistance to database corruption caused by an application breaking \ Posix advisory locks using close(). 
   2025-08-02 11:29:23 by Adam Ciarcinski | Files touched by this commit (6) | Package updated
Log message: sqlite3: updated to 3.50.4 3.50.4 (2025-07-30): Fix two long-standings cases of the use of uninitialized variables in obscure \ circumstances.