]> git.ipfire.org Git - thirdparty/sqlite.git/log
thirdparty/sqlite.git
2 years agoMinor doc updates in speed-check.sh. No code changes.
stephan [Mon, 7 Nov 2022 17:21:53 +0000 (17:21 +0000)] 
Minor doc updates in speed-check.sh. No code changes.

FossilOrigin-Name: d2ed4116fbf1de3c840f84e05db6f29f7b489518ac07d56f61df153deab6bf6b

2 years agoFix an obsolete comment.
drh [Mon, 7 Nov 2022 15:23:51 +0000 (15:23 +0000)] 
Fix an obsolete comment.

FossilOrigin-Name: e377c0a1ef030395293c5f24d7cb8e5b36ce972e9fac31b99c8425075486a46a

2 years agoFix typo in comment.
drh [Mon, 7 Nov 2022 15:01:05 +0000 (15:01 +0000)] 
Fix typo in comment.

FossilOrigin-Name: c3b94d7d4697a5c3983253f6266c544d8037617778a09d491bc12eb13f08ac75

2 years agoAdd sqlite3.wasm.alloc.impl() as a "public back door" into the low-level non-throwing...
stephan [Mon, 7 Nov 2022 13:06:20 +0000 (13:06 +0000)] 
Add sqlite3.wasm.alloc.impl() as a "public back door" into the low-level non-throwing allocator. Correct sqlite3.WasmAllocError constructor to behave like its usages expect it to and add tests for that.

FossilOrigin-Name: cea8bf9a144d842c4755c3130273524926e8c4831d7f21c4e34d4e8c74109c8c

2 years agoFix requirements marks so that they match documentation corrections.
drh [Mon, 7 Nov 2022 12:21:06 +0000 (12:21 +0000)] 
Fix requirements marks so that they match documentation corrections.

FossilOrigin-Name: 10d6189d23133006b39ea230045a918483721dd48f5558f77e57e23693097d16

2 years agoMinor wasm doc touchups. No code changes.
stephan [Mon, 7 Nov 2022 12:12:27 +0000 (12:12 +0000)] 
Minor wasm doc touchups. No code changes.

FossilOrigin-Name: 2c448368913a844bdb5e69f8fa3bad91a2b6612ba3b7f3f650dd07b81db25a77

2 years agoFix the documentation regarding negative length parameters for
drh [Mon, 7 Nov 2022 11:19:28 +0000 (11:19 +0000)] 
Fix the documentation regarding negative length parameters for
sqlite3_result_text() interfaces, to point out that the length parameter
to sqlite3_result_text64() cannot be negative.
[forum:/forumpost/cf1d043b07|Forum post cf1d043b07].
Comment/documentation change only.

FossilOrigin-Name: 8016507651f377b08deb3a13cc559d56ce6e934c3073a8e63d05fd946b8403a4

2 years agoMake sure that the recoverStrlen() function (used internally by the new
drh [Mon, 7 Nov 2022 11:05:53 +0000 (11:05 +0000)] 
Make sure that the recoverStrlen() function (used internally by the new
recovery extension) is 64-bit safe.

FossilOrigin-Name: ea30a6bfc463acce26a4d710e7bf56519ad096ce2fe904ee7e199f5c55068034

2 years agoThe recoverAssertMutexHeld() function is for testing and verification only
drh [Sun, 6 Nov 2022 17:19:34 +0000 (17:19 +0000)] 
The recoverAssertMutexHeld() function is for testing and verification only
and should be a harmless no-op for production builds.
[forum/forumpost/b4f2c7d402|Forum post b4f2c7d402].

FossilOrigin-Name: d75504710c86af0037ac897106aadffe54955463195ee4dfb2cdfc81d396cbb4

2 years agoUpdate test file dbpagefault.test to account for the restriction on using SQLITE_VTAB...
dan [Sat, 5 Nov 2022 19:26:45 +0000 (19:26 +0000)] 
Update test file dbpagefault.test to account for the restriction on using SQLITE_VTAB_DIRECTONLY virtual tables from within triggers.

FossilOrigin-Name: 2b68fc8aa35cc69e4d2c26aaebbf3f2b1f1c08d15ca9efcbe5be21d45735d3f1

2 years agoTweaks to recover module test scripts to work with various permutations.
dan [Fri, 4 Nov 2022 18:32:45 +0000 (18:32 +0000)] 
Tweaks to recover module test scripts to work with various permutations.

FossilOrigin-Name: 454c61e818f6941c9a23f6600e37828a3f2b2ad3c6dbc8d6223570aed5d9cd8b

2 years agoAnother test case fix for auto-vacuum builds.
dan [Fri, 4 Nov 2022 17:07:33 +0000 (17:07 +0000)] 
Another test case fix for auto-vacuum builds.

FossilOrigin-Name: c1c47eff48e0831b5aed987e90d797aee99caf1861fa8318c6c3ecfb108de7e6

2 years agoFixes to recover module test scripts so that they may be used with SQLITE_DEFAULT_AUT...
dan [Fri, 4 Nov 2022 16:39:39 +0000 (16:39 +0000)] 
Fixes to recover module test scripts so that they may be used with SQLITE_DEFAULT_AUTOVACUUM and SQLITE_SECURE_DELETE builds.

FossilOrigin-Name: 0e5597ce5353dea2cdb092b166b57ba1d60f8115eb468349f2b2869803691a2c

2 years agoFix Tcl tests so that they again build and run with SQLITE_OMIT_VIRTUALTABLE defined.
dan [Fri, 4 Nov 2022 15:17:14 +0000 (15:17 +0000)] 
Fix Tcl tests so that they again build and run with SQLITE_OMIT_VIRTUALTABLE defined.

FossilOrigin-Name: 06a9dbea40c8a0cdfae6b127a1ce1cba0547acdf1115c087e9b790a78c264b52

2 years agoRemove an unimportant testcase() macro that is no longer reachable due to the
drh [Fri, 4 Nov 2022 12:59:04 +0000 (12:59 +0000)] 
Remove an unimportant testcase() macro that is no longer reachable due to the
improvement in corruption detection.

FossilOrigin-Name: cd7e3568a9b0c0f5ef5ca8a29c55cefe2bbad2dbc88a3718a87bb24a8ada3b7f

2 years agoAdd another test case for the OP_Found fix.
dan [Fri, 4 Nov 2022 11:59:40 +0000 (11:59 +0000)] 
Add another test case for the OP_Found fix.

FossilOrigin-Name: 6cdd64a445fe16d547d7bf5ea26dad3ab6d9d5f7d1c2b49fdc9d7a2edaa031c6

2 years agoEnhance the ability of the OP_Found and similar opcodes to detect truncated
drh [Fri, 4 Nov 2022 11:54:42 +0000 (11:54 +0000)] 
Enhance the ability of the OP_Found and similar opcodes to detect truncated
index records and report SQLITE_CORRUPT.
dbsqlfuzz 2b12f90aeff8e081706c7e9b58834f04869f446c.  Test cases in TH3.

FossilOrigin-Name: 059a09da2c5fd9c7e723c713565fbaf71602079feef0704129cc5cbbd0033936

2 years agoCorrect sqlite3-wasm.c's SQLITE_DEFAULT_CACHE_SIZE (it's measured in kb, not bytes).
stephan [Fri, 4 Nov 2022 09:02:21 +0000 (09:02 +0000)] 
Correct sqlite3-wasm.c's SQLITE_DEFAULT_CACHE_SIZE (it's measured in kb, not bytes).

FossilOrigin-Name: 479ad980dfe509403e184e39a5aa441171e47b3297e05039f85516e72e9f15be

2 years agoAdd experimental esm target to ext/wasm/GNUmakefile to tell emcc to generate sqlite3...
stephan [Thu, 3 Nov 2022 22:51:20 +0000 (22:51 +0000)] 
Add experimental esm target to ext/wasm/GNUmakefile to tell emcc to generate sqlite3.mjs (ES6 module) instead of sqlite3.js. Related to discussion at [forum:ed4596cf8496a39b].

FossilOrigin-Name: e55d8eba83012492d85418dc0faedce5896027ecc70295a5ca1826f61a5edbaf

2 years agoGlobally replace '' with "" for empty JS strings to please C preprocessor.
stephan [Thu, 3 Nov 2022 21:21:10 +0000 (21:21 +0000)] 
Globally replace '' with "" for empty JS strings to please C preprocessor.

FossilOrigin-Name: e92e1f42bef94a1df29f66b4111ebfde93eba3759bc5d5a9c95f714508851346

2 years agoMinor build cleanups and fix a harmless race condition in the OPFS part of tester1.js.
stephan [Wed, 2 Nov 2022 14:08:59 +0000 (14:08 +0000)] 
Minor build cleanups and fix a harmless race condition in the OPFS part of tester1.js.

FossilOrigin-Name: 70ee6ee014bc4e2c1daa9b4a8909cf76ccecf32de1eb39055f20d3d0b1daa1bd

2 years agoClarify documentation regarding the --recovery-db option to ".recover" and
drh [Wed, 2 Nov 2022 14:08:26 +0000 (14:08 +0000)] 
Clarify documentation regarding the --recovery-db option to ".recover" and
the magic 789 configuration option it is associated with.

FossilOrigin-Name: f6fa0cffa921ccde8910e7fa4a63c2e4ef8ddb376c8ce99e436b27ac332c4498

2 years agoMinor improvements to API documentation in comments for the recovery
drh [Wed, 2 Nov 2022 13:09:14 +0000 (13:09 +0000)] 
Minor improvements to API documentation in comments for the recovery
extension.

FossilOrigin-Name: ed1c3515ad6a988e07a8b4583fbc38be257e6eae7443b01a242b98207ce78162

2 years agoAdd sqlite3_wasm_vfs_create_file() to replace Emscripten's FS.createDataFile() in...
stephan [Wed, 2 Nov 2022 11:53:31 +0000 (11:53 +0000)] 
Add sqlite3_wasm_vfs_create_file() to replace Emscripten's FS.createDataFile() in a (mostly) VFS-agnostic way. Add a test for worker1's export (to bytearray) support. Re-add worker1 open-from-bytearray using sqlite3_wasm_vfs_create_file() but it's untested (requires a new interactive test app or maybe reconsideration).

FossilOrigin-Name: b35e1225c91a3cadc0d25af1e4e790237256d194990faa13190e343ed03e11c5

2 years agoEmcc seems confused by SQLITE_DEBUG, for reasons unknown. Use NDEBUG instead
drh [Wed, 2 Nov 2022 11:25:33 +0000 (11:25 +0000)] 
Emcc seems confused by SQLITE_DEBUG, for reasons unknown.  Use NDEBUG instead
to simplify the #ifdef logic in sqlite3recover.c.

FossilOrigin-Name: 2610779ac84ac4a1a6901b6244653faf0c49ac6f0a4710a19aaf2a13106ae742

2 years agoFix a symbol name typo which broke and exception-handling case in OPFS xOpen().
stephan [Wed, 2 Nov 2022 08:49:05 +0000 (08:49 +0000)] 
Fix a symbol name typo which broke and exception-handling case in OPFS xOpen().

FossilOrigin-Name: 5bc83d569594e104e90b1acef1a5fd23655b2089de393a6776e799fdef2082f5

2 years agoFix a missing symbol in non-SQLITE_DEBUG builds.
stephan [Wed, 2 Nov 2022 08:10:22 +0000 (08:10 +0000)] 
Fix a missing symbol in non-SQLITE_DEBUG builds.

FossilOrigin-Name: 17cdcad627205cdc8ae8114df44ad2a44e59603200efb238fbbb5c30ea0a453e

2 years agoFix a harmless compiler warning.
drh [Tue, 1 Nov 2022 21:42:50 +0000 (21:42 +0000)] 
Fix a harmless compiler warning.

FossilOrigin-Name: 663a89164fdd43529a13cab4b9d9f04fe519e7c6b954f9c91e32e4d7ae25eb46

2 years agoInstead of (const char*), use a special type - sqlite3_filename - as the filename...
dan [Tue, 1 Nov 2022 19:35:54 +0000 (19:35 +0000)] 
Instead of (const char*), use a special type - sqlite3_filename - as the filename argument passed to VFS method xOpen().

FossilOrigin-Name: 90df04e5a25907e748227c484b601b7dbd87c037556a0e87f8423f529d08bb6b

2 years agoFix harmless compiler warnings. sqlite3_filename
drh [Tue, 1 Nov 2022 18:56:39 +0000 (18:56 +0000)] 
Fix harmless compiler warnings.

FossilOrigin-Name: de829770aa0f59b4cd3ab1dc5eec90be82663dca3199c2cf6d97f4c41ce9f799

2 years agoInstead of (const char*), use a special type - sqlite3_filename - as the filename...
dan [Tue, 1 Nov 2022 17:43:19 +0000 (17:43 +0000)] 
Instead of (const char*), use a special type - sqlite3_filename - as the filename argument passed to VFS method xOpen().

FossilOrigin-Name: bd1fe4de8a2e8b8de19a7f90b9fdafb641ad11a6f0c96c0b4495d5bf80885675

2 years agoFix compilation errors in the recover API seen with MSVC.
mistachkin [Tue, 1 Nov 2022 14:13:05 +0000 (14:13 +0000)] 
Fix compilation errors in the recover API seen with MSVC.

FossilOrigin-Name: 78d17c4fedc1629bf161f9858f2b8bf35506155ccaa0acc084b419d244d4f75d

2 years agoFix a #ifdef involving SQLITE_OS_KV that was adding code unnecessarily.
drh [Tue, 1 Nov 2022 13:12:20 +0000 (13:12 +0000)] 
Fix a #ifdef involving SQLITE_OS_KV that was adding code unnecessarily.

FossilOrigin-Name: b6c1b6e4a3bc21c40d6faca6f70842df5201f21c96a076a895410660630461c0

2 years agoEnforce affinity on materialized tables for subqueries and views. Also,
drh [Tue, 1 Nov 2022 12:10:39 +0000 (12:10 +0000)] 
Enforce affinity on materialized tables for subqueries and views.  Also,
do not allow UNION ALL flattening if the affinity of a result column varies
between different arms of the compound.  This is a fix for
ticket [57c47526c34f01e8].

FossilOrigin-Name: 88a05141c28e5ff1357c3c599493e4ffb8f3821bab04be80244deac62e49135c

2 years agoImprovements to comments. Change the "optimization_control" TCL command tkt-57c47526
drh [Tue, 1 Nov 2022 12:01:10 +0000 (12:01 +0000)] 
Improvements to comments.  Change the "optimization_control" TCL command
in the test harness so that it returns the new optimization mask, for
verification.

FossilOrigin-Name: a3a500127d4752ee05c183e9ac97a2bc27768bf7063b04b5c1405cd3fd3931f5

2 years agoMinor internal cleanups in the js pieces.
stephan [Tue, 1 Nov 2022 11:09:34 +0000 (11:09 +0000)] 
Minor internal cleanups in the js pieces.

FossilOrigin-Name: 271391b4e32220ab4c32d69f579ecd2b03eb99da898955a1ef8fffc27216719d

2 years agoSignificant cleanups and expansion of the sqlite3.opfs utilities. Add oo1.DB.dbVfsNam...
stephan [Tue, 1 Nov 2022 07:49:49 +0000 (07:49 +0000)] 
Significant cleanups and expansion of the sqlite3.opfs utilities. Add oo1.DB.dbVfsName(). Add VFS name to worker1:open's arguments and result.

FossilOrigin-Name: 86a341d7e061f946b39e8647ddd4743013b851b33ae9e6e755d8dbc53fba5286

2 years agoDo not flatten a UNION ALL subquery where the column affinities do not match
drh [Tue, 1 Nov 2022 01:07:29 +0000 (01:07 +0000)] 
Do not flatten a UNION ALL subquery where the column affinities do not match
on all arms.  Force that subquery to be materialized.

FossilOrigin-Name: 1b8a128832c1633cbb86999d347fef64ac45fe134dac61132112fc97f24676a0

2 years agoEnforce column affinity on the materialization of a subquery or view.
drh [Tue, 1 Nov 2022 00:52:22 +0000 (00:52 +0000)] 
Enforce column affinity on the materialization of a subquery or view.

FossilOrigin-Name: b6692de374d7f489d8cf8877bdfef19501bc5ecb0781d42750807eeb58f2e7cd

2 years agoMake the UPDATE method of the sqlite_dbpage virtual table rebust against
drh [Mon, 31 Oct 2022 18:01:05 +0000 (18:01 +0000)] 
Make the UPDATE method of the sqlite_dbpage virtual table rebust against
OOM errors.  [forum:/forumpost/bbcf0dd6ca|Forum post bbcf0dd6ca].  Test case
in TH3.

FossilOrigin-Name: d15c9a4a323b825eb80e706e12e9df95e5db458024f51e6e537940efc8234d8b

2 years agoWorker1: use a list, rather than a single slot, to manage the default db link so...
stephan [Mon, 31 Oct 2022 13:50:05 +0000 (13:50 +0000)] 
Worker1: use a list, rather than a single slot, to manage the default db link so that we can keep the least-recently-opened db as the default. Re-introduce worker1.export() but do not yet expose it until an equivalent import() (or open() option) is implemented.

FossilOrigin-Name: c7750c101d9b7baa31496731bc34ea0a9b2bad0c11e2b3e92a8c7b327135c1bb

2 years agoInternal tweaks to the OPFS VFS result codes.
stephan [Mon, 31 Oct 2022 11:53:34 +0000 (11:53 +0000)] 
Internal tweaks to the OPFS VFS result codes.

FossilOrigin-Name: 32e1a2d2eb8738ae1635e413829f6cf7f64c63d2a86b72940a573de89948e529

2 years agoAdd oo1.DB.exec() 'returnValue' option, which specifies what exec() should return...
stephan [Mon, 31 Oct 2022 11:09:14 +0000 (11:09 +0000)] 
Add oo1.DB.exec() 'returnValue' option, which specifies what exec() should return. Defaults to the db object and enables direct return of the result rows array or a list of the individual SQL statements. Other code-adjacent internal cleanups.

FossilOrigin-Name: 69d36a6aa5e2cd79d26c0fd3e0d20fe8838fd1be97db07725233bfff1dfe6643

2 years agoAvoid a segfault that could occur when running the recover API on a database handle...
dan [Mon, 31 Oct 2022 10:53:23 +0000 (10:53 +0000)] 
Avoid a segfault that could occur when running the recover API on a database handle with memory-mapping enabled.

FossilOrigin-Name: e02c697281a777c33070168af784b2d291397e488244a217620897f40aed7158

2 years agoExtra OOM check in shell_error_context() of the CLI.
drh [Mon, 31 Oct 2022 01:22:38 +0000 (01:22 +0000)] 
Extra OOM check in shell_error_context() of the CLI.
[forum:/forumpost/5708841db0|forum post 5708841db0].

FossilOrigin-Name: cb12ac5de17e677f089d7b0b46803efbd9a9178972ffb0454a8b557b06633658

2 years agoAdd oo1.DB.selectArray() and selectObject().
stephan [Sun, 30 Oct 2022 11:39:47 +0000 (11:39 +0000)] 
Add oo1.DB.selectArray() and selectObject().

FossilOrigin-Name: 7660db2a2e9c4f3a6a9343d6929744ad0f4be6820976411f9080165491da59b7

2 years agoAdjust automatic OPFS locking retries such that they will wait up to a total of 3...
stephan [Sun, 30 Oct 2022 10:24:53 +0000 (10:24 +0000)] 
Adjust automatic OPFS locking retries such that they will wait up to a total of 3 seconds spanning 4 attempts.

FossilOrigin-Name: bbce49d81abc491ca666474040a53057e26e99131fea9449de253f88f4415ded

2 years agoMinor WASM build cleanups. Enable custom Module.instantiateWasm() when not in WASMFS...
stephan [Sun, 30 Oct 2022 09:47:33 +0000 (09:47 +0000)] 
Minor WASM build cleanups. Enable custom Module.instantiateWasm() when not in WASMFS mode (where it doesn't work). Add sqlite3.debugModule URL param to enable some module-init-time debugging output.

FossilOrigin-Name: 50f678846a2b3c3d0818f0bae89f2ee86252a2e6a9c7029ebaae3953ca0fa14c

2 years agoReduce wasm module's starting memory from 128mb to 16mb. The latter value is needed...
stephan [Sun, 30 Oct 2022 08:39:18 +0000 (08:39 +0000)] 
Reduce wasm module's starting memory from 128mb to 16mb. The latter value is needed only for WASMFS-based batch-runner.js, as WASMFS builds cannot be configured for dynamic memory growth without a tremendous performance hit.

FossilOrigin-Name: ed9d93c48752ba6e18edc1238a8ccdbf6bb65c74fb52a89d515f8b0ab6bea13a

2 years agoMinor updates to the Windows batch tools.
mistachkin [Sun, 30 Oct 2022 07:01:31 +0000 (07:01 +0000)] 
Minor updates to the Windows batch tools.

FossilOrigin-Name: b42f56205fa8e06431fb1a45c48257d93605fea0ed95bd766f71e27292d1af33

2 years agoUpdate ext/wasm/README.md for recent developments.
stephan [Sat, 29 Oct 2022 12:31:50 +0000 (12:31 +0000)] 
Update ext/wasm/README.md for recent developments.

FossilOrigin-Name: c76ec31ebf4d80ec8cbd2aa2017e1d6bc32eae66bfbcc130c053ddb403599c6b

2 years agoMore styling of module-symbols.html.
stephan [Sat, 29 Oct 2022 10:14:56 +0000 (10:14 +0000)] 
More styling of module-symbols.html.

FossilOrigin-Name: a36f42a8364b745c410a6f837d005a193f6a93134cac087ac18bee2897cad730

2 years agoExpand and document the wasm doc-update make rules. Extend the dist rules to fail...
stephan [Sat, 29 Oct 2022 09:45:01 +0000 (09:45 +0000)] 
Expand and document the wasm doc-update make rules. Extend the dist rules to fail more readily if there's a problem.

FossilOrigin-Name: 362ec11ec09f441b745cbd8ac8366b6bc998aba6e2b70782a88f189a3ffa9923

2 years agoMove the sqlite3.capi.wasm namespace to sqlite3.wasm. This causes a tiny bit of namin...
stephan [Sat, 29 Oct 2022 07:54:10 +0000 (07:54 +0000)] 
Move the sqlite3.capi.wasm namespace to sqlite3.wasm. This causes a tiny bit of naming confusion with the sqlite3.wasm *file*, but seems to make more sense than having it as a sub-namespace of capi.

FossilOrigin-Name: 3f16eb18d6186ca972fca952ccac18649e7a905213f589e53c0c9333e695448d

2 years agoFix harmless compiler warnings in testing code.
drh [Fri, 28 Oct 2022 18:52:05 +0000 (18:52 +0000)] 
Fix harmless compiler warnings in testing code.

FossilOrigin-Name: 2f53612388507f9b1ecbec3c15281825beab54b8062d97d0ab6f009c5fed347b

2 years agoAdd sqlite3recover() support to fuzzcheck.
drh [Fri, 28 Oct 2022 18:35:06 +0000 (18:35 +0000)] 
Add sqlite3recover() support to fuzzcheck.

FossilOrigin-Name: e65c5bdc5bd6e1989c3de59798ff0a761125fc490fdec8c7671ca70ed688c4f8

2 years agoRemove sqlite3_interrupt() from the WASM build, as it is essentially impossible to...
stephan [Fri, 28 Oct 2022 14:33:50 +0000 (14:33 +0000)] 
Remove sqlite3_interrupt() from the WASM build, as it is essentially impossible to employ in JS's threading model.

FossilOrigin-Name: e85387590061edbb6cdc04de792ab86f43afaa5c8d1b0792206cb5b481c7d76a

2 years agoAdd ext/wasm/module-symbols.html. Adjacent minor JS touchups.
stephan [Fri, 28 Oct 2022 11:40:46 +0000 (11:40 +0000)] 
Add ext/wasm/module-symbols.html. Adjacent minor JS touchups.

FossilOrigin-Name: 24f12e681e06e3b71a6ac9c82255fe0270953a74c711405841f7e385eeafe874

2 years agoMinor sqlite3.oo1 API reorg prompted by documenting.
stephan [Fri, 28 Oct 2022 10:36:18 +0000 (10:36 +0000)] 
Minor sqlite3.oo1 API reorg prompted by documenting.

FossilOrigin-Name: 55237924ca363c5a3e0f8c82620eb6626a98311615866197375a86876b9da3a1

2 years agoFix a minor problem with sqlite_dbdata.
drh [Thu, 27 Oct 2022 23:17:49 +0000 (23:17 +0000)] 
Fix a minor problem with sqlite_dbdata.

FossilOrigin-Name: 58c2e49279c8f77f006b0c2ce351776bc711633f9c1a39c7a37969838d49ec0b

2 years agoFix another crash in the recover extension triggered by a corrupt database.
dan [Thu, 27 Oct 2022 20:27:45 +0000 (20:27 +0000)] 
Fix another crash in the recover extension triggered by a corrupt database.

FossilOrigin-Name: d125377378916fb3147612a536fde15ee955176eea9ea6eaa4a2ee5f1e8e1cbe

2 years agoFix another problem to do with recovering from in-memory databases.
dan [Thu, 27 Oct 2022 19:06:42 +0000 (19:06 +0000)] 
Fix another problem to do with recovering from in-memory databases.

FossilOrigin-Name: 5a7bfd4a217cd80882a1827674b479cdc547419a785e06e0ee82cb8cfca42701

2 years agoEnsure that the VFS wrapper in the recover extension does not attempt to invoke undef...
dan [Thu, 27 Oct 2022 19:02:51 +0000 (19:02 +0000)] 
Ensure that the VFS wrapper in the recover extension does not attempt to invoke undefined methods on the underlying VFS.

FossilOrigin-Name: 347c575108bc8112613a02afda1247bdbed24c15def7eb412d0b27aba047715b

2 years agoFix an assert() failure in the recover extension triggered by a zero value as the...
dan [Thu, 27 Oct 2022 18:35:09 +0000 (18:35 +0000)] 
Fix an assert() failure in the recover extension triggered by a zero value as the first page-number in an overflow page chain.

FossilOrigin-Name: 44c0874c33e76ce708022e5c38c74f75565a8cea9f4c5b067cc0a54079aeee20

2 years agoIn the CLI, ensure that input to utf8_width_print is not NULL, or if it is,
drh [Thu, 27 Oct 2022 18:20:08 +0000 (18:20 +0000)] 
In the CLI, ensure that input to utf8_width_print is not NULL, or if it is,
change it to an empty string.  For for the problem reported by
[forum:/forumpost/2961cf13eec61876|forum post 2961cf13eec61876].

FossilOrigin-Name: 9ecc9d25ea62a7777bbf621989a5c577b612784121a20465cda4d4023fa9634d

2 years agoChange the name of the ".recover" command option "--freelist-corrupt" to "--ignore...
dan [Thu, 27 Oct 2022 18:19:45 +0000 (18:19 +0000)] 
Change the name of the ".recover" command option "--freelist-corrupt" to "--ignore-freelist".

FossilOrigin-Name: afce8443ace57c3c99c6810be98f05ed716ae504b68098726c869843c643bbf0

2 years agospeedtest1.html: when vfs==kvvfs, increase --size from 2 to 4, as enabled by [a4d40f6...
stephan [Thu, 27 Oct 2022 14:41:38 +0000 (14:41 +0000)] 
speedtest1.html: when vfs==kvvfs, increase --size from 2 to 4, as enabled by [a4d40f6346e7]. --size 5 is 4.96mb out of (supposedly) 5mb, which works but is a bit too close to the edge.

FossilOrigin-Name: a608d584a8a68ebaf8566cffc9c33f59309b710e7b29229a15bef529702f35d5

2 years agoAutomatically set temp_store=MEMORY if the VFS is kvvfs.
drh [Thu, 27 Oct 2022 14:28:15 +0000 (14:28 +0000)] 
Automatically set temp_store=MEMORY if the VFS is kvvfs.

FossilOrigin-Name: a4d40f6346e7eb2a5239684dba86f297358122768a4d4bf6786b6028f4300e04

2 years agoDo not accept a NULL pointer for the filename in KVVFS.
drh [Thu, 27 Oct 2022 14:00:21 +0000 (14:00 +0000)] 
Do not accept a NULL pointer for the filename in KVVFS.

FossilOrigin-Name: fdecbd3b5bcdeb358015f461ac6c863f12ab180ab4624ed50734e41e557d8186

2 years agoThe kvvfs VFS should remember the page size when writing to the database.
drh [Thu, 27 Oct 2022 12:46:17 +0000 (12:46 +0000)] 
The kvvfs VFS should remember the page size when writing to the database.

FossilOrigin-Name: fc5503c8acb085042e877c9de43256a4fee27f63ab35e2ddad18e40734ed00d4

2 years agoRe-enable the .recovery and .dbinfo commands in shell.c.in in the fiddle build, as...
stephan [Thu, 27 Oct 2022 11:32:20 +0000 (11:32 +0000)] 
Re-enable the .recovery and .dbinfo commands in shell.c.in in the fiddle build, as those were fixed by [3d20d77a3511] and [cd0aa27d1732].

FossilOrigin-Name: ba3a7a4a9997f62b78467d78d95fa5b58a03ecb2e2ccb68f4d316fc08fd02f86

2 years agoDo not use sqlite3_result_text16() in the recover extension if SQLITE_OMIT_UTF16...
dan [Thu, 27 Oct 2022 11:25:08 +0000 (11:25 +0000)] 
Do not use sqlite3_result_text16() in the recover extension if SQLITE_OMIT_UTF16 is defined.

FossilOrigin-Name: 3d20d77a3511bb223474da8491e1da8aec098c41c1b81ab78ff80fbd37d5b568

2 years agoFix a problem with running ".recover" on an in-memory database.
dan [Thu, 27 Oct 2022 11:12:54 +0000 (11:12 +0000)] 
Fix a problem with running ".recover" on an in-memory database.

FossilOrigin-Name: 87b4cca2b84845cee603d40fbf16c9635d6dc2d19d2f37ae86abfeff716c9a85

2 years agoDo not use sqlite3_mutex_xxx() functions in sqlite3recover.c when built with SQLITE_T...
dan [Thu, 27 Oct 2022 10:51:49 +0000 (10:51 +0000)] 
Do not use sqlite3_mutex_xxx() functions in sqlite3recover.c when built with SQLITE_THREADSAFE=0.

FossilOrigin-Name: cd0aa27d1732abc61c8a8440118ff629f7dca185d2f515ce1f6090c49d8dc890

2 years agoMinor doc typo fixes.
stephan [Thu, 27 Oct 2022 03:57:48 +0000 (03:57 +0000)] 
Minor doc typo fixes.

FossilOrigin-Name: ed8d3f25a4d6ac04d9f7918c791d8d2c6f23ce846278ca63f8fbadb7ea27369f

2 years agoRestructure and simplify the feature-detection #defines of the recovery support in...
stephan [Thu, 27 Oct 2022 03:56:01 +0000 (03:56 +0000)] 
Restructure and simplify the feature-detection #defines of the recovery support in shell.c.in and disable it when building fiddle because it uses features we elide from the wasm build (e.g. utf16), leading to link errors.

FossilOrigin-Name: ddd10c05c5d16d7205c347c5c1e73a75faecb2b7ec88a4a15875856765e1b143

2 years agoExpose sqlite3_randomness() to WASM and add a custom binding for it which can populat...
stephan [Thu, 27 Oct 2022 03:03:16 +0000 (03:03 +0000)] 
Expose sqlite3_randomness() to WASM and add a custom binding for it which can populate a JS byte array. Add WhWasmUtil.isPtr().

FossilOrigin-Name: 333e67076b4bc967bb543ef8e265c63f6e3498c38ac121a7d1eff4a1d7a71c63

2 years agoDisable the push-down optimization for sub-queries that are INTERSECT, UNION or EXCEP...
dan [Wed, 26 Oct 2022 21:14:21 +0000 (21:14 +0000)] 
Disable the push-down optimization for sub-queries that are INTERSECT, UNION or EXCEPT compounds. dbsqlfuzz a34f455c91ad75a0cf8cd9476841903f42930a7a.

FossilOrigin-Name: 346a3b12b861ce7ba369e98cd336f79a1d4f7a7bb9acd7a4f63f37b391755bf5

2 years agoRemove an unused variable from the recovery extension.
drh [Wed, 26 Oct 2022 20:12:46 +0000 (20:12 +0000)] 
Remove an unused variable from the recovery extension.

FossilOrigin-Name: a029dddff4f4ed7275538610cbd9cea658b905b72924860ec9cda9e76dabcfac

2 years agoAdd the "recover" extension in ext/recover/, for salvaging data from corrupt databases.
dan [Wed, 26 Oct 2022 18:41:12 +0000 (18:41 +0000)] 
Add the "recover" extension in ext/recover/, for salvaging data from corrupt databases.

FossilOrigin-Name: a820792548da596ed0f8ab3fd1c04ec16647abbe51a2a5aac9e17c4f58be6d97

2 years agoRemove an undefined left-shift operation from the recover extension. recover-extension 7/head
dan [Wed, 26 Oct 2022 18:29:19 +0000 (18:29 +0000)] 
Remove an undefined left-shift operation from the recover extension.

FossilOrigin-Name: a67082357a2cc348faf8236aafa7f39eb5cb673b1d114a594c6d5bb257f85b73

2 years agoMerge further changes from trunk, including fix to dbdata.c.
dan [Wed, 26 Oct 2022 18:22:22 +0000 (18:22 +0000)] 
Merge further changes from trunk, including fix to dbdata.c.

FossilOrigin-Name: bcf6b48d52c1ce656899f50bd508c0920cae8cf2ef3c0758a7633981f0f0f484

2 years agoMake the shell .recover command and the dbdata.c module more robust in the face of...
dan [Wed, 26 Oct 2022 18:04:34 +0000 (18:04 +0000)] 
Make the shell .recover command and the dbdata.c module more robust in the face of corrupted databases.

FossilOrigin-Name: 4eef562a00ae988f2426c9af51f4165c0e4cbccd601061664a0c54c19b9cc70f

2 years agoCorrect misuse of localhost-mode-only symbol S in fiddle-worker.js, which should...
stephan [Wed, 26 Oct 2022 15:40:17 +0000 (15:40 +0000)] 
Correct misuse of localhost-mode-only symbol S in fiddle-worker.js, which should fix the outage reported in [forum:67d985ac0bbe407f|forum post 67d985ac0bbe407f].

FossilOrigin-Name: 3b5aa50c223ac35c7d73e4629420a01408cd74d19ae5b887f91b7a657d91e026

2 years agoCorrected link to fiddle in ext/wasm/index.html (broken by [3d7b4f36b7dd]).
stephan [Wed, 26 Oct 2022 15:34:51 +0000 (15:34 +0000)] 
Corrected link to fiddle in ext/wasm/index.html (broken by [3d7b4f36b7dd]).

FossilOrigin-Name: 6efa0bae1678bf719a0693feeceb4c1e252fc86502bee9ee2a6d8af9a91d9b20

2 years agoReplace the newly-removed oo1.DB.getFilename() with DB.dbFilename() with the hope...
stephan [Wed, 26 Oct 2022 11:27:33 +0000 (11:27 +0000)] 
Replace the newly-removed oo1.DB.getFilename() with DB.dbFilename() with the hope that the distinction from the dbInstance.filename property is clearer.

FossilOrigin-Name: 0b80543d75504c733b73b32f73b96074a4b0cebad64e47032926a3fefee41726

2 years agoRemove oo1.DB.hasFilename() and getFilename(), as they are unnecessary.
stephan [Wed, 26 Oct 2022 11:12:14 +0000 (11:12 +0000)] 
Remove oo1.DB.hasFilename() and getFilename(), as they are unnecessary.

FossilOrigin-Name: 75c546b982024bf2b527c85271111d54158cb010867f6e29fc89e86cc8457cc5

2 years agoRemove the sqlite3StdTypeMap global constant that was made
drh [Wed, 26 Oct 2022 11:11:31 +0000 (11:11 +0000)] 
Remove the sqlite3StdTypeMap global constant that was made
obsolete by [aa6e908619624867].

FossilOrigin-Name: 3dfdfb3f12edb3f4267942598efd05d573e13b7c5d6cdbc3404373f41b8993dd

2 years agoAdd --download-version flag to ext/wasm/version-info.c and correct dist target's...
stephan [Wed, 26 Oct 2022 06:05:44 +0000 (06:05 +0000)] 
Add --download-version flag to ext/wasm/version-info.c and correct dist target's output version format to match.

FossilOrigin-Name: 6f2a40d06dd9a56491d27928ed3785e08308c7dcea2b3f768097fc98ba91a910

2 years agoAdd doc page link to the wasm dist README.txt.
stephan [Tue, 25 Oct 2022 16:57:42 +0000 (16:57 +0000)] 
Add doc page link to the wasm dist README.txt.

FossilOrigin-Name: c2380668d9a2ad04f6f27ef052190bda17cdb112895e93b94ae1da70db6983c8

2 years agoCorrect -O level for fiddle build when built from the top-most directory (-Os instead...
stephan [Tue, 25 Oct 2022 16:04:44 +0000 (16:04 +0000)] 
Correct -O level for fiddle build when built from the top-most directory (-Os instead of -O0).

FossilOrigin-Name: ff4fc29c38b78dfd471e25942304cba352469d6018f1c09158172795dbdd438c

2 years agoRename fiddle.html to index.html and move fiddle push-to-server rules from GNUmakefil...
stephan [Tue, 25 Oct 2022 15:59:27 +0000 (15:59 +0000)] 
Rename fiddle.html to index.html and move fiddle push-to-server rules from GNUmakefile into fiddle.make.

FossilOrigin-Name: 3d7b4f36b7dd01058d57fc8ef7689d9bbf1a219166796ed427180cd59d2c189d

2 years agospeedtest1: use the current (or default) vfs->xDelete method to unlink the db. This...
stephan [Tue, 25 Oct 2022 15:38:38 +0000 (15:38 +0000)] 
speedtest1: use the current (or default) vfs->xDelete method to unlink the db. This is specifically necessary when running the opfs vfs in a wasm build of speedtest1. This worked without this fix until recently because the affected test code was performing similar acrobatics in its stead.

FossilOrigin-Name: d3c830bd37a402161b486d3631feceae5d00f89c2522aed65fcd2e666bd64238

2 years agoEnhance the sqlite3_strglob() and sqlite3_strlike() interfaces so that they
drh [Tue, 25 Oct 2022 13:44:18 +0000 (13:44 +0000)] 
Enhance the sqlite3_strglob() and sqlite3_strlike() interfaces so that they
will do sensible things with NULL string pointers.  This is an extra layer
of defense against bugs such as reported by
[forum:/forumpost/730b554179|forum post 730b554179].

FossilOrigin-Name: 8ba9c884bded52e3e044ff39c826c04838e7c31f05d802f4a14d9ce5a01ab721

2 years agoMake the ".dump" command of the CLI more robust against malformed databases.
drh [Tue, 25 Oct 2022 13:42:10 +0000 (13:42 +0000)] 
Make the ".dump" command of the CLI more robust against malformed databases.
See [forum:/forumpost/730b554179|forum post 730b554179].

FossilOrigin-Name: 0573edfb9e0b1fd51e8da20592c71b02040968c33fdec41c31a6b1b7d3e83262

2 years agoMerge latest trunk changes with this branch.
dan [Tue, 25 Oct 2022 11:05:31 +0000 (11:05 +0000)] 
Merge latest trunk changes with this branch.

FossilOrigin-Name: 757e3f585959f4f113fee48fe3d504f037604c53a95c8d47ce5c2bccfb2af8ff

2 years agoMinor doc tweaks in the JS GNUmakefile.
stephan [Tue, 25 Oct 2022 08:41:00 +0000 (08:41 +0000)] 
Minor doc tweaks in the JS GNUmakefile.

FossilOrigin-Name: 9c8df130b8137cb4705f805907d1ff754d7f4b07bf181e1d05f1798b7aa5f4f6

2 years agoRemove persistence from the 'reverse log order?' checkbox in tester1.js to eliminate...
stephan [Tue, 25 Oct 2022 08:15:57 +0000 (08:15 +0000)] 
Remove persistence from the 'reverse log order?' checkbox in tester1.js to eliminate an inconsistency between the main-thread and worker-thread modes (the latter having no option for persistence of that setting).

FossilOrigin-Name: ecf906b07f50b4fcc551d20326a1bb1189bd6c2274627fd293f9460658ebea07

2 years agoMinor cleanups and doc improvements in the OPFS sqlite3_vfs proxy.
stephan [Tue, 25 Oct 2022 08:06:17 +0000 (08:06 +0000)] 
Minor cleanups and doc improvements in the OPFS sqlite3_vfs proxy.

FossilOrigin-Name: 48645f7bcacf81c4149f26d20ee1752fbe93a02f96b85bd7e28bfa49322137e5

2 years agoFix typo in comment.
drh [Mon, 24 Oct 2022 18:42:45 +0000 (18:42 +0000)] 
Fix typo in comment.

FossilOrigin-Name: f65c95658fe4d30817da8de7eb88e823ea1cd8be40e347d626870bad3cc13359