clearOnInit: true,
initialCapacity: 6
};
- confirming that it can be read with an SEE key and cannot be read
+
+ //#if enable-see
+ /**
+ Code consolidator for SEE sanity checks for various VFSes. ctor
+ is the VFS's oo1.DB-type constructor. ctorOptFunc(bool) is a
+ function which must return a constructor args object for ctor. It
+ is passed true if the db needs to be cleaned up/unlinked before
+ opening it (OPFS) and false if not (how that is done is
+ VFS-dependent). dbUnlink is a function which is expected to
+ unlink() the db file if the ctorOpfFunc does not do so when
+ passed true (kvvfs).
+
+ This function initializes the db described by ctorOptFunc(...),
+ writes some secret info into it, and re-opens it twice to
++ confirmi that it can be read with an SEE key and cannot be read
+ without one.
+ */
+ T.seeBaseCheck = function(ctor, ctorOptFunc, dbUnlink){
+ let initDb = true;
+ const tryKey = function(keyKey, key, expectCount){
+ let db;
+ //console.debug('tryKey()',arguments);
+ try {
+ if (initDb) {
+ const ctoropt = ctorOptFunc(initDb);
+ initDb = false;
+ db = new ctor({
+ ...ctoropt,
+ [keyKey]: key
+ });
+ db.exec([
+ "drop table if exists t;",
+ "create table t(a);"
+ ]);
+ db.close();
+ db = null;
+ // Ensure that it's actually encrypted...
+ let err;
+ try {
+ db = new ctor(ctorOptFunc(false));
+ T.assert(db, 'db opened') /* opening is fine, but... */;
+ db.exec("select 1 from sqlite_schema");
+ console.warn("(should not be reached) sessionStorage =", sessionStorage);
+ } catch (e) {
+ err = e;
+ } finally {
+ db.close()
+ db = null;
+ }
+ T.assert(err, "Expecting an exception")
+ .assert(capi.SQLITE_NOTADB == err.resultCode,
+ "Expecting NOTADB");
+ }/*initDb*/
+ db = new ctor({
+ ...ctorOptFunc(false),
+ [keyKey]: key
+ });
+ db.exec("insert into t(a) values (1),(2)");
+ T.assert(expectCount === db.selectValue('select sum(a) from t'));
+ } finally {
+ if (db) db.close();
+ }
+ };
+ const hexFoo = new Uint8Array([0x66,0x6f,0x6f]/*=="foo"*/);
+ dbUnlink();
+ tryKey('textkey', 'foo', 3);
+ T.assert( !initDb );
+ tryKey('textkey', 'foo', 6);
+ dbUnlink();
+ initDb = true;
+ tryKey('key', 'foo', 3);
+ T.assert( !initDb );
+ tryKey('key', hexFoo, 6);
+ dbUnlink();
+ initDb = true;
+ tryKey('hexkey', hexFoo, 3);
+ T.assert( !initDb );
+ tryKey('hexkey', hexFoo, 6);
+ dbUnlink();
+ },
+ //#endif enable-see
+
////////////////////////////////////////////////////////////////////////
// End of infrastructure setup. Now define the tests...
////////////////////////////////////////////////////////////////////////
- C Version\s3.51.0
- D 2025-11-04T19:38:17.314
-C Consolidate\sthe\sthree\sVFS-specific\sSEE\stests\sinto\sa\sshared\sroutine.
-D 2025-11-04T01:03:58.330
++C Minor\swasm\sbuild\ssimplifications\sand\sextend\sthe\sJS\sbindings\sof\ssqlite3_column/value_text()\ssuch\sthat\sthey\sinclude\sembeded\sNUL\sbytes\sin\stheir\sresult\sstrings\srather\sthan\struncate\sthem\sat\sNUL.\sConsolidate\sthe\sshell.c\sbuild\sflags\sfrom\sthe\scanonical\sand\sautoconf\smakefiles\sinto\sthe\sconfigure\sscript.
++D 2025-11-04T22:01:55.830
F .fossil-settings/binary-glob 61195414528fb3ea9693577e1980230d78a1f8b0a54c78cf1b9b24d0a409ed6a x
F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1
F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea
F ext/session/sqlite3session.c b3de195ce668cace9b324599bf6255a70290cbfb5451e826e946f3aee6e64c54
F ext/session/sqlite3session.h 7404723606074fcb2afdc6b72c206072cdb2b7d8ba097ca1559174a80bc26f7a
F ext/session/test_session.c 8766b5973a6323934cb51248f621c3dc87ad2a98f023c3cc280d79e7d78d36fb
- F ext/wasm/EXPORTED_FUNCTIONS.fiddle.in 27450c8b8c70875a260aca55435ec927068b34cef801a96205adb81bdcefc65c
- F ext/wasm/GNUmakefile 3dc01e673c456d3b752674c9407276e8fef35dec1d304b3cc1de362f019b2a09
-F ext/wasm/GNUmakefile cb0c055a3d10afda09eeb441df56d2840d1efe88cc6a84978333f7e9640de834
++F ext/wasm/GNUmakefile 74c73254fb44c82d517a8907da9866d5d3ef1a533addaeb4322f470e0fb81ba3
F ext/wasm/README-dist.txt f01081a850ce38a56706af6b481e3a7878e24e42b314cfcd4b129f0f8427066a
F ext/wasm/README.md 2e87804e12c98f1d194b7a06162a88441d33bb443efcfe00dc6565a780d2f259
F ext/wasm/SQLTester/GNUmakefile e0794f676d55819951bbfae45cc5e8d7818dc460492dc317ce7f0d2eca15caff
F ext/wasm/jaccwabyt/jaccwabyt.js bbac67bc7a79dca34afe6215fd16b27768d84e22273507206f888c117e2ede7d
F ext/wasm/jaccwabyt/jaccwabyt.md 167fc0b624c9bc2c477846e336de9403842d81b1a24fc4d3b24317cb9eba734f
F ext/wasm/mkdist.sh 64d53f469c823ed311f6696f69cec9093f745e467334b34f5ceabdf9de3c5b28 x
- F ext/wasm/mkwasmbuilds.c 1b53c4d2a1350c19a96a8cdfbda6a39baea9d2142bfe0cbef0ccb0e898787f47
-F ext/wasm/mkwasmbuilds.c 431a54ea363272814b7ce131ed28b786f2c60c1cd086d5fb8813cdb5a0167c06
++F ext/wasm/mkwasmbuilds.c 5e194df8763c8e5b2de070575a5f1bc7d7fb862f03c09d3cb9c56e0fa57b7e77
F ext/wasm/module-symbols.html e54f42112e0aac2a31f850ab33e7f2630a2ea4f63496f484a12469a2501e07e2
F ext/wasm/scratchpad-wasmfs.html a3d7388f3c4b263676b58b526846e9d02dfcb4014ff29d3a5040935286af5b96
F ext/wasm/scratchpad-wasmfs.mjs 66034b9256b218de59248aad796760a1584c1dd842231505895eff00dbd57c63
F ext/wasm/sql/001-sudoku.sql 35b7cb7239ba5d5f193bc05ec379bcf66891bce6f2a5b3879f2f78d0917299b5
F ext/wasm/test-opfs-vfs.html 1f2d672f3f3fce810dfd48a8d56914aba22e45c6834e262555e685bce3da8c3f
F ext/wasm/test-opfs-vfs.js 1618670e466f424aa289859fe0ec8ded223e42e9e69b5c851f809baaaca1a00c
- F ext/wasm/tester1-worker.c-pp.html 883881eeac14eeeecc8ff22acf9fe0f18a97cacb48be08ebb0bae891ceded584
- F ext/wasm/tester1.c-pp.html 949920126dcf477925d8d540093d9cc374d3ab4c4ddee920c1dcadcf37917306
- F ext/wasm/tester1.c-pp.js 2b014884dadf28928fabcb688746ca87145673eef75e154486505a266203fc15
+ F ext/wasm/tester1-worker.c-pp.html 0e432ec2c0d99cd470484337066e8d27e7aee4641d97115338f7d962bf7b081a
+ F ext/wasm/tester1.c-pp.html 52d88fe2c6f21a046030a36410b4839b632f4424028197a45a3d5669ea724ddb
-F ext/wasm/tester1.c-pp.js 76ed6a87c673cf55b0bb786d7cb8cafe04eebe0fb3438a4ed0bb040843e305c1
++F ext/wasm/tester1.c-pp.js 56a7889415b996f684765aff07d35ac8a31343201f887ac61d7dd14678d9f0f0
F ext/wasm/tests/opfs/concurrency/index.html 657578a6e9ce1e9b8be951549ed93a6a471f4520a99e5b545928668f4285fb5e
F ext/wasm/tests/opfs/concurrency/test.js d08889a5bb6e61937d0b8cbb78c9efbefbf65ad09f510589c779b7cc6a803a88
F ext/wasm/tests/opfs/concurrency/worker.js 0a8c1a3e6ebb38aabbee24f122693f1fb29d599948915c76906681bb7da1d3d2
F tool/warnings-clang.sh bbf6a1e685e534c92ec2bfba5b1745f34fb6f0bc2a362850723a9ee87c1b31a7
F tool/warnings.sh d924598cf2f55a4ecbc2aeb055c10bd5f48114793e7ba25f9585435da29e7e98
F tool/win/sqlite.vsix deb315d026cc8400325c5863eef847784a219a2f
- P ccabbe06d4e0650eecc91296d6a3040ed7fef06b47e4d63393a2367c8c8f55cf
- R 9324db4aaf883cfc2983724be7d6c4b2
- T +sym-major-release *
- T +sym-release *
- T +sym-version-3.51.0 *
- U drh
- Z bd3359fae465c4238136a20bd4edb791
-P 900885c4fb3071e461bf868e9e68d0d8f3d3e83a1bcbf5c9c68179c701c1fb92
-R cf212ac209e135421eafb888295b09f1
++P fb2c931ae597f8d00a37574ff67aeed3eced4e5547f9120744ae4bfa8e74527b 8ac0bf125ddb6cc86a6825dcfe8895559835eca85ef14b5ad489f7c8159462e4
++R f6a6dc74b61ecf4b92fdf7025309e13a
++T +closed 8ac0bf125ddb6cc86a6825dcfe8895559835eca85ef14b5ad489f7c8159462e4 Closed\sby\sintegrate-merge.
+ U stephan
-Z 6ccf2b6311a3c5ee1b7f2de43939fd38
++Z 6979379120c5ced749593cd4e2d1485e
# Remove this line to create a well-formed Fossil manifest.