]> git.ipfire.org Git - thirdparty/sqlite.git/log
thirdparty/sqlite.git
11 months agoAdd extra assert() statements to the fixes on this branch. alignment-fixes
dan [Wed, 17 Jul 2024 16:27:36 +0000 (16:27 +0000)] 
Add extra assert() statements to the fixes on this branch.

FossilOrigin-Name: 81b6360050eea95e4367de1b41b5864a640b4d1c5c8fc3bea3b96ed770cb0325

11 months agoFixes for platforms with 32-bit pointers that require 64-bit values to be aligned.
dan [Sat, 13 Jul 2024 16:53:56 +0000 (16:53 +0000)] 
Fixes for platforms with 32-bit pointers that require 64-bit values to be aligned.

FossilOrigin-Name: 2212d7488ed4ec2839ffa45cb9567056b36519434834634e4ecc441c330694d7

11 months agoAdd missing sqlite3_bind_parameter_name() binding to JS.
stephan [Sat, 13 Jul 2024 13:22:32 +0000 (13:22 +0000)] 
Add missing sqlite3_bind_parameter_name() binding to JS.

FossilOrigin-Name: 6dcfcc7e1c0772b11aec750bb75899a5c8e452735ecf5028c001fbaa7aa6fda0

11 months agoAdd JS bindings and tests for sqlite3_interrupted(), is_interrupted(), and db_readonly().
stephan [Sat, 13 Jul 2024 12:50:42 +0000 (12:50 +0000)] 
Add JS bindings and tests for sqlite3_interrupted(), is_interrupted(), and db_readonly().

FossilOrigin-Name: 5589ba5651d80479ae555429340fc74390ff07d3e05ba770bb7d82490211e00d

11 months agoRemove a stray/harmless duplicate wasm function export entry.
stephan [Sat, 13 Jul 2024 11:47:44 +0000 (11:47 +0000)] 
Remove a stray/harmless duplicate wasm function export entry.

FossilOrigin-Name: 5402e4fb1cbd7a2c3dee6ebfb492a076d05daa66f747d18602338874405829df

11 months agoAdd several convenience links to the OPFS VFS concurrency tester app for launching...
stephan [Sat, 13 Jul 2024 01:40:36 +0000 (01:40 +0000)] 
Add several convenience links to the OPFS VFS concurrency tester app for launching it with various combinations of options.

FossilOrigin-Name: 397d6a18f173a46b60a867fc45611045c76316d6602a3df8b4dc4ba45e1348ce

11 months agoAdd an option to the opfs-sahpool VFS which tells it to ignore a previous init failur...
stephan [Sat, 13 Jul 2024 01:02:57 +0000 (01:02 +0000)] 
Add an option to the opfs-sahpool VFS which tells it to ignore a previous init failure and retry, as an opt-in workaround for a browser quirk which occasionally denies OPFS access on the first attempt and permits it on subsequent attempts. This resolves [https://github.com/sqlite/sqlite-wasm/issues/79|issue #79 of the npm distribution].

FossilOrigin-Name: fbf3948a4ba27c6ebf55b24e7463b20026439f04d1974bafe78df5c5bc958f59

11 months agoRename the new opfs-sahpool init-retry flag to the suitably descriptive, and suitably... sahpool-reinit-fallback
stephan [Sat, 13 Jul 2024 00:55:55 +0000 (00:55 +0000)] 
Rename the new opfs-sahpool init-retry flag to the suitably descriptive, and suitably onerous, forceReinitIfPreviouslyFailed, based on feedback.

FossilOrigin-Name: c9f0a6090258534a3d81066df5610229183a8457fc60d5034b4b94d9a29796e4

11 months agosqldiff: fail if the 2nd db argument cannot be opened read-only.
stephan [Fri, 12 Jul 2024 14:41:16 +0000 (14:41 +0000)] 
sqldiff: fail if the 2nd db argument cannot be opened read-only.

FossilOrigin-Name: e8b33525fc2b4d609a7be9acc43fbc66638effaa7b092b48568ded6c53c4f4db

11 months agoWork around a difficult-to-trigger Atomics API message-passing quirk in the OPFS...
stephan [Fri, 12 Jul 2024 13:49:54 +0000 (13:49 +0000)] 
Work around a difficult-to-trigger Atomics API message-passing quirk in the OPFS VFS which appears in rare instances in some browsers when running high I/O loads. This resolves [https://github.com/sqlite/sqlite-wasm/issues/12 | issue #12 of the npm distribution].

FossilOrigin-Name: af41a1e6fc8b36e9bf65a5bb0154e1ce7eb99903cb5a3e4779322527c29d8780

11 months agosqldiff: if the first db argument does not exist, fail instead of creating an empty...
stephan [Fri, 12 Jul 2024 13:45:15 +0000 (13:45 +0000)] 
sqldiff: if the first db argument does not exist, fail instead of creating an empty db. Resolving that for the second argument is trickier, as discussed in [forum:ec2d429e32 | forum post ec2d429e32].

FossilOrigin-Name: 0547ccf776c6054732437bffb8b2fe2ed5194ef817c2593f8cec4a3e2b749720

11 months agoReformulate the forceReinitIfFailed handling based on feedback, to correct the type...
stephan [Thu, 11 Jul 2024 19:50:17 +0000 (19:50 +0000)] 
Reformulate the forceReinitIfFailed handling based on feedback, to correct the type-checking and resolve a potential race condition.

FossilOrigin-Name: c4f468309158f9b951137461213fb269d96d15c331256cf392a56c9bed231460

11 months agoRemove the timing and counter metrics from the OPFS VFS, as they're long-since unused... opfs-errant-op
stephan [Thu, 11 Jul 2024 14:07:46 +0000 (14:07 +0000)] 
Remove the timing and counter metrics from the OPFS VFS, as they're long-since unused so are just wasted CPU cycles.

FossilOrigin-Name: 67c035c34fb916e66bfe115a132660771e8fa2921e6d46756975c5df3ebcd73c

11 months agoAdd some docs explaining [64f4f3cd878b1a72].
stephan [Thu, 11 Jul 2024 12:57:58 +0000 (12:57 +0000)] 
Add some docs explaining [64f4f3cd878b1a72].

FossilOrigin-Name: 4fdf9a322fccf7d68b03d07a42a526f18f951e2e19228b7d41e01121b667cc86

11 months agoProposed workaround for the "errant op" case in the OPFS VFS, as discussed in [https...
stephan [Thu, 11 Jul 2024 12:36:28 +0000 (12:36 +0000)] 
Proposed workaround for the "errant op" case in the OPFS VFS, as discussed in [https://github.com/sqlite/sqlite-wasm/issues/12 | issue #12 of the npm distribution].

FossilOrigin-Name: 64f4f3cd878b1a723caa0cd54b21f10fdb27d4e2ecb19fc233cbc8dd9d06f259

11 months agoAdd an option to force the opfs-sahpool VFS init to re-run after it fails on a first...
stephan [Thu, 11 Jul 2024 11:04:17 +0000 (11:04 +0000)] 
Add an option to force the opfs-sahpool VFS init to re-run after it fails on a first attempt, as a workaround for flaky environments where initial access to OPFS sync access handles is rejected but then permitted on a second attempt. Reported and discussed in [https://github.com/sqlite/sqlite-wasm/issues/79|issue #79 of the npm distribution].

FossilOrigin-Name: 5286e0f654d91a4ebee51fcabaab696e17ff07bb18990b401a31bd3d1213e695

11 months agoRename some JS files for consistency. This affects only the build process, not the...
stephan [Wed, 10 Jul 2024 08:33:52 +0000 (08:33 +0000)] 
Rename some JS files for consistency. This affects only the build process, not the deliverables.

FossilOrigin-Name: bcef3f71a2f68768819d9f716f2c29e752fb173df1506469c8669d95ecc2ff50

11 months agoFix a use-after-free that could occur following an OOM introduced by [d8cedbe0].
dan [Mon, 8 Jul 2024 17:39:52 +0000 (17:39 +0000)] 
Fix a use-after-free that could occur following an OOM introduced by [d8cedbe0].

FossilOrigin-Name: 4fabfacfcf38e129949d3e4e2c3ffde3da3cd40d9d12c97ca29bc7c3604db6ed

11 months agoImprove the error message returned when fts5 finds a row is missing from its content...
dan [Mon, 8 Jul 2024 16:01:49 +0000 (16:01 +0000)] 
Improve the error message returned when fts5 finds a row is missing from its content table.

FossilOrigin-Name: 9b1afd4acb8cf9738154e921dcb074d895bbcc4742bf1016ef9f045a0da78bc8

12 months agoUse a mini Bloom filter to help reduce the number of pointless searches for
drh [Fri, 5 Jul 2024 13:55:59 +0000 (13:55 +0000)] 
Use a mini Bloom filter to help reduce the number of pointless searches for
prior SubrtnSig objects when generating code for IN operators with subqueries
as their right operand.

FossilOrigin-Name: d8cedbe055b40a0ea4e5d47845b535162e9fcb0d0f88c03211797ab64d2d56fb

12 months agoImproved reuse of subqueries associated with IN operators, especially when
drh [Fri, 5 Jul 2024 09:56:11 +0000 (09:56 +0000)] 
Improved reuse of subqueries associated with IN operators, especially when
the IN operator is duplicated due to predicate push-down.

FossilOrigin-Name: c9a3498113074bbcd9a8c8d30286fef6c6a49ad2c84b90ec0f5a148389d6245c

12 months agoSmall performance optimizations. reuse-subqueries
drh [Fri, 5 Jul 2024 01:05:34 +0000 (01:05 +0000)] 
Small performance optimizations.

FossilOrigin-Name: 99fd34b58a9b09af20f1f1a3c37137ae55159310c8af97806550eeee6adc4fc5

12 months agoAdd test cases to in7.test.
dan [Thu, 4 Jul 2024 18:56:26 +0000 (18:56 +0000)] 
Add test cases to in7.test.

FossilOrigin-Name: 07817efc10a6ab59dcb18ad218a3bb5a5d49a724c51296d5c8d7e386b0e0c789

12 months agoDisable the reuse of IN-clause subqueries if the subquery is an explicit
drh [Thu, 4 Jul 2024 18:26:41 +0000 (18:26 +0000)] 
Disable the reuse of IN-clause subqueries if the subquery is an explicit
"SELECT ALL".  The ALL keyword is almost never used in actual practice (most
developers don't even know it can be used) so this should not interfere with
the optimization, but it does give us a convenient way to turn it off for
testing purposes.

FossilOrigin-Name: a81299be2ce203dcc28e7d0ba24791cbfba80e1ee3e1564469a226cac8adb17d

12 months agoUpdate EXPLAIN output to include P4_SUBRTNSIG.
dan [Thu, 4 Jul 2024 17:49:34 +0000 (17:49 +0000)] 
Update EXPLAIN output to include P4_SUBRTNSIG.

FossilOrigin-Name: 61e56923c80d72d6467ec703b4946b251abf591649fa9e8e579667d7cbd25682

12 months agoBe more aggressive about reusing subqueries that appear on the RHS of IN
drh [Thu, 4 Jul 2024 16:57:11 +0000 (16:57 +0000)] 
Be more aggressive about reusing subqueries that appear on the RHS of IN
operators that have been replicated due to the predicate push-down optimization.

FossilOrigin-Name: 2accf32b6e45a396503c29eecc14a103bcc7b4c313cde921b26b489704060177

12 months agoAdd comment using the name "predicate push-down optimization" to what we have
drh [Thu, 4 Jul 2024 11:15:32 +0000 (11:15 +0000)] 
Add comment using the name "predicate push-down optimization" to what we have
also called "WHERE-clause push down".  No changes to code.

FossilOrigin-Name: be77fe701c7b7d3407800e1ed6a4c8be14035831790419cc99362bff41c65b60

12 months agoFor shell completion, use pragma_table_xinfo instead of pragma_table_info, so that...
stephan [Thu, 4 Jul 2024 09:45:23 +0000 (09:45 +0000)] 
For shell completion, use pragma_table_xinfo instead of pragma_table_info, so that generated columns are handled, as reported in [forum:f0735e05d8d7e857|forum post f0735e05d8d7e857].

FossilOrigin-Name: a204ffc06b468c2edf8f11ccf3de639edd4f8282e69a44ceeb68a4d3a43e77ea

12 months agoWhen constructing an ephermeral table to use as the right-hand side of
drh [Wed, 3 Jul 2024 20:19:33 +0000 (20:19 +0000)] 
When constructing an ephermeral table to use as the right-hand side of
an IN operator, also construct a Bloom filter to speed membership testing.

FossilOrigin-Name: baa83b460c677c210c7fa3f20314d7e05f305aed8a69026bc5fa106a3de4ea38

12 months agoShow the creation of IN-operator Bloom filters in the EXPLAIN QUERY PLAN output. in-bloom
drh [Wed, 3 Jul 2024 20:10:42 +0000 (20:10 +0000)] 
Show the creation of IN-operator Bloom filters in the EXPLAIN QUERY PLAN output.

FossilOrigin-Name: c10a1b99d47a4c93bdb16e646f6a21add570d6dbb34fd91a32f8abacdb28712b

12 months agoAdd a new sqlite3FaultSim() call to OP_NotFound to use for testing purposes.
drh [Wed, 3 Jul 2024 18:56:56 +0000 (18:56 +0000)] 
Add a new sqlite3FaultSim() call to OP_NotFound to use for testing purposes.

FossilOrigin-Name: 84fd275bfd8afada50d3a5ac491d2b866671f8f0d2496bd240cf4bfdd74e7399

12 months agoUse a Bloom filter to improve performance of IN operators when the RHS of
drh [Wed, 3 Jul 2024 17:51:48 +0000 (17:51 +0000)] 
Use a Bloom filter to improve performance of IN operators when the RHS of
the IN operator is a subquery.

FossilOrigin-Name: 1933496539c19cbf429a39d6b0b1c6b1b2af50733a3c4aea4920990ced652f6a

12 months agoAdd assert() statements to FTS5 to hush-up warnings from scan-build.
drh [Tue, 2 Jul 2024 13:54:46 +0000 (13:54 +0000)] 
Add assert() statements to FTS5 to hush-up warnings from scan-build.

FossilOrigin-Name: 77a76654e64c05f2c67be120f579fc60924ff51a9d0fa2cf9eb158f40171b5f5

12 months agoReword the deliberate_fall_through macro along the lines suggested by
drh [Tue, 2 Jul 2024 12:16:29 +0000 (12:16 +0000)] 
Reword the deliberate_fall_through macro along the lines suggested by
[forum:/forumpost/7ec11023dd|forum post 7ec11023dd] so that it works better
with LLVM, while preserving compatibility with MSVC and older GCCs.

FossilOrigin-Name: fc248a4a0a232a95a79e24e57faedb5d824c3bf0aa62054b72339257dc9c18b3

12 months agoIn the CLI, if the XDG_CONFIG_HOME environment variable is not set, then also
drh [Tue, 2 Jul 2024 11:30:10 +0000 (11:30 +0000)] 
In the CLI, if the XDG_CONFIG_HOME environment variable is not set, then also
search in ~/.config/sqlite3/sqliterc for the initialization file.
See [forum:/forumpost/5cc6d059e9e092ed|forum thread 5cc6d059e9e092ed].

FossilOrigin-Name: 33841c9c3cb57beeb3884d4b0715d26199926b7d3e4d3dd1ab6f5603b5a62591

12 months agoFix a typo in a comment in a test case. No changes to code.
drh [Sat, 29 Jun 2024 15:57:55 +0000 (15:57 +0000)] 
Fix a typo in a comment in a test case.  No changes to code.

FossilOrigin-Name: f501166de4f967b7e2e895f180308630e3c88b12bc51823a0a124ee5089eae4f

12 months agoAdd a NEVER() around a branch in sqlite3ExprAffinity() that is designed to
drh [Sat, 29 Jun 2024 12:22:32 +0000 (12:22 +0000)] 
Add a NEVER() around a branch in sqlite3ExprAffinity() that is designed to
prevent an infinite loop, but which can now never be reached due to recent
changes.

FossilOrigin-Name: da0b794852f8ccba5bd30395892044ec71b148075608406867785395e1f50b31

12 months agoUpdate fts5 comment/docs to include the order matches are visited in by the xPhraseFi...
dan [Fri, 28 Jun 2024 18:21:30 +0000 (18:21 +0000)] 
Update fts5 comment/docs to include the order matches are visited in by the xPhraseFirst/xPhraseNext API.

FossilOrigin-Name: e41930ef5b883c0f2a6b7eb9606021d14a3df145bc94cb0d508af22b4db7f168

12 months agoAdditional steps to make sure calls to sqlite3ExprToRegister() are sane.
drh [Fri, 28 Jun 2024 18:07:10 +0000 (18:07 +0000)] 
Additional steps to make sure calls to sqlite3ExprToRegister() are sane.

FossilOrigin-Name: 1c42d7176b228791f99bc9971d92a9ab67b1e2956ca4f8d934bd1a3e596d6c80

12 months agoDo not convert an expression node that is already TK_REGISTER into a
drh [Fri, 28 Jun 2024 17:14:00 +0000 (17:14 +0000)] 
Do not convert an expression node that is already TK_REGISTER into a
new TK_REGISTER.  This is a follow-up to [663f5dd32d9db832] that fixes a
bug discovered by dbsqlfuzz.

FossilOrigin-Name: fcb669cfaa8a59ca710504d5aaa1936f65a6da8ff13473ad84458f97a6fd1f49

12 months agoFix an incorrect tcl comment that appeared in many fts5 test files.
dan [Mon, 24 Jun 2024 18:06:15 +0000 (18:06 +0000)] 
Fix an incorrect tcl comment that appeared in many fts5 test files.

FossilOrigin-Name: d07085e2035b52a7edd27980523225e59c5bf851fb4a6de975f03e653b937c9c

12 months agoFix some problems with calling fts5 api functions from within non-full-text queries.
dan [Mon, 24 Jun 2024 16:08:01 +0000 (16:08 +0000)] 
Fix some problems with calling fts5 api functions from within non-full-text queries.

FossilOrigin-Name: 56d265f956fe6433b625c6d732e55f387af3f643e705316f5a6f709d63731669

12 months agoEnhance the output of ".scanstats vm" to include the absolute number of ticks for...
dan [Mon, 24 Jun 2024 14:53:14 +0000 (14:53 +0000)] 
Enhance the output of ".scanstats vm" to include the absolute number of ticks for each VM instruction, instead of just the percentage of the total.

FossilOrigin-Name: 1535828335d2b0eccebae952ed2bc70cc0cd893bd4b079d26b80deff9b5f752b

12 months agoRevert Lemon so that it only shows -D options that are actually used. Though
drh [Wed, 19 Jun 2024 18:54:04 +0000 (18:54 +0000)] 
Revert Lemon so that it only shows -D options that are actually used.  Though
the change to display the options in sorted order is retained.

FossilOrigin-Name: e54eb217c9508c19aee085b111a1323c9009f014ba4db6019918e27002c4ca8c

12 months agoIn lemon, show all the -D options in the generated header, even if none of them
drh [Wed, 19 Jun 2024 18:46:44 +0000 (18:46 +0000)] 
In lemon, show all the -D options in the generated header, even if none of them
are used.

FossilOrigin-Name: 2aa009c38bb207ac59b9bbd6f8e0d7315697b3fd6a01f9431f29a3c7ccad53e7

12 months agoEnhance lemon.c so that when it shows the compile-time options in the header
drh [Wed, 19 Jun 2024 16:38:17 +0000 (16:38 +0000)] 
Enhance lemon.c so that when it shows the compile-time options in the header
comment of the generated output file, it shows all options, even those not
used, and it shows them in sorted order.

FossilOrigin-Name: eed76e6698eabe47c6bf9696599ce1c2f7aa428cf60f39d0566fbd0d1f6c4c62

12 months agoRemove some extraneous flags from the fiddle-debug build. Internal doc tweaks in...
stephan [Wed, 19 Jun 2024 11:08:58 +0000 (11:08 +0000)] 
Remove some extraneous flags from the fiddle-debug build. Internal doc tweaks in the main wasm makefile.

FossilOrigin-Name: afae2c9e6fba0820c9be8d06a2e301a74167e4457bada45fe57b5fd9287d2e8b

12 months agoMinor cleanups in the new fiddle build code.
stephan [Tue, 18 Jun 2024 22:03:28 +0000 (22:03 +0000)] 
Minor cleanups in the new fiddle build code.

FossilOrigin-Name: d356aebdd450bedc1ecbbdd266effe53c7badbd74ed7e6db8d0c31318d99a35f

12 months agoRework the fiddle build to build separate debug and non-debug bundles, with the latte...
stephan [Tue, 18 Jun 2024 21:50:30 +0000 (21:50 +0000)] 
Rework the fiddle build to build separate debug and non-debug bundles, with the latter in ./fiddle-debug.

FossilOrigin-Name: a9f1758f1cbe7b7d0c87dfb060f52d03c6ea0e066c079891a8ff354073997f9e

12 months agoRemove an extraneous CSS file and import its CSS into the one HTML file which uses it.
stephan [Tue, 18 Jun 2024 20:47:05 +0000 (20:47 +0000)] 
Remove an extraneous CSS file and import its CSS into the one HTML file which uses it.

FossilOrigin-Name: 66085ca42388e8de741712150541a3e0afb06b3e23e738aa9ff687e9fc494c50

12 months agoAdd fiddle-debug make target to ext/wasm. It builds the same target files as a non...
stephan [Tue, 18 Jun 2024 20:40:11 +0000 (20:40 +0000)] 
Add fiddle-debug make target to ext/wasm. It builds the same target files as a non-debug build, as opposed to a new copy, but adds various debug-related flags.

FossilOrigin-Name: 993143c5c39fb6ee15b0661cec8fed436ff04543b528a3796534f5e3a44799f5

12 months agoAdd instructions for how to do debugging builds of the CLI on Windows.
drh [Tue, 18 Jun 2024 19:36:04 +0000 (19:36 +0000)] 
Add instructions for how to do debugging builds of the CLI on Windows.

FossilOrigin-Name: abe81c18614b41c78cf3edeaaf8d85d5d2dbdcf331b580f1c98f80d3726d8189

12 months agoUpdate sqlite3_analyzer to report on the number of WITHOUT ROWID tables and
drh [Tue, 18 Jun 2024 12:19:13 +0000 (12:19 +0000)] 
Update sqlite3_analyzer to report on the number of WITHOUT ROWID tables and
to provide separate aggregate statistics for WITHOUT and WITH ROWID tables.

FossilOrigin-Name: 4152894433c3a292d983b1c196664a0c46e406eccd7e644a64fa443fdb204825

12 months agoInternal doc typo fixes, as reported in the forum. No code changes.
stephan [Tue, 18 Jun 2024 09:58:39 +0000 (09:58 +0000)] 
Internal doc typo fixes, as reported in the forum. No code changes.

FossilOrigin-Name: ea16b286b4344c1833ca3d17b6d315fb4ddcb99bcc232ff6444debeb634881f2

12 months agoRemove some dead JS code.
stephan [Sun, 16 Jun 2024 17:06:50 +0000 (17:06 +0000)] 
Remove some dead JS code.

FossilOrigin-Name: 754e6e059b740435475c1869feeaca39585b262d5c27210e0fbddbbcc202c4d5

12 months agoDo not omit the ORDER BY clause from a recursive CTE just because the
drh [Fri, 14 Jun 2024 23:13:54 +0000 (23:13 +0000)] 
Do not omit the ORDER BY clause from a recursive CTE just because the
query that contains the CTE also contains an ORDER BY clause.  Plus
other changes imported from the recursive-cte-orderby-fix branch.

FossilOrigin-Name: 13242289c5d412b706f50fc7e1553032ea3a52d41a3e34e155432adaf0551481

12 months agoRemove some dead JS code. Improve the exception-to-C-result-code conversion to accoun...
stephan [Wed, 12 Jun 2024 22:15:25 +0000 (22:15 +0000)] 
Remove some dead JS code. Improve the exception-to-C-result-code conversion to account for the case of a file disappearing while the OPFS VFS is waiting to acquire a lock on it.

FossilOrigin-Name: 5bd9fd5f61e7cd1ed3b44c5cabc759c154c98eb40ad10d29e61f142aaa062ddf

12 months agoRemove some JS docs which no longer apply. No code changes.
stephan [Wed, 12 Jun 2024 21:01:44 +0000 (21:01 +0000)] 
Remove some JS docs which no longer apply. No code changes.

FossilOrigin-Name: f253cab3359270045a3ae9f5e9eadc1cfc8844181db127165bfdf49d5f99efb1

12 months agoFix a problem with rolling back hot journals using the unix-dotfile VFS.
dan [Wed, 12 Jun 2024 15:50:35 +0000 (15:50 +0000)] 
Fix a problem with rolling back hot journals using the unix-dotfile VFS.

FossilOrigin-Name: a44703135e8dd3cc67e548e1aa3c42e71df127fb7b593ccfc06025ec42a501fd

12 months agoOmit tests that depend on sqlite3_release_memory() in lock5.test when running the... unix-dotfile-fix
dan [Wed, 12 Jun 2024 15:29:37 +0000 (15:29 +0000)] 
Omit tests that depend on sqlite3_release_memory() in lock5.test when running the memsubsys1 or memsubsys2 permutations.

FossilOrigin-Name: 9d63033bf46ddf0f4d9d4ef06d56357fe6165f2370cd19cf81c2f7f61ce224fc

12 months agoOPFS VFS: change the xCheckReservedLock() impl to always return false, as discussed...
stephan [Wed, 12 Jun 2024 12:36:02 +0000 (12:36 +0000)] 
OPFS VFS: change the xCheckReservedLock() impl to always return false, as discussed in [forum:a2f573b00cda1372|forum thread a2f573b00cda1372]. This does not impact any current tests, and may have no direct impact at all because of how that VFS handles locking, but is hypothetically a more correct solution than the previous one.

FossilOrigin-Name: c298b8ba2dcd01fa28b79a78bb4986fa0282755a0a36b7f38b93096ac31f521e

12 months agoDoc updates in JS code. No functional changes.
stephan [Wed, 12 Jun 2024 12:17:03 +0000 (12:17 +0000)] 
Doc updates in JS code. No functional changes.

FossilOrigin-Name: 587ed3a5d283898ad0e67ccee86a0a4ccc432fa292c0a3534e9e6ec70a7b7780

12 months agoDo not attempt to run hot journal rollback tests in lock5.test with the "inmemory_jou...
dan [Wed, 12 Jun 2024 11:41:18 +0000 (11:41 +0000)] 
Do not attempt to run hot journal rollback tests in lock5.test with the "inmemory_journal" permutation, which cannot generate hot journals.

FossilOrigin-Name: 1e6fa95b88cace9e6cac476863d57cfd8de483f83c922ff964b77cbaee6e9ae4

12 months agoSlight API doc tweak for xCheckReservedLock(), based on forum feedback. No code changes.
stephan [Wed, 12 Jun 2024 11:39:29 +0000 (11:39 +0000)] 
Slight API doc tweak for xCheckReservedLock(), based on forum feedback. No code changes.

FossilOrigin-Name: 2af7a96f6868a4529d689702926b350a4c00082f14da0ded5a8eaea295682d17

12 months agoHandle the case where unix-dotfile is used with URI parameter nolock=1.
dan [Tue, 11 Jun 2024 20:28:56 +0000 (20:28 +0000)] 
Handle the case where unix-dotfile is used with URI parameter nolock=1.

FossilOrigin-Name: 3925a5b904e159d54455cfc73fe837a9c6ea3a6d60da63afde3242b4d6f67c90

12 months agoFix a problem with rolling back hot journals using the unix-dotfile VFS.
dan [Tue, 11 Jun 2024 20:03:32 +0000 (20:03 +0000)] 
Fix a problem with rolling back hot journals using the unix-dotfile VFS.

FossilOrigin-Name: 4ae3300b79e03381fd7f1033bb7978bb6367369790f17c3bdacac51e205edaf9

12 months agoRemove some dead JS code and update some JS docs.
stephan [Tue, 11 Jun 2024 17:04:43 +0000 (17:04 +0000)] 
Remove some dead JS code and update some JS docs.

FossilOrigin-Name: 6935ac71bad3d36cc519f0325ae4447a674f257309d020cdc0741160fcce0580

12 months agoWhen compiling shell.c in SQLITE_SHELL_FIDDLE mode, ensure that the shell_main_exit...
stephan [Tue, 11 Jun 2024 17:04:02 +0000 (17:04 +0000)] 
When compiling shell.c in SQLITE_SHELL_FIDDLE mode, ensure that the shell_main_exit goto label is reachable.

FossilOrigin-Name: 06e6f64533563ab9c059b773e5f0d78085df716f2624e547b7259f6789c3ffe0

12 months agoChange constant expressions to pre-computed constants, because apparently
drh [Tue, 11 Jun 2024 14:36:56 +0000 (14:36 +0000)] 
Change constant expressions to pre-computed constants, because apparently
MSVC on ARM requires that.
[forum:/forumpost/4feb1685cced0a8e|Forum thread 4feb1685cced0a8e].

FossilOrigin-Name: 6c103aee6f146869a3e0c48694592f2e4c6b57ecdb4450f46e762c38b4e686f1

12 months agoImproved header comment on the sqlite3FpDecode() implementation.
drh [Mon, 10 Jun 2024 12:43:03 +0000 (12:43 +0000)] 
Improved header comment on the sqlite3FpDecode() implementation.
For the fpdecode() SQL function (available in debug builds only) limit
the value of the third parameter (mxRound) to be positive.

FossilOrigin-Name: 56af06fa12104a1fe119d7087746011183af053834eac72d0fb69f60d98054c6

12 months agoDisable the omit-noop-join optimization when there are 64 or more terms in
drh [Sun, 9 Jun 2024 17:34:03 +0000 (17:34 +0000)] 
Disable the omit-noop-join optimization when there are 64 or more terms in
the ORDER BY clause.

FossilOrigin-Name: 40de3939792e17df25598b3e60d1cebcecde2b00832acd55604f14b21398a9a7

12 months agoAllow the query planner access to the argument of LIMIT even if that
drh [Thu, 6 Jun 2024 23:56:36 +0000 (23:56 +0000)] 
Allow the query planner access to the argument of LIMIT even if that
argument is a bound parameter.

FossilOrigin-Name: c4a9dda2809c6e0e3d928e11e5553ead82cd9df551bcd35b11a7d869ef80ab8e

12 months agoOmit bogus tests accidentally added by the privious commit. var-in-limit
drh [Thu, 6 Jun 2024 23:22:32 +0000 (23:22 +0000)] 
Omit bogus tests accidentally added by the privious commit.

FossilOrigin-Name: e94dfe9928750dd98145d4d9920b298f7b0868703b487f86e0db77a41d53ccf9

12 months agoBetter optimize queries that use parameters in the LIMIT clause.
drh [Thu, 6 Jun 2024 15:03:16 +0000 (15:03 +0000)] 
Better optimize queries that use parameters in the LIMIT clause.

FossilOrigin-Name: e58cb304d1e0ec6e30260a165aaccc2cf096ce6c999efb06683c4ef600ee12ef

12 months agoRe-enable [dcc2bb2c562e97e090174], as [296eeb26c816bc73] corrects the wasi-sdk build...
stephan [Thu, 6 Jun 2024 12:22:19 +0000 (12:22 +0000)] 
Re-enable [dcc2bb2c562e97e090174], as [296eeb26c816bc73] corrects the wasi-sdk build problem the former check-in triggered. Reported in [forum:143e40d7f4e79c66|forum post 143e40d7f4e79c66].

FossilOrigin-Name: f66608bd356efe492d1003663c2e1ccd7cfbf2d40393d256f8720149904ad2d5

12 months agoAdjust the parser so that the value of TK_ISNOT is similar to the value of
drh [Thu, 6 Jun 2024 01:21:57 +0000 (01:21 +0000)] 
Adjust the parser so that the value of TK_ISNOT is similar to the value of
TK_IS.  This helps the compiler generate faster switch() statements on the
Expr.op fields when there are cases for TK_ISNOT and other common operators.

FossilOrigin-Name: 34f05c3d89b2dd15e4b0d1ba292df7de3dfc54b505c0ba145cc3db52cf020845

12 months agoSmall performance optimization in the operatorMask routine of the WHERE
drh [Thu, 6 Jun 2024 01:00:50 +0000 (01:00 +0000)] 
Small performance optimization in the operatorMask routine of the WHERE
clause analysis logic.

FossilOrigin-Name: 9d69fc1c87ae673356869ecd89eb19734fd126702c0f9fe595336ecd7be89e08

12 months agoSmall performance optimization in the allowedOp() routine of the WHERE
drh [Thu, 6 Jun 2024 00:49:36 +0000 (00:49 +0000)] 
Small performance optimization in the allowedOp() routine of the WHERE
clause analysis code.

FossilOrigin-Name: 4ba8be544711e07748e8dd3ca6b81f9897906061c0a1a1bb4fb3808dc27f734b

12 months agoFix harmless compilation issues seen with MSVC.
mistachkin [Wed, 5 Jun 2024 20:50:39 +0000 (20:50 +0000)] 
Fix harmless compilation issues seen with MSVC.

FossilOrigin-Name: 816d4749384c7f398912c905a16c83b88f4c55632050b4c6117c61301d1a53e1

12 months agoSmall performance optimization in the codeEqualityTerm() routine of the
drh [Wed, 5 Jun 2024 20:41:36 +0000 (20:41 +0000)] 
Small performance optimization in the codeEqualityTerm() routine of the
code generator.

FossilOrigin-Name: 8080c6eafd1280ea870a6ab1ba715ac5af67387e69771be6cbd46dda77c3eaa8

13 months agoFix an fts5 problem with secure-delete mode causing integrity-check to erroneously...
dan [Wed, 5 Jun 2024 14:47:54 +0000 (14:47 +0000)] 
Fix an fts5 problem with secure-delete mode causing integrity-check to erroneously report a corrupt index.

FossilOrigin-Name: 80bef4d60ba9e3679ea66655ca36fcfaa888775a3d1598d50e9649ad84a95b63

13 months agoFix a very obscure issue where the name resolver could get confused if aliases like...
dan [Wed, 5 Jun 2024 11:36:58 +0000 (11:36 +0000)] 
Fix a very obscure issue where the name resolver could get confused if aliases like "sqlite_schema" or "sqlite_master" were used in a query involving the sqlite_temp_schema table.

FossilOrigin-Name: a096eb7554952f8137c6e9330c328164719fb27e958787fbd503bcd1364e6ae4

13 months agoFix harmless compiler warnings seen with MSVC.
mistachkin [Tue, 4 Jun 2024 19:21:16 +0000 (19:21 +0000)] 
Fix harmless compiler warnings seen with MSVC.

FossilOrigin-Name: 93ac8573eead9b785a24715239e71cd3ef730bf16332cf3b5e264a6491374cac

13 months agoBetter handle WHERE terms that are common to two or more OR branches when planning...
dan [Tue, 4 Jun 2024 17:26:15 +0000 (17:26 +0000)] 
Better handle WHERE terms that are common to two or more OR branches when planning virtual table queries.

FossilOrigin-Name: 1976c3f7e1fe77cf3367710e8ada230a3672ed374e316425164e42b2622526c7

13 months agoFix a couple of memory leaks in the shell tool code that could occur when processing...
dan [Tue, 4 Jun 2024 15:07:38 +0000 (15:07 +0000)] 
Fix a couple of memory leaks in the shell tool code that could occur when processing errors.

FossilOrigin-Name: e84f09d469ee76a5b5e44baf6a69b90c69d4160fa4c32de04a96f868643acd96

13 months agoAllow shell command "testctrl pending_byte" to be used in unsafe-testing mode only.
dan [Tue, 4 Jun 2024 14:32:31 +0000 (14:32 +0000)] 
Allow shell command "testctrl pending_byte" to be used in unsafe-testing mode only.

FossilOrigin-Name: afa45c4f5afc9248ca4a1e775404a460280bb9a58a92eae508ae00fb2f675dc6

13 months agoAddress a corner-case associated with the call-function-once optimization
drh [Mon, 3 Jun 2024 18:04:10 +0000 (18:04 +0000)] 
Address a corner-case associated with the call-function-once optimization
of check-in [663f5dd32d9db832] that was causing a (harmless) use of an
uninitialized bytecode register.
dbsqlfuzz 8a44f675401a8b1f68a43bf813c4f4f72ad8f0ea

FossilOrigin-Name: b37ac2d020873b78efa164036db4056406a67330679f850775da520cd8027cb9

13 months agoOmit an unused #define.
drh [Mon, 3 Jun 2024 12:36:43 +0000 (12:36 +0000)] 
Omit an unused #define.

FossilOrigin-Name: 9c2de28a146e4cdfa4c05bf8dbd4ebb1156c71104001edf68e6dd5db21deb91f

13 months agoModify three #if checks in os_unix.c to improve handling of SQLITE_OMIT_WAL on WASI...
stephan [Mon, 3 Jun 2024 07:22:28 +0000 (07:22 +0000)] 
Modify three #if checks in os_unix.c to improve handling of SQLITE_OMIT_WAL on WASI builds. Based on the discussion in/around [forum:57e918431735128a|forum post 57e918431735128a].

FossilOrigin-Name: 296eeb26c816bc734530cf446922f25be970b901c884df1a98083502f0d1e9f5

13 months agoBe more aggressive about freeing memory associated with the xbestindex-or-terms
drh [Sun, 2 Jun 2024 10:52:35 +0000 (10:52 +0000)] 
Be more aggressive about freeing memory associated with the
sqlite3_index_info.idxStr field.

FossilOrigin-Name: 85dcd0a8479a658203833cfd75f22813faa26d4793ebfbb8843035d683bee105

13 months agoHave fts5.xBestIndex return SQLITE_CONSTRAINT, instead of a large cost, when no usabl...
dan [Sat, 1 Jun 2024 17:56:58 +0000 (17:56 +0000)] 
Have fts5.xBestIndex return SQLITE_CONSTRAINT, instead of a large cost, when no usable plan can be found.

FossilOrigin-Name: 7c470945372dc98610f7c9840ce8cab18c19b655352f0187e4f31040cea77363

13 months agoFurther tests for OR constraints on virtual tables.
dan [Fri, 31 May 2024 20:32:10 +0000 (20:32 +0000)] 
Further tests for OR constraints on virtual tables.

FossilOrigin-Name: ff4a30056f8dbcbd045afdbee485f6671c3580b95187144aa9a77c97dfda2647

13 months agoBetter handle WHERE terms that are common to two or more OR branches when planning...
dan [Fri, 31 May 2024 19:26:22 +0000 (19:26 +0000)] 
Better handle WHERE terms that are common to two or more OR branches when planning virtual table queries.

FossilOrigin-Name: 4edd9b29f58621335b8a562280c991c34804bbba090f90c951261d043cff1965

13 months agoDo not even try star-schema detection if the join has fewer than 5 tables,
drh [Fri, 31 May 2024 15:39:00 +0000 (15:39 +0000)] 
Do not even try star-schema detection if the join has fewer than 5 tables,
since 5 is the minimum for a positive detection.

FossilOrigin-Name: a07ec16bbc056fbc23a7bd58e5e32ef691c13e9babeb542918cf9a01cac40c20

13 months agoDocument the OP_Explain opcode. Add the WhereLoop.rRun value as P3 in
drh [Fri, 31 May 2024 14:39:42 +0000 (14:39 +0000)] 
Document the OP_Explain opcode.  Add the WhereLoop.rRun value as P3 in
OP_Explain opcodes associated with WhereLoops, for testing purposes.

FossilOrigin-Name: 996c46e61d9a53a54018672dd407b8ba8c480dd6795393428f9d5fcb81b47ab5

13 months agoBack out [dcc2bb2c562e97e090174], as it breaks the --with-wasi-sdk builds.
stephan [Thu, 30 May 2024 21:54:16 +0000 (21:54 +0000)] 
Back out [dcc2bb2c562e97e090174], as it breaks the --with-wasi-sdk builds.

FossilOrigin-Name: 62199562c26f77d059aa0bbda42a421a7aece828aa94d14a40c701a6384d1cf6

13 months agoRemove the unconditional SQLITE_OMIT_WAL when building in wasi-sdk mode, per [forum...
stephan [Thu, 30 May 2024 17:56:26 +0000 (17:56 +0000)] 
Remove the unconditional SQLITE_OMIT_WAL when building in wasi-sdk mode, per [forum:80003e91a7a6cb4d|requests in the forum].

FossilOrigin-Name: dcc2bb2c562e97e090174d4d0970bfa1551e5eb4db022e6d232c4dd786818e45

13 months agoEnsure that the second pass call to wherePathSolver() always reports a positive
drh [Thu, 30 May 2024 13:27:29 +0000 (13:27 +0000)] 
Ensure that the second pass call to wherePathSolver() always reports a positive
value for the estimated number of output rows.  This fixes a long-standing
(though exceedingly minor) problem that was only revealed by a new assert()
added yesterday.  dbsqlfuzz 545d6debc2da496ab2b915e33ea34d9a35a935df

FossilOrigin-Name: a47c644fef71f3ab3dc584ea917eaab9a8e5b4c9dcb57bdd29747ba32108e85f

13 months agoUpdate shell.c to use the msteve fork of linenoise, per /chat discussion.
stephan [Thu, 30 May 2024 11:14:16 +0000 (11:14 +0000)] 
Update shell.c to use the msteve fork of linenoise, per /chat discussion.

FossilOrigin-Name: ee92fa8366b743266b17c692499087c0d11b9302d096c3dfb4e6356b467e939e

13 months agoRemove an unused parameter from fts5ConfigParseSpecial(). Compiler-warning
drh [Wed, 29 May 2024 15:16:17 +0000 (15:16 +0000)] 
Remove an unused parameter from fts5ConfigParseSpecial().  Compiler-warning
fix only - no functional changes.

FossilOrigin-Name: c08dd245f7706f2fd2269d700be480477619a722e27e6b439462ae543302c49f