Not logged in

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

50 most recent check-ins that include changes to files matching 'not-fork.d/*'

CHanging the context size in the fragment patch (vdbe-changes.mod) to cope with a larger range of sqlite versions, including the current latest (3.39.2) Leaf check-in: f4a08a00ce user: Uilebheist tags: trunk
Removing some warnings produced when testing with clang check-in: f80048502d user: Uilebheist tags: trunk
Adding recent versions of sqlite3 to the "upstream.lock" file check-in: 881386f1dd user: Uilebheist tags: trunk
Minor typo check-in: c8427d4252 user: Uilebheist tags: trunk
Regenerated upstream.lock with full commit ID rather than truncated check-in: 0559d60a5c user: Uilebheist tags: trunk
Adding some extra information so that not-fork can find locally mirrored sources. Adding "upstream.lock" files containing the list of revisions known at the time of committing. build.tcl will not use them automatically because they require the latest not-fork, but they are there in preparation. check-in: 24305c2754 user: Uilebheist tags: trunk
Adding sha-256 checksum for BDB download check-in: 19b27de50a user: Uilebheist tags: trunk
Updating code to make it easier to use alternative test lists (tests only for now, rather than benchmarks). Updated documentation. Added a new set of tests to check the interaction between Lumo metadata and unmodified sqlite check-in: d8a12beeb4 user: Uilebheist tags: trunk
New option, discard_output, to prevent reading the test/benchmark output into a TCL string. This allows very large datasize values without having TCL try to create a string too big and fail. Default is "Off" i.e. same code as before. check-in: c1678c4bae user: Uilebheist tags: trunk
More cleanup of rowsum / lumo extensions code, and now rowsum also works on indices as well as tables with ROWID. check-in: 5948723391 user: Uilebheist tags: trunk
Moving some of the rowsum code to a separate file to simplify the vdbe patch and also to clean things up; it now works with sqlite 3.35.0 or newer, but no longer works with 3.34 due to changes in sqlite. Rowsum on indices is still not there yet. check-in: 5b4e671d94 user: Uilebheist tags: trunk
Some changes to run on FreeBSD: finding tclsh; finding editline/readline; finding a C compiler. Removing code which went into not-forking, and requesting at least not-forking 0.5 check-in: df0ca754bf user: Uilebheist tags: trunk
Allowing the DATASIZE option to have one or two numbers, to specify a separate "read" and "write" data size, with code to remain compatible with older targets which specify just one number. check-in: 79fadb6ad8 user: Uilebheist tags: trunk
Changing minimum LMDB version we use to 0.9.14, as older versions have issues check-in: 78c38ba2a4 user: Uilebheist tags: trunk
Fixes for ARMv7 which probably also apply to other 32 bit processors check-in: 212bde35a6 user: Uilebheist tags: trunk
Extended syntax to specify lists of versions, and allowing list of versions in most places which previously accepted just a single version number. This allows to specify lots of benchmarks in a simpler command line. Also added an option ("make targets") to display the resulting list of targets in a single line, for easier copy and paste to a "make TARGETS='...'" command. Updated all documentation as appropriate. Also changed the default sqlite and LMDB versions for the benchmark to take advantage of the new syntax, in particular using "latest" instead of specifying explicitely a version to use. check-in: 8d1c75505c user: Uilebheist tags: trunk
Changing sqlite3 version to test/benchmark to latest (3.37.2). Updating LMDB backend to work with this version. check-in: 95272775cc user: Uilebheist tags: trunk
Minor comment edits check-in: 30fccbb4f3 user: danshearer tags: trunk
When opening a temporary database with LMDB backend, use a 32 bit mapsize even on 64 bit processors; this works around an out-of-memory error on some architectures. check-in: 57178ce7e5 user: Uilebheist tags: trunk
Changing default sqlite version tested to latest (3.36.0). Recording CPU and OS type in benchmarks and tests results databases. Changing benchmark-filter to be able to add this new information in the output. Also adding import and merge function to benchmark-filter (these are needed to collect test results from different places and keep them in a single database). Allowing spaces instead of commas in field lists and import lists (the latter so that one can use the shell's pathname expansion to import multiple files). check-in: 1082bcedcc user: Uilebheist tags: trunk
Using latest not-forking updates to simplify some configuration check-in: 0779718a2c user: Uilebheist tags: trunk
Simplifying the new pragma code check-in: b7f044b062 user: Uilebheist tags: trunk
Documentation update after the earlier changes; also removing the option BENCHMARK_DB which had no effect on the benchmark, only (misleadingly) on the output of "make what". The correct option, DATABASE_NAME, is now documented. Also revised examples to match the most recent version of the build system. check-in: 2baa14be76 user: Uilebheist tags: trunk
Added a mechanism to add backend-specific SQL to a test or benchmark. Changed the LMDB transaction type from a build-time option to a runtime option specified by a PRAGMA: used the new mechanism to add this pragma to the first test, which creates the database, but only when the backend is LMDB. check-in: 3eb90a761d user: Uilebheist tags: trunk
Changing the LMDB upstream definition file to use the new format introduced by not-forking 0.4; adding code to use the new --use-version option in not-forking so that the build system will cope with any future incompatible changes to not-forking itself. check-in: 7574565d11 user: Uilebheist tags: trunk
Adding code to mark tests which are not benchmarks; "make benchmark" will skip these tests; a new "make test" target will run all tests but won't record the timing in the benchmarks database: these tests are there to test backend changes, but it doesn't make sense to benchmark them. Updating two tests to be skipped this way when running benchmarks. check-in: eda2b7208e user: Uilebheist tags: trunk
Portability change: some C compilers don't like the variadic macro used for LUMO_LOG so changed it to be more portable. Also made sure to close a database which was open with BTREE_SINGLE. Some more debugging messages. check-in: 44c9b30532 user: Uilebheist tags: trunk
Making sqlite 3.18.2 build on NetBSD check-in: d62663bd04 user: Uilebheist tags: trunk
Implementing another missing function and adding code to benchmark it check-in: 2ab354b0f0 user: Uilebheist tags: trunk
First steps in getting the build/benchmark working on NetBSD; there are some problems which will need to be investigated but at least it builds and the LMDB backend passes most of the tests. check-in: b6b985cfd7 user: Uilebheist tags: trunk
Adding sqlite3BtreeTransferRow() and making changes to sqlite3BtreeInsert() so that the LMDB backend will work with sqlite 3.35. Changing the default sqlite version for the LMDB backend benchmarks to 3.35.3 check-in: bf08eba296 user: Uilebheist tags: trunk
Changing default versions used in benchmarks to reflect the latest check-in: 4f51648b4d user: Uilebheist tags: trunk
Adding an option to specify a "make" command (default "make"); this is needed on systems with BSD make to use "gmake" or some other program. check-in: ba96cebb98 user: Uilebheist tags: trunk
Finishing the new transaction code - it was actually nearly complete, apart from a small bug now fixed check-in: f36afcc4fd user: Uilebheist tags: trunk
Adding a test to check the upgrade of read-only transactions to read/write. Adding a third (incomplete, work in progress) type of transaction code, and changing the lmdb_transaction option as appropriate. Now a transaction can be "noupgrade" (fails when a r/o transaction needs to be upgraded to r/w), "serialise" (always start a r/w transaction, which limits concurrency) and the new "optimistic" which tries to abort the LMDB transaction when upgrading and then start a new r/w LMDB transaction: this could fail if there have been changes to the database since the start of the r/o transaction, so it could return SQLITE_BUSY at that point: this new code is incomplete. check-in: 5e3839c15e user: Uilebheist tags: trunk
New benchmark option sqlite3_journal to select the journal_mode (wal, delete, etc); also adding the lmdb_transaction option which was missing from last commit (which had the code to use it...) check-in: b7a6135f9f user: Uilebheist tags: trunk
The LMDB backend always created a read/write transaction for writable databases; this because LMDB cannot upgrade a read/only transaction to read/write and creating a new r/w transaction would mean potentially basing an update on the wrong data. However the debugging log suggests that this is not necessary at least for the tests we've been running; added an option to control this: by default, the backend will have readonly or read/write transactions as requested by VDBE, but will return an error if asked to upgrade r/o to r/w; this increases concurrency; if it turns out to be necessary, we can change the default (and look if there is another way to get the same result without reducing concurrency so much). check-in: 00d772da6f user: Uilebheist tags: trunk
Updated some comments and marked some parts which still need to be written check-in: 37f2e7a39b user: Uilebheist tags: trunk
Removing some unnecessary code (LMDB works better without it...) check-in: fd2c8d2282 user: Uilebheist tags: trunk
Adding some extra debugging output, and also build options to control it. Fixed an issue which appears in "DROP TABLE" when vdbe starts a transaction and then closes the btree without either committing it or rolling back. Also added a build option to control how rowids are stored, the code was already there in two versions but this helps comparing them. check-in: ad67763568 user: Uilebheist tags: trunk
Start on a rewrite of the LMDB backend; this version works with sqlite 3.34.1 rather than with a very old version as the old backend did; the code is still incomplete and many functions are stubs: there is just enough to pass the tests included in LumoSQL; also, the index code is probably rather slower than necessary and needs to be reviewed. check-in: 747176082c user: Uilebheist tags: trunk
Added a mechanism to check test output in some cases; the checking is incomplete but it already shows some differences in the LMDB backend compared to the unmodified sqlite, so that already has revealed a bug in the backend check-in: d26a8de944 user: Uilebheist tags: trunk
Adding blake3 as an option for rowsum, using files from the reference implementation check-in: 32befaccfb user: Uilebheist tags: trunk
Moving the rowsum generation to OP_Insert since it cannot be used for indices but only for rowid tables; also fixing a problem with the previous code which hadn't appeared in previous testing. The new patches require a newer version of not-forking. check-in: 4f641d3381 user: Uilebheist tags: trunk
Moved the database creation from build.tcl to the first test, so it's easier to specify pragmas and other options for it; also added two more lists of SQL statements per test, for setup and cleanup code which is executed but not timed; and added two files to contain common setup/cleanup code to simplify the tests. Updated the documentation. check-in: 44de73f04c user: Uilebheist tags: trunk
Added a pragma to specify the rowsum algorithm at runtime and changed the options so the algorithm selection is no longer a build time option. The pragma code needs to be reviewed and the values made persistent but it helps with benchmarking. check-in: 2260382094 user: Uilebheist tags: trunk
Remove the Lumo blob when writing an index, as that breaks things. Will need a new mechanism to have e.g. rowsum on an index (which is necessary to check a select using a covering index) check-in: 110be6992b user: Uilebheist tags: trunk
(Re-)adding a test which creates an index, so the subsequent "UPDATEs with an index" are actually what they say; the test had been removed from sqlightning because it caused the next test to fail. Fixed the LMDB backend so it works with the index for newer versions of LMDB; removed the oldest version from the default benchmark as there doesn't seem to be much point in fixing the code to make that work. check-in: 7ea9e8674d user: Uilebheist tags: trunk
Adding an option to seleect the rowsum algorithm check-in: 11c5c548d8 user: Uilebheist tags: trunk
The rowsum verification was left commented out by mistake... fixing that; also making some other logic changes. The rowsum has quite a performance hit when sqlite reads a row multiple times so that will need to be addressed. check-in: 0270fee9f8 user: Uilebheist tags: trunk