Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
87 check-ins using file doc/context-about-meta-slots.md version d8ff51ed7b
|
2026-06-25
| ||
| 14:49 | Add git mirror Leaf check-in: d2c1d7158a user: danshearer tags: trunk | |
| 07:20 | Doc updates check-in: 1e172cd4a2 user: danshearer tags: trunk | |
| 06:52 | Doc fixes check-in: 8e697c36ce user: danshearer tags: trunk | |
| 05:00 | Rowsum doc update check-in: bb31984e81 user: danshearer tags: trunk | |
|
2026-06-24
| ||
| 20:32 | Doc update check-in: 36ec37f416 user: danshearer tags: trunk | |
| 10:42 | Fix build instructions check-in: 75013b1bb6 user: danshearer tags: trunk, v0.82 | |
| 10:36 | Improve build instructions check-in: f78ae44e97 user: danshearer tags: trunk | |
| 10:16 | Verifying build instructions are up to date check-in: 6661f28823 user: danshearer tags: trunk | |
| 09:52 | Fix tech detail for building the lib check-in: 705799529e user: danshearer tags: trunk | |
| 09:46 | Fix tech details in amalgamation doc check-in: 56253ca056 user: danshearer tags: trunk | |
| 09:43 | Docs update check-in: f19341d736 user: danshearer tags: trunk | |
| 08:40 | Docs update check-in: 1cd9b50b9c user: danshearer tags: trunk | |
| 07:57 | Doc fixes check-in: e474437fe8 user: danshearer tags: trunk | |
| 07:29 | More docs check-in: 684ffb5672 user: danshearer tags: trunk | |
| 07:26 | Doc updates and consolidation check-in: d23b52dec8 user: danshearer tags: trunk | |
|
2026-06-23
| ||
| 20:57 | Doc fixes check-in: c8fb9bdc8a user: danshearer tags: trunk | |
| 20:46 | More doc updates - explain LMDB and mmap a little check-in: 46d1327f1d user: danshearer tags: trunk | |
| 12:51 | Update benchmark analysis check-in: 378f7876e9 user: danshearer tags: trunk | |
| 07:23 | Misc doc updates check-in: 5374b83a5c user: danshearer tags: trunk | |
| 07:20 | Major round of benchmarking docs updates check-in: 8eec853340 user: danshearer tags: trunk | |
|
2026-06-22
| ||
| 13:26 | Improve docs including updated Fossil benchmarking results check-in: 84d03865df user: danshearer tags: trunk | |
| 12:06 | Record more about the range pinning bug. check-in: e6f29d463c user: danshearer tags: trunk | |
| 11:55 | Document annoying bug in benchmark system, plus give examples check-in: fda8ad42be user: danshearer tags: trunk | |
| 09:47 | Improve docs Summarise the transaction option benchmarking (basically just use default). check-in: 53e828831b user: danshearer tags: trunk | |
|
2026-06-21
| ||
| 21:40 | Improve docs for filtering benchmarking and speedtesting fossil/libfossil check-in: d92b37eb21 user: danshearer tags: trunk | |
| 18:02 | Remove noupgrade transaction type from benchmarking. It's too niche and the error is annoying. check-in: bdfc0a3454 user: danshearer tags: trunk | |
| 16:15 | Fix bug where runtime targets (eg transaction mode) were mixed up with $BUILD targets. check-in: 2d8c32ac71 user: danshearer tags: trunk | |
| 13:48 | Add transaction model comparisons for LMDB backends check-in: 79a0fe4bda user: danshearer tags: trunk | |
| 06:39 | fix chroot jail when running server as root with LMDB check-in: 689867c5e9 user: danshearer tags: trunk | |
| 06:10 | benchmark operations with temporary tables check-in: 8f4564bd2e user: danshearer tags: trunk | |
| 00:34 | Clean up docs check-in: 7d939b374f user: danshearer tags: trunk | |
|
2026-06-20
| ||
| 23:14 | lmdb,lmdbv1: pool temp environments and keep them unsynced Every temp or :memory: database opened a private LMDB env at a fresh mkstemp path and unlinked it on close, often hundreds opens and therefore fsyncs as compared to ~3 for native sqlite for the same Fossil operation. We fix this by keeping MDB_NOSYNC on temp and :memory: envs, and have a small pool of envs ready to go. Major speed improvement. check-in: f020f61185 user: danshearer tags: trunk | |
| 17:53 | Fix bug in Fossil speed test library to do with fsync assumption. check-in: e55ad905d6 user: danshearer tags: trunk | |
| 15:18 | LMDB cursor cache: invalidate only the writing cursor cursorCacheInvalidateSiblings clears the cached current row on the writing cursor alone, due to the way VDBE works in SQLite. This means some cache code was unusued so we have deleted it in both LMDB backends. check-in: 68f6623c3d user: danshearer tags: trunk | |
| 14:28 | Get quantitative results for LumoSQL-backed Fossil on correctness, speed and stress loading. Everything is compared to native SQLite-backed Fossil, with sqlite.org as the ultimate measure. check-in: 18dc8fdcba user: danshearer tags: trunk | |
|
2026-06-19
| ||
| 22:51 | dox check-in: 7efb10d24b user: danshearer tags: trunk | |
| 22:50 | More docs check-in: b712425343 user: danshearer tags: trunk | |
| 22:03 | Fix broken links in docs check-in: d28d9b1322 user: danshearer tags: trunk | |
| 21:51 | Add make test as a first-class advertised feature. Just as good as benchmarking! check-in: a14e644272 user: danshearer tags: trunk | |
| 21:41 | Docs fixed that refer to directories not files check-in: 0f35fe6cd9 user: danshearer tags: trunk | |
| 21:39 | Implement the single-file LMDB in v1 backend, just copying lmdb check-in: 5741abfea7 user: danshearer tags: trunk | |
| 21:38 | Change defaul rowsum algorithm from blake to siphash (which is default everywhere now.) check-in: 8ab8ebeb61 user: danshearer tags: trunk | |
| 21:25 | Add in test docs that were squirreled away check-in: f0a26e93cc user: danshearer tags: trunk | |
| 20:41 | Move from the default LMDB files-in-directory to using the LMDB flag for just using a plain file plus a lockfile with the same name, which matches existing SQLite. Thanks to Howard Chu for pointing out the MDB_NOSUBDIR exists. check-in: eda9a500dc user: danshearer tags: trunk | |
| 20:30 | more testing and update docs for fossil-on-lumo. check-in: 2324380c1f user: danshearer tags: trunk | |
| 19:49 | Getting docs ready for release check-in: b0807ea998 user: danshearer tags: trunk | |
| 14:59 | Partial docs update especially benchmarking now we have a few thousand rows. check-in: d51508e38d user: danshearer tags: trunk | |
| 14:00 | Lots of doc updates now we have a few thousand benchmarking runs and more Fossil testing check-in: da1a34899b user: danshearer tags: trunk | |
| 00:52 | Just one benchmarking script now check-in: 3cb486b6f3 user: danshearer tags: trunk | |
| 00:25 | Fix outdated docs, for siphash, new benchmark-filter options etc check-in: e6f5ec5d93 user: danshearer tags: trunk | |
| 00:05 | Found rare edge case where a stale Makefile.options was getting through to make check-in: aed2e691dc user: danshearer tags: trunk | |
|
2026-06-18
| ||
| 19:23 | Add native SQLite-only loop to lumosql-matrix-on-big-machine.sh we were doing some, but not nearly enough. check-in: c0bcdaee38 user: danshearer tags: trunk | |
| 17:52 | Fix benchmark-filter.tcl result grouping bug. Bump version. check-in: ca2eeba32d user: danshearer tags: trunk | |
| 14:12 | Fix another benchmark targets bug check-in: 48de739b7c user: danshearer tags: trunk | |
| 14:01 | Fix bug where datasize was accidentally switched off for benchmark targets check-in: a6f9e12738 user: danshearer tags: trunk | |
| 10:53 | Update TODO and enforce the temporary lower bound of SQLite versions at 3.43 check-in: a378c46408 user: danshearer tags: trunk | |
| 08:53 | Add siphash message authentication code by Jean-Philippe Aumasson and Daniel J. Bernstein. Use it as fast row-based checksum by hardcoding a public default key. Other uses will come. check-in: 3284ed8b78 user: danshearer tags: trunk | |
| 08:06 | Forward-port the checking features from old benchmark scripts, so now we get accounting about build failures and possible cache clashes between workers. check-in: a64309fce4 user: danshearer tags: trunk | |
| 07:49 | Tidy benchmark script check-in: 62c3295148 user: danshearer tags: trunk | |
| 07:31 | Update versions so that by default, benchmarking does a reasonable number of LMDB backends check-in: af6cf5920f user: danshearer tags: trunk | |
|
2026-06-17
| ||
| 21:52 | Build script cannot in fact take a list of datasizes. Add a loop in the benchmark script instead. check-in: 949558f06f user: danshearer tags: trunk | |
| 21:42 | Pass OPTIONS_DATASIZE through to the build script because it can take a range. check-in: b35025569c user: danshearer tags: trunk | |
| 21:26 | Tidy up commandline options and update help, also add -V version check-in: 9c26e90a65 user: danshearer tags: trunk | |
| 20:33 | Add page checksum dimension check-in: d7ad24d350 user: danshearer tags: trunk | |
| 20:10 | Tweak benchmark check-in: d58ed5598e user: danshearer tags: trunk | |
| 14:27 | Improve Tcl/sqlite probe in the statistical analysis tool, so users can see interesting results immediately even before they have installed LumoSQL or its dependencies. check-in: d89036b47c user: danshearer tags: trunk | |
| 14:00 | another mod invalidated by the new not-fork patch strictily non-fuzzy check-in: ed069c58f4 user: danshearer tags: trunk | |
| 13:13 | Make mod more robust by anchoring to text unaffected by a newline that appeared for a while from SQLite version 3.35 check-in: 17429c57dd user: danshearer tags: trunk | |
| 12:32 | Move anchor point so that the mod doesn't break on an extra linespace that appeared for a few SQLite versions following 3.34. check-in: 0187f3ea34 user: danshearer tags: trunk | |
| 12:31 | Doc tidyups check-in: 9211e21e5b user: danshearer tags: trunk | |
|
2026-06-14
| ||
| 10:13 | Much improved benchmarker/builder check-in: dd7cad5d8f user: danshearer tags: trunk | |
| 09:21 | Add serial writes to stress test. check-in: 7279b5c754 user: danshearer tags: trunk | |
| 09:02 | Default LumoSQL to sync=normal in all circumstances and ensure the amalgamation sees it. MDB_NOMETASYNC is Lumo's sync=normal, which is one fsync per LMDB commit and maximum loss of one transaction. This is what is now persisted throughout as normal if nothing is specified. check-in: 63c02c8703 user: danshearer tags: trunk | |
| 02:23 | lmdbv1: optional CRC-32C page checksums (OPTION_LMDBV1_CHECKSUM) Add per-page corruption detection to the lmdbv1 backend. The purpose of this is to detect corruption in pages at rest on disk. (Already added docs in previous commits.) When built with lmdbv1_checksum=on, the backend registers a CRC-32C checksum function via mdb_env_set_checksum(). LMDB does the rest. The CRC is Mark Adler's crc32c.c v1.5, vendored verbatim (zlib-style licence) as lumo-crc32c.c . Temp/memdb scratch is not checksummed. Adds test/sql/page-checksum-corruption.test flips a bit on-disk to see if it is detected. 6 new files created, 3 modified. check-in: 225196918f user: danshearer tags: trunk | |
| 01:05 | Add sync build option to lmdbv1 (exactly the same as for lmdb 0.9.x, although the trees are starting to diverge now.) check-in: 8add7f5256 user: danshearer tags: trunk | |
| 00:34 | Getting ready for a big benchmarking run, doing encryption and page checksums for the first time, and also the default sync=normal. New script to do the build/bench all in one, but some sanity checking of the results database. Added a -since parameter to benchmark-filter.tcl . check-in: 75aa3bc7d4 user: danshearer tags: trunk | |
| 00:14 | Implement sync with NORMAL as default (same functionality as SQLite WAL mode default "normal") check-in: 01acfce9f3 user: danshearer tags: trunk | |
| 00:12 | Adding the sync patches bit by bit check-in: 131bff077d user: danshearer tags: trunk | |
| 00:02 | Docs updating check-in: 00d5eae975 user: danshearer tags: trunk | |
|
2026-06-13
| ||
| 21:25 | Update docs for v0.81 including encryption and page-based checksums via LMDBv1.0 check-in: 90939fdcf1 user: danshearer tags: trunk | |
| 20:39 | I forgot that `fossil sql` has a different database open path than everything else, and therefore it couldn't handle a key. Quite few of the tests in fossil/test use fossil sql, so it was a blocker. This closes out the encryption feature, everthing else is either a bug (there's probably many) or extending to more features, ciphers, message authentication etc.) With a bit more testing perhaps it can go on a fossil branch. check-in: 0e42ed4f55 user: danshearer tags: trunk | |
| 16:20 | More nits. Works most of the time for most people who've tried it now! check-in: 1c8ca30212 user: danshearer tags: trunk | |
| 15:42 | Fix URLs and wording check-in: 20a906ed3c user: danshearer tags: trunk | |
| 14:51 | Update with latest changes and linting for LumoSQL 0.81 check-in: 420bb975ef user: danshearer tags: trunk, v0.81 | |
| 14:29 | VACUUM now works with encrypted databases, which means fossil import and fossil rebuild now work. The problem was partly in the LMDB shim (copying btrees from temp to permanent in the wrong way) and partly in LMDB (overwriting metadata at the end of pages under some circumstances.) Thanks to Howard Chu for the LMDB fix https://github.com/openldap/openldap/commit/b4a1d0fbe606fa655ad4569720286e492bb51844 check-in: bf97a4b6ea user: danshearer tags: trunk | |
| 14:25 | Make much more smooth, and multiply-checked crypto... check-in: 07f535d38e user: danshearer tags: trunk | |
| 13:07 | First draft explaining SQLite meta slots and the SQLite magic number allocation table. This is probably how we will end up addressing the version number question in TODO.md, because LumoSQL databases (which in some cases are completely backwards compatible with sqlite3 databases, if the user chooses that) need to store metadata regarding LumoSQL and we have more parameters than SQLite to worry about (eg encryption, rowsums, more.) Need to ask SQLite gurus about how the system currently works and if anyone uses it. check-in: f7594c3de4 user: danshearer tags: trunk | |