Skip to content

Commit bd2be12

Browse files
committed
feat(sqlite): import release 3.51.0
SQLite Release 3.51.0 On 2025-11-04 1. New macros in sqlite3.h: a. SQLITE_SCM_BRANCH → the name of the branch from which the source code is taken. b. SQLITE_SCM_TAGS → space-separated list of tags on the source code check-in. c. SQLITE_SCM_DATETIME → ISO-8601 date and time of the source code check-in. 2. 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'. 3. 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. 4. Enhancements to TCL Interface: a. Add the -asdict flag to the eval command to have it set the row data as a dict instead of an array. b. User-defined functions may now break to return an SQL NULL. 5. CLI enhancements: a. Increase the precision of ".timer" to microseconds. b. Enhance the "box" and "column" formatting modes to deal with double-wide characters. c. The ".imposter" command provides read-only imposter tables that work with VACUUM and do not require the --unsafe-testing option. d. Add the --ifexists option to the CLI command-line option and to the .open command. e. 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. 6. Performance enhancements: a. Use fewer CPU cycles to commit a read transaction. b. Early detection of joins that return no rows due to one or more of the tables containing no rows. c. Avoid evaluation of scalar subqueries if the result of the subquery does not change the result of the overall expression. d. Faster window function queries when using "BETWEEN :x FOLLOWING AND :y FOLLOWING" with a large :y. 7. Add the PRAGMA wal_checkpoint=NOOP; command and the SQLITE_CHECKPOINT_NOOP argument for sqlite3_wal_checkpoint_v2(). 8. Add the sqlite3_set_errmsg() API for use by extensions. 9. Add the sqlite3_db_status64() API, which works just like the existing sqlite3_db_status() API except that it returns 64-bit results. 10. Add the SQLITE_DBSTATUS_TEMPBUF_SPILL option to the sqlite3_db_status() and sqlite3_db_status64() interfaces. 11. In the session extension add the sqlite3changeset_apply_v3() interface. 12. 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'. 13. Improved error messages generated by FTS5. 14. Enforce STRICT typing on computed columns. 15. Improved support for VxWorks 16. 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". 17. Improved resistance to database corruption caused by an application breaking Posix advisory locks using close().
1 parent de5c6b1 commit bd2be12

File tree

6 files changed

+5793
-2715
lines changed

6 files changed

+5793
-2715
lines changed

source/CHANGELOG.md

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,39 @@
11
# Changelog
22

3+
## SQLite Release 3.51.0 On 2025-11-04
4+
5+
1. New macros in sqlite3.h:
6+
1. SQLITE_SCM_BRANCH → the name of the branch from which the source code is taken.
7+
2. SQLITE_SCM_TAGS → space-separated list of tags on the source code check-in.
8+
3. SQLITE_SCM_DATETIME → ISO-8601 date and time of the source code check-in.
9+
2. 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'.
10+
3. 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.
11+
4. Enhancements to TCL Interface:
12+
1. Add the -asdict flag to the eval command to have it set the row data as a dict instead of an array.
13+
2. User-defined functions may now break to return an SQL NULL.
14+
5. CLI enhancements:
15+
1. Increase the precision of ".timer" to microseconds.
16+
2. Enhance the "box" and "column" formatting modes to deal with double-wide characters.
17+
3. The ".imposter" command provides read-only imposter tables that work with VACUUM and do not require the --unsafe-testing option.
18+
4. Add the --ifexists option to the CLI command-line option and to the .open command.
19+
5. 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.
20+
6. Performance enhancements:
21+
1. Use fewer CPU cycles to commit a read transaction.
22+
2. Early detection of joins that return no rows due to one or more of the tables containing no rows.
23+
3. Avoid evaluation of scalar subqueries if the result of the subquery does not change the result of the overall expression.
24+
4. Faster window function queries when using "BETWEEN :x FOLLOWING AND :y FOLLOWING" with a large :y.
25+
7. Add the PRAGMA wal_checkpoint=NOOP; command and the SQLITE_CHECKPOINT_NOOP argument for sqlite3_wal_checkpoint_v2().
26+
8. Add the sqlite3_set_errmsg() API for use by extensions.
27+
9. Add the sqlite3_db_status64() API, which works just like the existing sqlite3_db_status() API except that it returns 64-bit results.
28+
10. Add the SQLITE_DBSTATUS_TEMPBUF_SPILL option to the sqlite3_db_status() and sqlite3_db_status64() interfaces.
29+
11. In the session extension add the sqlite3changeset_apply_v3() interface.
30+
12. 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'.
31+
13. Improved error messages generated by FTS5.
32+
14. Enforce STRICT typing on computed columns.
33+
15. Improved support for VxWorks
34+
16. 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".
35+
17. Improved resistance to database corruption caused by an application breaking Posix advisory locks using close().
36+
337
## SQLite Release 3.50.4 On 2025-07-30
438

539
1. Fix two long-standings cases of the use of uninitialized variables in obscure circumstances.

source/README.md

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,14 @@
1-
Download: https://sqlite.org/2025/sqlite-amalgamation-3500400.zip
1+
Download: https://sqlite.org/2025/sqlite-amalgamation-3510000.zip
22

33
```
4-
Archive: sqlite-amalgamation-3500400.zip
4+
Archive: sqlite-amalgamation-3510000.zip
55
Length Method Size Cmpr Date Time CRC-32 Name
66
-------- ------ ------- ---- ---------- ----- -------- ----
7-
0 Stored 0 0% 2025-07-30 21:45 00000000 sqlite-amalgamation-3500400/
8-
9282866 Defl:N 2393950 74% 2025-07-30 21:45 054fd04e sqlite-amalgamation-3500400/sqlite3.c
9-
1066685 Defl:N 273051 74% 2025-07-30 21:45 42b0b5f6 sqlite-amalgamation-3500400/shell.c
10-
661968 Defl:N 171059 74% 2025-07-30 21:45 8f16f2ad sqlite-amalgamation-3500400/sqlite3.h
11-
38321 Defl:N 6640 83% 2025-07-30 21:45 50ad28b2 sqlite-amalgamation-3500400/sqlite3ext.h
7+
0 Stored 0 0% 2025-11-05 13:18 00000000 sqlite-amalgamation-3510000/
8+
671792 Defl:N 173360 74% 2025-11-05 13:18 7ef2f3d7 sqlite-amalgamation-3510000/sqlite3.h
9+
9385376 Defl:N 2420184 74% 2025-11-05 13:18 768e2eeb sqlite-amalgamation-3510000/sqlite3.c
10+
38632 Defl:N 6686 83% 2025-11-05 13:18 c809e7ee sqlite-amalgamation-3510000/sqlite3ext.h
11+
1068027 Defl:N 273500 74% 2025-11-05 13:18 c0c2557f sqlite-amalgamation-3510000/shell.c
1212
-------- ------- --- -------
13-
11049840 2844700 74% 5 files
13+
11163827 2873730 74% 5 files
1414
```

0 commit comments

Comments
 (0)