50 most recent check-ins
|
2026-08-12
| ||
| 20:26 | Fix an MSVC compiler warning in the amatch.c extension. (leaf check-in: 43b23132a1 ... user: drh tags: trunk) | |
| 20:17 | Simplification and size reduction for sqlite3GetVarint(). Add and use a new routine sqlite3VarintValue() that works similarly but returns the value rather than the number of bytes consumed, for a performance improvement. Improvements inspired by [48132f815508b6e1]. (check-in: 2d7ac2095e ... user: drh tags: trunk) | |
| 20:04 | Simplify the implementation of sqlite3GetVarint(). (closed check-in: d3dfaeb8b9 ... user: drh tags: varint-decode) | |
| 19:42 | Create a new varint decoder that does not need to return the size of the varint, and use that in sqlite3BtreeTableMoveto(). Omit the pointless getVarint and putVarint macros and use the actual function names instead. (check-in: f845ede54c ... user: drh tags: varint-decode) | |
| 15:55 | Compile with -DHAVE_BACKTRACE to get a backtrace() dump to stderr on the first OOM of each statement. (leaf check-in: 6d9c85d4dd ... user: drh tags: oom-backtrace) | |
| 13:41 | Fix tests recently added to nolock.test so that they run on windows. (check-in: bc57a14ab9 ... user: dan tags: trunk) | |
| 13:23 | Do not use the propagate-constant optimization on a constant that is really a function that might return a subtype. Bug 2026-08-12T09:26:04Z (check-in: a5bf606f3b ... user: drh tags: trunk) | |
| 08:01 | Decode table b-tree rowid varints inline in sqlite3BtreeTableMoveto(). Add btreeGetIntKey(), using a flat decoder on ARM64 and the existing btreeParseCellPtr()-style cascade elsewhere. This avoids the out-of-line getVarint() call while preserving the decoded bit pattern and 1-9 byte access bounds. The architecture-specific split adds complexity, but neither decoder performs best across all tested processors and rowid widths, and CPU-bound, rowid-seek-heavy workloads benefit more than the broade... (closed check-in: 48132f8155 ... user: jeffchen tags: opt-complex-rowid-varint-decode) | |
| 00:51 | Enhance the CARRAY interface so that it raises an SQLITE_TOOBIG error if the iov_len value of a BLOB is bigger than a 32-bit signed integer can hold. Forum 2026-08-12T00:07:44Z. (check-in: 39ae2b7c59 ... user: drh tags: trunk) | |
|
2026-08-11
| ||
| 23:40 | Small performance enhancement and size reduction in the page cache. (check-in: 0910cf8ef4 ... user: drh tags: trunk) | |
| 23:14 | Minor comment fixes. (leaf check-in: 3e725527a2 ... user: drh tags: threaded-bytecode-experiment) | |
| 21:48 | Avoid integer divides in the remaining pcache1 hash-bucket computations, extending check-in [750c37d4044c0957] from the lookup fast path to the other eight sites. Small size reduction. (closed check-in: 0f814ec505 ... user: jeffchen tags: opt-pcache1-hash-mask) | |
| 18:22 | Ensure that databases opened with immutable=1 specified are opened read-only at the OS level. Report 2026-08-11T17:21:54Z (check-in: 702cdeb78c ... user: dan tags: trunk) | |
| 17:48 | Rename on of the dispatch macros in the new threading mechanism. No functional changes. (check-in: a467f9d207 ... user: drh tags: threaded-bytecode-experiment) | |
| 17:29 | Merge recent trunk enhancements into the threaded-bytecode experiment. (check-in: 10202795e3 ... user: drh tags: threaded-bytecode-experiment) | |
| 17:23 | Refactoring some names. Improved comments. No functional changes. (check-in: 61871c4bf5 ... user: drh tags: threaded-bytecode-experiment) | |
| 14:50 | Fix a problem in fts5 secure-delete code that could lead to a buffer overrun when dealing with a strategically corrupted database. Problem reported by YEONBA. (leaf check-in: 34171bee08 ... user: dan tags: branch-3.53) | |
| 14:16 | Fix a problem in fts5 secure-delete code that could lead to a buffer overrun when dealing with a strategically corrupted database. Problem reported by YEONBA. (check-in: 9cd4f9e920 ... user: dan tags: trunk) | |
| 10:46 | Update preprocessor logic in test file fts5_tcl.c to use intptr_t when available. (check-in: fee71cd6f7 ... user: dan tags: trunk) | |
|
2026-08-10
| ||
| 21:08 | Merge the latest trunk enhancements into the reuse-schema. (leaf check-in: cacf8d167d ... user: drh tags: reuse-schema) | |
| 20:51 | Merge the latest trunk enhancements into the bedrock branch via wal2. (leaf check-in: 2137918d6a ... user: drh tags: bedrock) | |
| 20:46 | Merge the latest trunk enhancements into the wal2 branch (leaf check-in: 78f78edbb7 ... user: drh tags: wal2) | |
| 20:39 | Merge the latest trunk enhancements into the begin-concurrent branch (leaf check-in: cf07387f1f ... user: drh tags: begin-concurrent) | |
| 20:17 | Performance improvement and size reduction in the vdbeRecordCompareInt() routine. (check-in: 15f719dde4 ... user: drh tags: trunk) | |
| 20:05 | Performance improvement and size reduction in the OP_MakeRecord opcode. (check-in: 8b1f492374 ... user: drh tags: trunk) | |
| 19:54 | Update the threaded-bytecode-experiment branch to include all the latest trunk changes. (check-in: 9582383b40 ... user: drh tags: threaded-bytecode-experiment) | |
| 19:49 | Add "include <stdint.h>" to test file fts5_tcl.c. (check-in: 9cf3f0079a ... user: dan tags: trunk) | |
| 19:38 | Add an assert() to demonstrate that an arithmetic right-shift is being used where it is needed. (closed check-in: cce760dc6b ... user: drh tags: branchless-int-compare) | |
| 18:07 | Fix the logic for big-endian CPUs. Add comments on how to test various limbs of the logic. (closed check-in: cf49f4fc96 ... user: drh tags: optimized-makerecord) | |
| 16:27 | Fix the logic to prevent buffer overruns. (check-in: 82a8332ed9 ... user: drh tags: optimized-makerecord) | |
| 15:57 | When comparing row values that are sub-selects, do not consider the collation sequences of the expressions returned by the sub-select when determining the collation sequences to use for the comparisons. i.e. in "(a, b)=(SELECT c, d)", do not consider the collation sequences of "c" or "d". Fix for problem 2026-08-09T09:33:49Z. (check-in: 88580851be ... user: dan tags: trunk) | |
| 15:36 | Experimental changes to improve performance of the OP_MakeRecord opcode, and especially the code the writes integer content into the record. This change is not yet 100% correct. It is a work in progress. Parking on a branch because I need to stop and work on other things. (check-in: fa8dd2af6d ... user: drh tags: optimized-makerecord) | |
| 12:56 | Make this optimization available to MSVC in addition to GCC. (check-in: 648ab3f7ae ... user: drh tags: branchless-int-compare) | |
| 12:45 | Remove some stray debug output and obsolete bug-hunting comments. No functional changes. (check-in: 41443d5ffe ... user: stephan tags: trunk) | |
| 12:41 | Merge the sqlite3Get8byte() enhancement from trunk (check-in: 661d0c7104 ... user: drh tags: branchless-int-compare) | |
| 12:41 | Expose the sqlite3_backup APIs to JavaScript. (check-in: fa17d89f76 ... user: stephan tags: trunk) | |
| 12:35 | Disable Module.instantiateWasm() in node builds to match branch-3.53's behavior. Fix a sqlite3_backup test (duplicate finalize). The aforementioned world-breaking bug was caused by my browser having gotten into a funky state and needing a restart. (closed check-in: 7d77bb0886 ... user: stephan tags: js-backup-bindings) | |
| 12:29 | Replace the EIGHT_BYTE_U64 macro with the in-line function sqlite3Get8byte() which is more efficient cross-platform. (check-in: 9492183f2f ... user: drh tags: trunk) | |
| 12:18 | Add tests for the sqlite3_backup JS bindings but they are disabled while tracking down an unrelated problem which prevents those tests from working (most of the sqlite3.capi methods are being mis-mapped to the sqlite3InitModule function for reasons unimaginable). (check-in: cb610a8a87 ... user: stephan tags: js-backup-bindings) | |
| 11:51 | Fix a circular dep generated by mkwasmbuilds.c (check-in: f2514ace13 ... user: stephan tags: js-backup-bindings) | |
| 11:23 | Merge trunk into the js-backup-bindings branch. (check-in: 692c4e8ad8 ... user: stephan tags: js-backup-bindings) | |
|
2026-08-09
| ||
| 19:03 | Decode fixed-width integer serial types in vdbeRecordCompareInt() with a single eight-byte read and an arithmetic shift, replacing a switch that predicts poorly on mixed-width integer keys. (check-in: fad1a762e1 ... user: jeffchen tags: branchless-int-compare) | |
| 18:43 | Hybrid full direct-threaded and for-loop designs. (check-in: 812968bda4 ... user: drh tags: threaded-bytecode-experiment) | |
| 16:22 | Code and comment restructuring for clarity. Not much logic change. This version clearly shows that SQLITE_THREADED_BYTECODE=2 is faster than the default, though larger, while SQLITE_THREADED_BYTECODE=1 is slower and larger still. Unclear yet why that is the case. (check-in: 250d059db9 ... user: drh tags: threaded-bytecode-experiment) | |
| 09:51 | Fix the SQLITE_THREADED_BYTECODE==1 case so that it uses local dispatch at the end of each opcode, rather than looping. Curiously, this makes the code both larger and slower. It seems like we should use only the SQLITE_THREADED_BYTECODE==2 case. (check-in: 2db8dab73e ... user: drh tags: threaded-bytecode-experiment) | |
| 09:29 | Makefile working on MSVC (check-in: 4df67b7425 ... user: drh tags: threaded-bytecode-experiment) | |
|
2026-08-08
| ||
| 22:57 | This is an attempt to use the labels as values feature of gcc to implement token-threaded bytecode. Inspired by Forum 2026-08-08T10:14:30Z but a completely different implementation. Shows only about half the performance gain. Still contains bugs. Experimental. Work-in-progress. (check-in: cce83bf9e9 ... user: drh tags: threaded-bytecode-experiment) | |
| 20:29 | Remove unused variable from pragma.c. (check-in: 7e3ad0dcde ... user: dan tags: trunk) | |
| 19:47 | Change the way fts5 test code casts between integers and pointers to avoid a ubsan error in some versions of gcc. Report 2026-08-08T15:54:04Z. (check-in: d275eb5b63 ... user: dan tags: trunk) | |
| 09:58 | Improve the performance of the OP_Column opcode of the bytecode engine by in-lining the call to sqlite3VdbeSerialGet(). (check-in: d2dd7b3b13 ... user: drh tags: trunk) | |