SQLite

Timeline
Login

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

187 check-ins going from 4f512a39afe14cb4 to 0e69b2c379e61893

2023-01-05
13:55
Remove the unused sqlite3IsMemdb() routine, to avoid a harmless compiler warning. (check-in: 4f512a39af user: drh tags: branch-3.40)
13:41
Fix a problem with applying integer affinity to a MEM_IntReal value. Forum post d270125fae. (check-in: d28d9398a5 user: drh tags: branch-3.40)
01:32
Increase the version number to 3.40.2. (check-in: 43375ef8a7 user: drh tags: branch-3.40)
01:29
In the zipfile extension (which is not part of the SQLite amalgamation, but which is included in the CLI by default) ensure that fopen() is not invoked using a NULL filename. Fix for the issue reported by forum post d1c96a9032e564f8. (check-in: e4de577757 user: drh tags: branch-3.40)
2022-12-28
14:03
Version 3.40.1 (check-in: df5c253c0b user: drh tags: release, version-3.40.1, branch-3.40)
2022-12-27
14:14
Fix a broken assert() in fts5. (check-in: ff1d456161 user: dan tags: branch-3.40)
14:12
Fix a faulty assert() in fts5. (check-in: 4acff807c6 user: dan tags: branch-3.40)
14:11
Fix an assert() in fts5. Simplify memdb xLock/xUnlock some. (check-in: 43079c5246 user: dan tags: branch-3.40)
14:06
Fix a missing 0 at the end of an integer literal in the MEMSYS5 fix. (check-in: e3bc10e8a8 user: drh tags: branch-3.40)
11:53
Fix minor problems in test scripts where.test and recover1.test. (check-in: 64588bd5da user: dan tags: branch-3.40)
2022-12-26
17:09
Fix an unsafe use of sqlite3_mprintf() in sqlite3_overload_function() identified by forum post: https://sqlite.org/forum/forumpost/95b338860d. (check-in: a315222619 user: drh tags: branch-3.40)
17:02
Prevent the sessions rebaser from generating changesets containing UPDATE records for which non-PK fields are present in the old.* but not the new.* record. Also update the changeset iterator to work around such changesets. (check-in: 629dbe2543 user: drh tags: branch-3.40)
16:54
In the unix backend, when implementing the defenses against small file descriptors, delete a file just created if it was opened with O_EXCL|O_CREAT so that it can be created again the next time through the loop. Fix for the problem described by forum post 699af709ab3a8ccf. (check-in: 174acf3284 user: drh tags: branch-3.40)
16:45
Fix an over-zealous assert() reported by Yong Heng. (check-in: 1e9dbb5a1b user: drh tags: branch-3.40)
16:24
Ensure the RETURNING clause is honoured when a row of a temp table is updated by an ON CONFLICT clause. (check-in: ac9568cf87 user: drh tags: branch-3.40)
16:12
Add the SQLITE_FCNTL_RESET_CACHE verb. Use it to ensure that the page cache is purged before and after a the recovery extension is run. (check-in: 71dd920f92 user: drh tags: branch-3.40)
16:03
Fix corner cases in UTF8 handling in the REGEXP extension. Forum post 3ffe058b04. (check-in: 93e68b3983 user: drh tags: branch-3.40)
15:55
Fix a off-by-one error in code generation that comes up when doing a DISTINCT query against a virtual table with an OR term in the WHERE clause and where the ORDER BY clause has 64 or more references to the result set. Forum post dfe8084751. The error is harmless in production builds, but might cause an assertion fault in a debugging build. (check-in: cbcd7d9be5 user: drh tags: branch-3.40)
15:44
Fix safe mode authorizer callback to reject disallowed UDFs. Reported at Forum post 07beac8056151b2f. (check-in: 70964b8a1c user: drh tags: branch-3.40)
15:21
Fix an infinite loop in the MEMSYS5 auxiliary memory allocator that occurs for memory allocations between 500MiB and 1GiB in size. Error introduced by check-in [949133231f8f751a]. The problem only affects builds that include the SQLITE_ENABLE_MEMSYS5 compile-time option. (check-in: c10d40ca68 user: drh tags: branch-3.40)
13:00
Add JS infrastructure which enables sqlite3.capi.sqlite3_close_v2() to clean up stale JS-to-WASM collation function conversions installed on behalf of a given db handle. The same for UDF mappings is TODO. (check-in: 0e69b2c379 user: stephan tags: trunk)
11:13
Reimplement sqlite3.capi.sqlite3_close_v2() and sqlite3session_delete() as a hand-written bindings so that they can attempt to clean up certain (potentially) FuncPtrAdapter-installed functions before closing. Correct the create-function family of JS-to-function-pointer automated conversions to include the UDF's arity as part of the mapping's key so that (un)binding a UDF to different functions for different arities works (and add tests confirming it). Correct a broken doc link in module-symbols.html. (check-in: 60b262ef0f user: stephan tags: trunk)
01:44
Grammar fixup in comment re SQLITE_TRACE_PROFILE trace event. (check-in: b6dc80cbf6 user: larrybr tags: trunk)
2022-12-25
23:54
module-symbols.html: add some missing links to C-side API docs for recently-added JS counterparts. (check-in: 7d4f4e96f3 user: stephan tags: trunk)
23:45
Update JS worker #1 API and related tests for recent API changes. (check-in: d797e183e9 user: stephan tags: trunk)
22:55
Rename the new wasm.irSizeof() to sizeofIR() because that seems clearer. (check-in: 49a83ca3ba user: stephan tags: trunk)
22:49
Minor internal API doc correction and extend a test for oo1.DB.selectValues(). (check-in: b7295b1ca7 user: stephan tags: trunk)
22:44
Add sqlite3.oo1.DB.selectValues(). Correct a logic error which could cause DB.selectValue(), DB.selectArray(), and DB.selectObject() to fail to finalize a statement if a call to bind() failed. Add more session API tests. (check-in: 6adc8a1014 user: stephan tags: trunk)
20:25
Merge wasm-session-api branch into trunk, adding the session API to the JS/WASM components. (check-in: dfb8b651fa user: stephan tags: trunk)
20:22
Add basic session API JS tests. (Closed-Leaf check-in: 64e032602c user: stephan tags: wasm-session-api)
20:05
Add sqlite3.wasm.irSizeof() and extend certain allocation functions to make use of it. (check-in: 1cbc7b1875 user: stephan tags: wasm-session-api)
16:20
Remove duplicated JS binding of sqlite3changeset_apply_v2(). (check-in: 2e8336b6e1 user: stephan tags: wasm-session-api)
15:28
Add the address of the associated db handle to the sqlite3_trace_v2() output originating from sqlite3.oo1.DB's trace flag. (check-in: 0a36568c5a user: stephan tags: wasm-session-api)
15:14
Update the session-related JS bindings to account for today's internal API changes. (check-in: be63944d41 user: stephan tags: wasm-session-api)
14:13
Merge trunk into wasm-session-api branch. (check-in: 7f8f1acd82 user: stephan tags: wasm-session-api)
2022-12-23
21:23
Merge trunk into wasm-session-api branch. (check-in: 6cdb036d8e user: stephan tags: wasm-session-api)
19:33
Merge trunk into wasm-session-api branch. (check-in: f1decc831f user: stephan tags: wasm-session-api)
18:14
Internal cleanups and minor speed optimizations in the sqlite3.wasm.xWrap() infrastructure. (check-in: c4dab53b8e user: stephan tags: wasm-session-api)
14:11
Add sqlite3.capi JS bindings for the sqlite3session_...(), sqlite3changeset_...() and sqlite3changegroup_...() APIs, noting that they are completely untested. Aside from missing tests, these bindings reveal a slight string-argument-type shortcoming in the callback function pointer "reverse binding" which should ideally be resolved before publishing them. (check-in: 0a39172ee1 user: stephan tags: wasm-session-api)
11:46
Initial pieces for binding the session API to JS. Far from complete. See forum post 210e36a1e3 for the discussion. (check-in: cd8c100808 user: stephan tags: wasm-session-api)
11:32
Squelch a new (and, in this case, harmless) compiler warning. (check-in: a02e19dd6c user: stephan tags: trunk)
2022-12-22
21:32
Asserts added to ensure that the iCompare variable in the bytecode engine is correctly initialized before it is used. (check-in: 7b5900a111 user: drh tags: trunk)
19:12
Avoid having to reinitialize Vdbe.pResultRow upon each call to sqlite3_step() for a small size reduction and performance increase. (check-in: 6a00d67f59 user: drh tags: trunk)
18:44
Rename the Vdbe.pResultSet field to pResultRow in order to better distinguish it from other variables with similar names. (check-in: 1fd6211ef7 user: drh tags: trunk)
18:35
Small performance optimization associated with shared cache in the byte-code engine. (check-in: 3181331c1c user: drh tags: trunk)
17:36
Small performance optimization on the OP_Insert opcode. (check-in: 781fdcb9ce user: drh tags: trunk)
10:53
sessionfuzz.c: use lt/gt brackets instead of double-quotes when #including zlib.h, as reported in forum post 91a104bd65. (check-in: 7d7780c350 user: stephan tags: trunk)
2022-12-21
19:11
More efficient implementation of large precisions on the "%c" format for the built-in printf(). This is an effort to avoid a reported timeout on a (ridiculous) query generated by OSSFuzz. (check-in: 371f9b8838 user: drh tags: trunk)
14:13
Ensure that the expression of a virtual column really is an expression and not just a reference to another column, as a real expression is necessary for the indexed expression coverage optimization to work properly. Forum thread 07b36e3899a9ae21. (check-in: 40549bacb3 user: drh tags: trunk)
12:18
New WHERETRACE entries for adding and removing objects from the Parse.pIdxEpr list as part of indexed expression coverage. Debug and testing changes only - no affect on production builds. (check-in: 4dc438a951 user: drh tags: trunk)
2022-12-20
15:22
Add about 150 new fuzzer cases to test/fuzzdata8.db. (check-in: a8d8d9cd65 user: drh tags: trunk)
15:02
Add ALWAYS() to always-true branches in the locking logic of the memdb VFS. (check-in: 01fa760212 user: drh tags: trunk)
14:02
Improvement to the dbsqlfuzz fix of [f113eebdbe68246f]. (check-in: 79d62956f2 user: drh tags: trunk)
01:48
Do not use indexed expressions to replace the expression being indexed on a RIGHT JOIN as that leads to problems, as shown by dbsqlfuzz a644e70d7683a7ca59c71861a153c1dccf8850b9. (check-in: f113eebdbe user: drh tags: trunk)
2022-12-19
20:14
Fix a faulty assert() in fts5. (check-in: 569018170b user: dan tags: trunk)
19:04
Remove an unused variable. (check-in: 5c4d94147d user: drh tags: trunk)
14:46
Minor sed script tweak in the wasm GNUmakefile for BSD portability, as reported in forum post 4a97813fcbd4f63e. (check-in: 49efcf6d9f user: stephan tags: trunk)
14:43
Update test-opfs-vfs.js to account for recent API changes. Reported in forum post 4a97813fcbd4f63e. (check-in: 2a63674636 user: stephan tags: trunk)
14:06
Fix an assert() in fts5. Simplify memdb xLock/xUnlock some. (check-in: 7fe158aa80 user: dan tags: trunk)
12:25
Fix a minor problem with the printAggInfo() routine (used on during debugging). (check-in: c8329967f3 user: drh tags: trunk)
2022-12-18
12:00
JS namespace updates in ext/wasm/api/README.md. (check-in: ca59e736b1 user: stephan tags: trunk)
2022-12-17
22:10
Fix an unnecessarily restrictive assert() in the aggregate logic. dbsqlfuzz 699bee2aa26c5dc84afabf6894685c316d936485 (check-in: 8cc0af81ad user: drh tags: trunk)
19:56
Remove slew of inadvertant tabs in favor of spaces. (check-in: 0aa6da69e1 user: larrybr tags: trunk)
12:49
Add NEVER/ALWAYS to branches that have become unreachable due to recent enhancements. (check-in: b4281db4e4 user: drh tags: trunk)
11:14
Update wasmfs.make to get WASMFS building again, but changes made to OPFS-over-WASMFS since we last tested it have made it incompatible with how we used it. It can now only be used from worker threads, eliminating the one benefit it had over the sqlite3_vfs OPFS implementation. Remove/amend references to WASMFS in the docs and remove all WASMFS-specific test app links from index.html. (check-in: 32dc98c800 user: stephan tags: trunk)
2022-12-16
18:32
Disallow some of the query invariant tests on SQL statements that contain a GROUP BY since output terms that are no covered by the GROUP BY are indeterminant. (check-in: 28ba1fec45 user: drh tags: trunk)
13:04
Expose a JS-friendly subset of sqlite3_config() to JS, with the notable caveats that (1) setting up the JS bindings requires starting the library, making sqlite3_config() illegal to call and (2) calling sqlite3_shutdown() in order to make it legal to call sqlite3_config() may undo certain JS-side library initialization. Move sqlite3_(de)serialize() into the int64-mode-only bindings because of their int64 args. (check-in: 62e0c931ac user: stephan tags: trunk)
12:07
In the fuzzer invariant checker, do not add new WHERE clause terms that make use of an ambiguous column name. (check-in: d5b46541c3 user: drh tags: trunk)
11:33
Add a test confirming that exceptions are not passed through C-space if a JS-side sqlite3_set_authorizer() callback throws. (check-in: 5a77c2c7aa user: stephan tags: trunk)
11:13
Add sqlite3_set_authorizer() support and related tests to JS. (check-in: 551b848894 user: stephan tags: trunk)
2022-12-15
20:03
Create a new affinity called FLEXNUM that works like NUMERIC except that it never tries to convert integer to real or real to integer. The affinity is only used internally - it is not possible to create a table column with this affinity. This affinity is used on subqueries and views that are built off of a compound SELECT and where the datatype is controlled by a CAST expression. dbsqlfuzz c9ee6f9a0a8b8fefb02cf69de2a8b67ca39525c8 (check-in: 44135d6ea8 user: drh tags: trunk)
18:56
Fix an incompatibility between the Tcl interface and the "memdb" vfs by allowing memdb to accept filenames that begin with '\' characters. (check-in: bd537f2057 user: dan tags: trunk)
18:50
Added a couple missing 'not part of the public API' tags on functions in sqlite3-wasm.c. No code changes. (check-in: eb27feecea user: stephan tags: trunk)
15:37
Omit the columnTypeImpl() function from the build when SQLITE_OMIT_DECLTYPE is defined, because it is no longer used in that case. (check-in: 751e344f4c user: drh tags: trunk)
13:45
Fix harmless compiler warnings. (check-in: ddb260cc52 user: drh tags: trunk)
11:39
Update a test case in scanstatus2.test to account for recent planner enhancements. (check-in: 53e07dc6b6 user: dan tags: trunk)
11:31
Fix an unsafe use of sqlite3_mprintf() in sqlite3_overload_function() identified by forum post: https://sqlite.org/forum/forumpost/95b338860d. (check-in: 9fa2b94c2e user: dan tags: trunk)
02:28
Internal refactoring of how sqlite3.wasm.xWrap() handles JS-to-C function pointer conversions, to enable similar conversions to be added more easily. (check-in: 10cfe3fae6 user: stephan tags: trunk)
02:26
Remove an unnecessary/obsolete Emscripten-specific export. (check-in: fa278022af user: stephan tags: trunk)
2022-12-14
23:53
Fix minor problems in the new sqlite3ExprDataType() function. (check-in: c1d5261b22 user: drh tags: trunk)
18:34
Adjust the query planner to be more aggressive about using co-routines rather than materializing subqueries and views. Implementation of enhancement request [73ebbb3a3d1a7bd3]. (check-in: 0b58d1b354 user: drh tags: trunk)
17:52
Merge all the latest trunk enhancements into the coroutines-exp2 enhancement branch. (Closed-Leaf check-in: ea278438b7 user: drh tags: coroutines-exp2)
2022-12-13
00:51
Merge recent trunk changes into the coroutine-exp2 branch. (check-in: c43f433bca user: drh tags: coroutines-exp2)
2022-12-09
18:26
Remove the SQLITE_PREPARE_SAFEOPT flag. The name is obsolete and it is at the wrong level. Instead use the SF_UpdateFrom flags on the Select object. (check-in: 78723a9a7e user: drh tags: coroutines-exp2)
17:33
Do not allow OOM faults in EQP messages associated with automatic indexes on co-routines to go unreported. (check-in: d125d5afdf user: drh tags: coroutines-exp2)
2022-12-08
16:47
Improved comments on the new co-routine logic. Fix a C++-ism in the code. Update test cases to accommodate the more aggressive use of co-routines. (check-in: 9243e850ae user: drh tags: coroutines-exp2)
13:56
Do not use a co-routine on a subquery that is participating in a self-join. (check-in: ea4306a03c user: drh tags: coroutines-exp2)
2022-12-07
21:19
Merge the latest fixes and enhancements from trunk into the coroutines-exp2 branch. (check-in: 1c5f41986f user: drh tags: coroutines-exp2)
2022-12-06
15:24
Simplified experimental changes to promote the use of co-routines. Less cruft than the coroutines-exp1 branch, but still does not work. Checked in as a work-in-progress. (check-in: e2318a30bf user: drh tags: coroutines-exp2)
15:11
Fix compiler warnings in the new dynamic continuation prompt logic of the CLI. (check-in: 0d80500d35 user: drh tags: trunk)
13:12
In the unix backend, when implementing the defenses against small file descriptors, delete a file just created if it was opened with O_EXCL|O_CREAT so that it can be created again the next time through the loop. Fix for the problem described by forum post 699af709ab3a8ccf. (check-in: c0cfe0582a user: drh tags: trunk)
11:41
Support an SQLITE_SCANSTAT_NCYCLE statistic for "CO-ROUTINE" elements. (check-in: d3f6a207fd user: dan tags: trunk)
05:31
Add optional feature: A CLI continuation prompt which reflects open lexemes and parens, similarly to PG shell. (check-in: f41f18b1c3 user: larrybr tags: trunk)
2022-12-05
19:16
Enhance the sqlite3_stmt_scanstatus() API and add sqlite3_stmt_scanstatus_v2(). For creation of enhanced query performance reports. (check-in: 4893b4e3ea user: dan tags: trunk)
18:52
Update comments in sqlite.h.in to account for sqlite3_stmt_scanstatus_v2(). (Closed-Leaf check-in: 009462f234 user: dan tags: scanstatus_v2)
18:26
Merge latest trunk changes. (check-in: 1a72777b12 user: dan tags: scanstatus_v2)
18:19
Add loops and rows counters to "USE TEMP B-TREE FOR ORDER BY" records. Also fix the sqliteHwtime() function so that it returns a 64-bit value. (check-in: 41a0e05e8c user: dan tags: scanstatus_v2)
14:23
Fix a problem in the memdb vfs xLock() function allowing clients to upgrade to EXCLUSIVE locks when other connections are holding SHARED. (check-in: d18cce37b5 user: drh tags: branch-3.40)
14:20
Regenerate the configure script so that it includes the correct patch number. (check-in: e2ae2ea195 user: drh tags: branch-3.40)
2022-12-03
21:24
Enhance SQLITE_SCANSTAT_NCYCLE so that it reports on virtual tables. (check-in: 622d8eb372 user: dan tags: scanstatus_v2)
18:16
Add CYCLES scanstat measurement to "USE TEMP B-TREE FOR ORDER BY" lines. (check-in: 365011ae8b user: dan tags: scanstatus_v2)
2022-12-02
20:32
Enhance the sqlite3_stmt_scanstatus() API and add sqlite3_stmt_scanstatus_v2(). For creation of easier to read query performance reports. (check-in: 5580083364 user: dan tags: scanstatus_v2)
18:56
Minor internal tweaks to the OPFS VFS. Resolve a missing result code which lead to a null deref in xFileSize(). (check-in: 57dd593ef0 user: stephan tags: trunk)
18:06
OPFS VFS: translate createSyncAccessHandle() exceptions which appear to be locking violations to SQLITE_BUSY. This seems to improve concurrency considerably even with a reduced retry count of 5 (was 6). (check-in: 0d36021d10 user: stephan tags: trunk)
17:52
For the sqlite3_bind and sqlite3_result interfaces for UTF16 strings, round the number of bytes down to the next even number, to avoid creating a UTF16 string that is an odd number of bytes. Forum post 411199488d065f83. (check-in: b57e3c3db0 user: drh tags: trunk)
15:31
Use sqlite3_result_int64() instead of sqlite3_result_int() when returning potentially large values from the DBSTAT virtual table, to avoid integer overflows in the result. Forum post ada2ab044f. (check-in: 5652154a8c user: drh tags: trunk)
11:35
Minor touchups to the JS test index page and test server push rules. (check-in: 0881f3e923 user: stephan tags: trunk)
10:43
wasm builds: explicitly set a default stack size because emsdk 3.1.27 reduced it from 4MB to only 64kb, leading to memory corruption when kvvfs is used (it requires at least twice that for I/O). (check-in: 758112460f user: stephan tags: trunk)
09:23
wasm: after building snapshot zip file, emit instructions for pushing it to the test server. (check-in: 9615c77919 user: stephan tags: trunk)
08:51
Correct the problem which triggered the rollback in [7eec635562f6]: an incorrect default db page size (not a multiple of 512 bytes). (check-in: e06e490c24 user: stephan tags: trunk)
08:38
Roll back the SQLITE_DEFAULT_PAGE_SIZE part of [c260895faacb34] because kvvfs does not work at all with a page size of 8kb. (check-in: 7eec635562 user: stephan tags: trunk)
08:29
sqlite3-wasm.c: code legibility and coding style tweaks. Increase SQLITE_DEFAULT_PAGE_SIZE from 4k to 8k, as that improves OPFS speedtest1 performance by roughly 12%. (check-in: c260895faa user: stephan tags: trunk)
07:14
Expand JS tests for db export/import and document reason it cannot currently work with kvvfs. Fix a minor JS build dependencies bug. Update page title with PASS/FAIL prefix for tester1.js to improve overview when launching multiple test tabs. Add ability of tester1 should-run-test predicates to report why a given test is disabled. (check-in: 75f610d3a4 user: stephan tags: trunk)
03:37
Remove extraneous/unused sqlite3.oo1.version object. Add httpd makefile target. (check-in: 8e4d30ac03 user: stephan tags: trunk)
2022-12-01
15:22
sqlite3_js_create_file() now accepts an ArrayBuffer data source. Add test for OPFS-based export/re-import. The (sqlite3*) argument converter now optionally accepts sqlite3.oo1.DB instances. (check-in: 14a84b67fb user: stephan tags: trunk)
04:45
Reformulate and simplify some JS tests related to the previous checkin. (check-in: 9ea2d3dcf7 user: stephan tags: trunk)
03:55
Expand "sqlite3_vfs*" JS-to-WASM function argument conversions to accept VFS names (JS strings) and capi.sqlite3_vfs instances. Implement sqlite3_js_vfs_create_file() to facilitate creation of file-upload features which store the file in VFS-specific storage (where possible, e.g. "unix" and "opfs" VFSes). Correct an argument type check in the SQLite3Error and WasmAllocError constructors. (check-in: e1009b16d3 user: stephan tags: trunk)
2022-11-30
21:18
Add a testcase() macro to verify that the case of a NOT NULL error message hitting the string length limit. (check-in: 91f50964c1 user: drh tags: trunk)
20:22
Fix an over-zealous assert() reported by Yong Heng. (check-in: 6ee61f8ced user: drh tags: trunk)
19:11
Attempt to rationalize the bits associated with ".wheretrace". Provide a decoder key in sqliteInt.h for what each bit is intended to do. (check-in: 8ec361695a user: drh tags: trunk)
18:21
Rename some JS files from X.js to X.c-pp.js to keep the maintainer, and downstream build customizers, aware that those files contain constructs specific to the c-pp preprocessor and will not run as-is in JS. (check-in: 2eade7c7b1 user: stephan tags: trunk)
13:44
Always use nanosleep() (instead of usleep() or sleep) if the _POSIX_C_SOURCE macro says it should be available. See Fossil Forum post ab2e2593ae307946 for driver behind this enhancement. (check-in: 6620c57b9d user: drh tags: trunk)
11:50
Install sqlite3_malloc/sqlite3_free() as the JS-side WASM allocator (as opposed to replacing C-level's malloc()/free() with them). All tests work and this eliminates the potential for allocator discrepancies when using the (de)serialize APIs. (check-in: 95c78f6b46 user: stephan tags: trunk)
08:37
Simplify how the OPFS VFS async proxy copies initial state sent to it from the synchronous side of the connection. Make the lock-wait time a multiple of the wait-loop timeout interval. (check-in: eddafafffa user: stephan tags: trunk)
07:48
OPFS VFS: remove an invalid TODO and fix a property name typo which caused xCheckReservedLock() to always report false. (check-in: 3b037caa2f user: stephan tags: trunk)
07:17
Rename some OPFS JS files. Prevent JS bindings of sqlite3_uri_...() from performing JS-to-C-string argument conversion on their first argument, as doing so is specifically illegal. (check-in: 79832808de user: stephan tags: trunk)
05:27
Refactor a significant chunk of the OPFS sqlite3_vfs init code into sqlite3.VfsHelper, and internal-use-only API encapsulating code relevant to creating new VFSes in JS. Intended to assist in pending experimentation with an alternative OPFS VFS. (check-in: e25d7b080a user: stephan tags: trunk)
03:08
Doc and logging text tweaks in the OPFS async proxy and test app. (check-in: 7ce8608e22 user: stephan tags: trunk)
2022-11-29
18:28
sqlite3.oo1.OpfsDb: default to journal_mode=persist, as current tests show it to be marginally faster than truncate/delete in Chrome v109. Also increase default busy_timeout from 2 seconds to 3, admittedly on a whim. (check-in: d0c8fa30a3 user: stephan tags: trunk)
18:00
OPFS speedtest1: hide a currently-broken/to-fix WASMFS-build link. (check-in: cde95d382f user: stephan tags: trunk)
17:52
Change the handling of hwtime.h to make it easier to compile performance measurement builds that make use of hwtime.h. This should not affect productions builds. (check-in: f64a224244 user: drh tags: trunk)
11:28
Fix legacy build system main.mk to include basexx.c in testfixture builds. (check-in: 8c9200b7e1 user: dan tags: trunk)
06:56
Rename one instance of opfs.OpfsDb to oo1.OpfsDb, as per [0c5c51f4fb04]. (check-in: 75b04c9b30 user: stephan tags: trunk)
06:09
Minor internal cleanups and docs in the OPFS sqlite3_vfs. (check-in: 61799b05ff user: stephan tags: trunk)
05:25
Internal restructuring of the OPFS sqlite3_vfs in order to facilitate certain experimentation and improve error reporting/hints if it cannot be activated. Deprecate the name sqlite3.opfs.OpfsDb, preferring sqlite3.oo1.OpfsDb for consistency with JsStorageDb and any future DB subclasses. (check-in: 0c5c51f4fb user: stephan tags: trunk)
02:23
Add an explicit warning about the current API-instability of the sqlite3.opfs namespace, which may need to be eliminated based on re-thinking of how the OPFS sqlite3_vfs is registered. Comment changes only - no code. (check-in: 0cb2fd1417 user: stephan tags: trunk)
2022-11-28
21:17
Check-in [8d5b76593d82b3a5] contained an error that was causing some obscure error codes to be lost. Fixed here. (check-in: 46cdd3637d user: drh tags: trunk)
21:09
Get ext/misc/basexx.c into the testfixture.exe build for MSC. (check-in: bb2c5d088e user: larrybr tags: trunk)
20:08
Fix harmless compiler warnings. (check-in: 8d5b76593d user: drh tags: trunk)
19:42
Implementation of enhancement request [695a1a53dea6b240]: The query planner has improved awareness of when indexes on expressions are covering and adjusts their costs accordingly. (check-in: e3474d79b2 user: drh tags: trunk)
18:41
Add the SQLITE_FCNTL_RESET_CACHE verb. Use it to ensure that the page cache is purged before and after a the recovery extension is run. (check-in: 6db0bc4bc0 user: dan tags: trunk)
14:51
Add (optional) base64 and base85 UDF extensions. (check-in: b44ab10c49 user: larrybr tags: trunk)
14:11
Sync w/trunk, zap surplus space. (Closed-Leaf check-in: b8345630a2 user: larrybr tags: base_convert)
2022-11-24
20:11
Speed up base85() conversions and sync w/trunk. (check-in: 17b823500a user: larrybr tags: base_convert)
02:59
Speed up base64 conversions, and add test with more data for the baseNN conversion to grind. (check-in: 6c84ae4ba8 user: larrybr tags: base_convert)
2022-11-22
22:46
Add more baseNN tests, get oversize error trapping working, and sync w/trunk (check-in: 03819e9368 user: larrybr tags: base_convert)
19:12
Sync w/trunk. Ready for merge to trunk. (check-in: ff67460e1a user: larrybr tags: base_convert)
19:04
Add test/basexx1.test to test is_base85(t), base85(x) and base64(x). Sync w/trunk. (check-in: 4e43345477 user: larrybr tags: base_convert)
18:24
Fix the error message in the CLI for "no such VFS". Forum post 1217fdd6b3. (check-in: b344f33d16 user: drh tags: branch-3.40)
15:48
Bump the version number to 3.40.1. (check-in: d0ca348b25 user: drh tags: branch-3.40)
15:47
Fix last function pointer in sqlite3Apis init. Reported at forum post eba0faa96d. (check-in: b3795d28fe user: drh tags: branch-3.40)
2022-11-21
02:18
Get clean builds for MS tools. Add build examples for extension glommer (basexx.c) Make sure extensions build for dynamic load and built into shell. (check-in: da940d507e user: larrybr tags: base_convert)
00:11
Fix a base64 decode bug. Provide for convenient inclusion of extension(s) built into the CLI, to simplify testing and for its own sake. Improve comments. Cure collision between base64.c and base85.c when both are in the same translation unit. (check-in: 07543d23a9 user: larrybr tags: base_convert)
2022-11-19
02:39
New extensions for base85 and base64 conversion UDFs (check-in: 5cc1fe1ddc user: larrybr tags: base_convert)
02:32
Create new branch named "base_convert" (check-in: 0cbf55407a user: larrybr tags: base_convert)
00:22
Small performance optimization in btree.c. (check-in: f710cce135 user: drh tags: trunk)
00:08
Databases created using sqlite3_deserialize() should report their filename as an empty string, not as "x". Fix for ticket [53043c9793715f08]. (check-in: ff494449ef user: drh tags: trunk)
2022-11-18
17:57
Update the version number to 3.41.0 to begin the next development cycle. (check-in: 5c669f5f39 user: drh tags: trunk)
15:22
shell.c.in: on non-Windows platforms, check for $XDG_CONFIG_HOME/sqlite3/sqliterc before ~/.sqliterc, per request in forum post 7a16582b1e403c81. (check-in: 17065d095d user: stephan tags: trunk)
2022-11-16
12:10
Version 3.40.0 (check-in: 89c459e766 user: drh tags: trunk, release, major-release, version-3.40.0)
2022-11-14
19:42
Previous change to the fake_big_file command in the test harness was not correct. This one should fix the problem. (check-in: 6ee57a2e4e user: drh tags: trunk)
18:57
Change the fake_big_file test command so that it fails for files larger than 2MB on Windows, as we have observed that Window10 will sometimes bluescreen when operating on very large sparse files. (check-in: d39ffd2aba user: drh tags: trunk)
17:48
Avoid running bigsort.test with SQLITE_DEBUG builds. The assert() statements added in [7c96a56] make it too slow. (check-in: fa68dd8928 user: dan tags: trunk)
2022-11-13
19:29
Remove some outdated code comments. No code changes. (check-in: 80ff592a9d user: stephan tags: trunk)
2022-11-12
17:17
Disable the ability to change the schema_version cookie when SQLITE_DBCONFIG_DEFENSIVE mode is enabled. This is a security enhancement inspired by the question in forum post 2b9cc3dae1f1e5f6. (check-in: 1d81381e8f user: drh tags: trunk)
2022-11-10
23:10
Remove unnecessary tabs in the ChaCha20 implementation. Forum post 0cdce5db8c. (check-in: b7179efbdb user: drh tags: trunk)
13:22
Automatically relinquish implicitly-acquired OPFS file locks during VFS idle time in an attempt to help alleviate cross-tab locking contention like that described in forum post 58a377083cd24a. (check-in: 8daf24ff73 user: stephan tags: trunk)
2022-11-09
11:17
Better handle an error in the fts5 integrity-check code. dbsqlfuzz e87c62f9b67ea21aebdc36ab71cab7cc3eda8dc3. (check-in: ae43e97087 user: dan tags: trunk)
11:02
Additional defense against corrupt database files in dbdata.c. (check-in: 2e70d1e5c9 user: drh tags: trunk)
10:17
Increase the precision of the nData parameter to the dbdataValue() routine inside the sqlite_dbdata virtual table, to avoid the possibility of integer overflow. (check-in: 295447b44f user: drh tags: trunk)
2022-11-08
20:04
Fix a problem with URI formatting in calls to sqlite3rbu_vacuum(zDb, NULL) causing problems on win32. First reported here <https://sqlite.org/forum/forumpost/a7ae915a9d>. (check-in: 77ccc8ea8a user: dan tags: trunk)
19:36
Do not attempt to run test script dbpagefault.test with SQLITE_OMIT_VIRTUALTABLE builds. (check-in: 901918c486 user: dan tags: trunk)
15:49
Fix a problem in main.mk preventing the amalgamation-testfixture target from building. (check-in: ccf00a0e22 user: dan tags: trunk)
2022-11-07
19:40
Further improvements to the handling of the u32 and u16 typedefs in the shell.c source file. (check-in: 55a19677d7 user: drh tags: trunk)
18:36
Improve the ability of mkshellc.tcl to remove redundant typedefs from the generated shell.c code. This is needed to get shell.c to build on older C compilers. (check-in: 3645585f37 user: drh tags: trunk)
18:00
Add the sqlite3rbu_rename_handler() API. To override the default routine that RBU uses to rename files. (check-in: ebbb1f88e7 user: dan tags: trunk)
17:21
Minor doc updates in speed-check.sh. No code changes. (check-in: d2ed4116fb user: stephan tags: trunk)
15:23
Fix an obsolete comment. (check-in: e377c0a1ef user: drh tags: trunk)
15:01
Fix typo in comment. (check-in: c3b94d7d46 user: drh tags: trunk)
13:06
Add sqlite3.wasm.alloc.impl() as a "public back door" into the low-level non-throwing allocator. Correct sqlite3.WasmAllocError constructor to behave like its usages expect it to and add tests for that. (check-in: cea8bf9a14 user: stephan tags: trunk)
12:21
Fix requirements marks so that they match documentation corrections. (check-in: 10d6189d23 user: drh tags: trunk)
12:12
Minor wasm doc touchups. No code changes. (check-in: 2c44836891 user: stephan tags: trunk)
11:19
Fix the documentation regarding negative length parameters for sqlite3_result_text() interfaces, to point out that the length parameter to sqlite3_result_text64() cannot be negative. Forum post cf1d043b07. Comment/documentation change only. (check-in: 8016507651 user: drh tags: trunk)
11:05
Make sure that the recoverStrlen() function (used internally by the new recovery extension) is 64-bit safe. (check-in: ea30a6bfc4 user: drh tags: trunk)
2022-11-06
17:19
The recoverAssertMutexHeld() function is for testing and verification only and should be a harmless no-op for production builds. [forum/forumpost/b4f2c7d402|Forum post b4f2c7d402]. (check-in: d75504710c user: drh tags: trunk)
13:12
shell.c.in: on non-Windows platforms, check for $XDG_CONFIG_HOME/sqlite3/sqliterc before ~/.sqliterc, per request in forum post 7a16582b1e403c81. (Closed-Leaf check-in: 49c6e438a8 user: stephan tags: sqliterc-xdg-config)
2022-11-05
19:26
Update test file dbpagefault.test to account for the restriction on using SQLITE_VTAB_DIRECTONLY virtual tables from within triggers. (check-in: 2b68fc8aa3 user: dan tags: trunk)