drh [Sun, 5 Feb 2023 20:29:10 +0000 (20:29 +0000)]
Do not use a Bloom filter if any outer loop lacks STAT1 data, since without
STAT1 data, the query planner cannot make an accurate determination of
whether or not a Bloom filter will be useful. This fixes the problem
reported by [forum:/forumpost/56de336385|forum post 56de336385].
drh [Sun, 5 Feb 2023 00:47:27 +0000 (00:47 +0000)]
Restore a test for pBt NULL that was removed by [12a14711afa6cddb] but turned
out to be necessary, as dbsqlfuzz quickly showed us. Test case added to TH3.
dan [Sat, 4 Feb 2023 19:01:17 +0000 (19:01 +0000)]
Updates to the testrunner.tcl script so that uses a separate sub-process for each test. And so that it runs the release test procedure currently handled by wapptest.tcl.
stephan [Thu, 2 Feb 2023 06:17:22 +0000 (06:17 +0000)]
Remove automatic installation of JS-global S object for the sake of client libraries which embed this library, per [forum:9d4f722c6912799d|request in the forum].
drh [Wed, 1 Feb 2023 15:41:07 +0000 (15:41 +0000)]
Just because a CTE is used more than once, does not mean it should be
tagged with M10d_Yes and thereby prohibited from participating in the
query flattening optimization. See
[forum:/forumpost/1d571c02963355ed|forum thread 1d571c02963].
drh [Mon, 30 Jan 2023 20:44:54 +0000 (20:44 +0000)]
Additional tweaks to the enhancement at [609fbb94b8f01d67] to further reduce
the cost estimate for constructing an automatic index on an ephemeral table,
in order to resolve the performance problem described by
[forum:/forumpost/1d571c0296|forum post 1d571c0296].
stephan [Sun, 29 Jan 2023 05:09:39 +0000 (05:09 +0000)]
Correct the handling of the worker1 and promiser JS files in the face of the bundler-friendly changes. Those files require separate, bundler-friendly copies.
dan [Sat, 28 Jan 2023 17:37:37 +0000 (17:37 +0000)]
Fix a problem causing "PRAGMA quick_check" to return spurious corruption errors for a WITHOUT ROWID for which all columns are either virtual or part of the primary key, and for which the order of the columns in the primary key definition is different from the order in the table.
dan [Sat, 28 Jan 2023 16:37:30 +0000 (16:37 +0000)]
Update sqllimits1.test to account for the fact that if an odd value is specified as the length in bytes of a utf-16 string, it is truncated to the largest smaller even number.
stephan [Sat, 28 Jan 2023 09:11:08 +0000 (09:11 +0000)]
Overhaul ext/wasm/GNUmakefile to consolidate what amounts to much copy/paste/slightly-edit duplication into a single function, called once per distinctive build mode (vanilla, ESM, bundler-friendly).
stephan [Fri, 27 Jan 2023 17:14:55 +0000 (17:14 +0000)]
Extract emcc version in JS build and use it to conditionally set build flags. Initially a workaround for [https://github.com/emscripten-core/emscripten/issues/18610|Emscripten ticket #18610] but may have other uses.
stephan [Fri, 27 Jan 2023 02:21:16 +0000 (02:21 +0000)]
Resolve a nested if-block bug in ext/wasm/c-pp.c which caused output after a nested block to be unduly elided. Remove a kludge, added in the previous check-in, which worked around that bug.
drh [Wed, 25 Jan 2023 19:05:04 +0000 (19:05 +0000)]
Defer calling the destructor for the user data on a module until after the
module has disconnected.
[forum:/forumpost/b68391eb71fdff73|Forum post b68391eb71fdff73].
drh [Wed, 25 Jan 2023 16:56:24 +0000 (16:56 +0000)]
Enhance the sqlite3_vtab_in_first() and sqlite3_vtab_in_next() interfaces so
that they reliably return SQLITE_ERROR (and not SQLITE_MISUSE) if they are
invoked on a parameter that did not have multi-value IN processing enabled
via a prior call to sqlite3_vtab_in(). See
[forum:/forumpost/a823d4a3d5f73def|forum thread a823d4a3d5f73def].
dan [Tue, 24 Jan 2023 11:24:28 +0000 (11:24 +0000)]
Fix a problem with using fts3 auxiliary functions with expressions like "E AND ...", where E is a NEAR expression that consists entirely of deferred tokens.
drh [Mon, 23 Jan 2023 21:41:41 +0000 (21:41 +0000)]
Suppress a harmless compiler warning.
[forum:forumpost/e3f72e9291189925|Forum post e3f72e9291189925]. The code
was legal and correct. The revised code is actually less clear in its intent.
But at least now there will (hopefully) be no warning.
drh [Mon, 23 Jan 2023 20:45:47 +0000 (20:45 +0000)]
Due to a coding error, check-in [8efd61e8518594e3] did not actually use
just read transactions if the operation is read-only and the
SQLITE_MAX_ATTACHED macro is set to 31 or more. This was due to a misuse
of the writeMask field of Parse, pointed out by
[forum:/forumpost/aa173c18d5|forum post aa173c18d5].
dan [Fri, 20 Jan 2023 17:50:24 +0000 (17:50 +0000)]
Ensure that the database encoding cannot be changed while there are statements running. And that the connection is left in a valid state after an obscure OOM within sqlite3_deserialize().
stephan [Wed, 18 Jan 2023 17:39:04 +0000 (17:39 +0000)]
Emit sqlite3-api.(m)js during the JS build process, which are the JS APIs without the Emscripten/wasm-loading parts. They are hypothetically useful for arbitrary build environments/toolchains but have notable caveats related to the wasm imports, as elaborated on in the makefile.
drh [Tue, 17 Jan 2023 13:33:51 +0000 (13:33 +0000)]
Add test cases to confirm that the schema parsing quirk in which an
ON CONFLICT clause is accepted and ignored on table CHECK constraints but
raises an error on column CHECK constraints. We want to continue supporting
this harmless quirk to avoid breaking legacy applications and databases that
accidentally use it.
drh [Sat, 14 Jan 2023 19:53:42 +0000 (19:53 +0000)]
Omit the long-disused FTS1 and FTS2 implements from the active source tree.
The code will persist forever in the source repository, but there is no point
in carrying it around in the latest tarballs where it is never used.