1
0
mirror of https://github.com/sqlite/sqlite.git synced 2025-07-29 08:01:23 +03:00

Rename sqlite3_web_... to sqlite3_js_... Document the worker1.close.unlink option. Fix unlink usage in speedtest1.html. Minor JS build cleanups.

FossilOrigin-Name: ac9af71b72a749b0a040273a88480d56f49570b569389a4ea20cc055f494d8ff
This commit is contained in:
stephan
2022-10-20 18:31:32 +00:00
parent c046f6d4d9
commit 8a8244b5c1
10 changed files with 53 additions and 53 deletions

View File

@ -291,12 +291,11 @@ $(sqlite3-license-version.js): $(sqlite3.h) $(sqlite3-license-version-header.js)
# name of the JS file on whose behalf this pre-js is for. # name of the JS file on whose behalf this pre-js is for.
define call-make-pre-js define call-make-pre-js
pre-post-$(1).flags ?= pre-post-$(1).flags ?=
pre-js-$(1).js: $$(pre-js.js) $$(MAKEFILE) $$(dir.tmp)/pre-js-$(1).js: $$(pre-js.js) $$(MAKEFILE)
cp $$(pre-js.js) $$@ cp $$(pre-js.js) $$@
echo "Module[xInstantiateWasm].uri = '$(1).wasm';" >> $$@ echo "Module[xInstantiateWasm].uri = '$(1).wasm';" >> $$@
CLEAN_FILES += pre-js-$(1).js pre-post-$(1).deps := $$(pre-post-jses.deps) $$(dir.tmp)/pre-js-$(1).js
pre-post-$(1).deps := $$(pre-post-jses.deps) pre-js-$(1).js pre-post-$(1).flags += --pre-js=$$(dir.tmp)/pre-js-$(1).js
pre-post-$(1).flags += --pre-js=pre-js-$(1).js
endef endef
#$(error $(call call-make-pre-js,sqlite3-wasmfs)) #$(error $(call call-make-pre-js,sqlite3-wasmfs))
# /post-js and pre-js # /post-js and pre-js
@ -304,9 +303,9 @@ endef
######################################################################## ########################################################################
# emcc flags for .c/.o/.wasm/.js. # emcc flags for .c/.o/.wasm/.js.
emcc.flags = emcc.flags :=
#emcc.flags += -v # _very_ loud but also informative about what it's doing #emcc.flags += -v # _very_ loud but also informative about what it's doing
# -g is needed to keep -O2 and higher from creating broken JS via # -g3 is needed to keep -O2 and higher from creating broken JS via
# minification. # minification.
######################################################################## ########################################################################

View File

@ -592,7 +592,7 @@ self.sqlite3ApiBootstrap.initializers.push(function(sqlite3){
For the given integer, returns the SQLITE_xxx result code as a For the given integer, returns the SQLITE_xxx result code as a
string, or undefined if no such mapping is found. string, or undefined if no such mapping is found.
*/ */
capi.sqlite3_web_rc_str = (rc)=>__rcMap[rc]; capi.sqlite3_js_rc_str = (rc)=>__rcMap[rc];
/* Bind all registered C-side structs... */ /* Bind all registered C-side structs... */
const notThese = Object.assign(Object.create(null),{ const notThese = Object.assign(Object.create(null),{
// Structs NOT to register // Structs NOT to register

View File

@ -1406,7 +1406,7 @@ self.sqlite3ApiBootstrap.initializers.push(function(sqlite3){
default: default:
this._mayGet = false; this._mayGet = false;
console.warn("sqlite3_step() rc=",rc, console.warn("sqlite3_step() rc=",rc,
capi.sqlite3_web_rc_str(rc), capi.sqlite3_js_rc_str(rc),
"SQL =", capi.sqlite3_sql(this.pointer)); "SQL =", capi.sqlite3_sql(this.pointer));
DB.checkRc(this.db.pointer, rc); DB.checkRc(this.db.pointer, rc);
} }
@ -1662,8 +1662,8 @@ self.sqlite3ApiBootstrap.initializers.push(function(sqlite3){
}; };
const jdb = sqlite3.oo1.JsStorageDb; const jdb = sqlite3.oo1.JsStorageDb;
jdb.prototype = Object.create(DB.prototype); jdb.prototype = Object.create(DB.prototype);
/** Equivalent to sqlite3_web_kvvfs_clear(). */ /** Equivalent to sqlite3_js_kvvfs_clear(). */
jdb.clearStorage = capi.sqlite3_web_kvvfs_clear; jdb.clearStorage = capi.sqlite3_js_kvvfs_clear;
/** /**
Clears this database instance's storage or throws if this Clears this database instance's storage or throws if this
instance has been closed. Returns the number of instance has been closed. Returns the number of
@ -1672,8 +1672,8 @@ self.sqlite3ApiBootstrap.initializers.push(function(sqlite3){
jdb.prototype.clearStorage = function(){ jdb.prototype.clearStorage = function(){
return jdb.clearStorage(affirmDbOpen(this).filename); return jdb.clearStorage(affirmDbOpen(this).filename);
}; };
/** Equivalent to sqlite3_web_kvvfs_size(). */ /** Equivalent to sqlite3_js_kvvfs_size(). */
jdb.storageSize = capi.sqlite3_web_kvvfs_size; jdb.storageSize = capi.sqlite3_js_kvvfs_size;
/** /**
Returns the _approximate_ number of bytes this database takes Returns the _approximate_ number of bytes this database takes
up in its storage or throws if this instance has been closed. up in its storage or throws if this instance has been closed.

View File

@ -1107,7 +1107,7 @@ self.sqlite3ApiBootstrap = function sqlite3ApiBootstrap(
bad arguments cause a conversion error when passing into bad arguments cause a conversion error when passing into
wasm-space, false is returned. wasm-space, false is returned.
*/ */
capi.sqlite3_web_db_uses_vfs = function(pDb,vfsName,dbName="main"){ capi.sqlite3_js_db_uses_vfs = function(pDb,vfsName,dbName="main"){
try{ try{
const pK = capi.sqlite3_vfs_find(vfsName); const pK = capi.sqlite3_vfs_find(vfsName);
if(!pK) return false; if(!pK) return false;
@ -1134,7 +1134,7 @@ self.sqlite3ApiBootstrap = function sqlite3ApiBootstrap(
Returns an array of the names of all currently-registered sqlite3 Returns an array of the names of all currently-registered sqlite3
VFSes. VFSes.
*/ */
capi.sqlite3_web_vfs_list = function(){ capi.sqlite3_js_vfs_list = function(){
const rc = []; const rc = [];
let pVfs = capi.sqlite3_vfs_find(0); let pVfs = capi.sqlite3_vfs_find(0);
while(pVfs){ while(pVfs){
@ -1151,7 +1151,7 @@ self.sqlite3ApiBootstrap = function sqlite3ApiBootstrap(
sqlite3_serialize(). On success it returns a Uint8Array. On sqlite3_serialize(). On success it returns a Uint8Array. On
error it throws with a description of the problem. error it throws with a description of the problem.
*/ */
capi.sqlite3_web_db_export = function(pDb){ capi.sqlite3_js_db_export = function(pDb){
if(!pDb) toss('Invalid sqlite3* argument.'); if(!pDb) toss('Invalid sqlite3* argument.');
if(!wasm.bigIntEnabled) toss('BigInt64 support is not enabled.'); if(!wasm.bigIntEnabled) toss('BigInt64 support is not enabled.');
const stack = wasm.pstack.pointer; const stack = wasm.pstack.pointer;
@ -1171,7 +1171,7 @@ self.sqlite3ApiBootstrap = function sqlite3ApiBootstrap(
); );
if(rc){ if(rc){
toss("Database serialization failed with code", toss("Database serialization failed with code",
sqlite3.capi.sqlite3_web_rc_str(rc)); sqlite3.capi.sqlite3_js_rc_str(rc));
} }
pOut = wasm.getPtrValue(ppOut); pOut = wasm.getPtrValue(ppOut);
const nOut = wasm.getMemValue(pSize, 'i64'); const nOut = wasm.getMemValue(pSize, 'i64');
@ -1192,7 +1192,7 @@ self.sqlite3ApiBootstrap = function sqlite3ApiBootstrap(
/* Features specific to the main window thread... */ /* Features specific to the main window thread... */
/** /**
Internal helper for sqlite3_web_kvvfs_clear() and friends. Internal helper for sqlite3_js_kvvfs_clear() and friends.
Its argument should be one of ('local','session',''). Its argument should be one of ('local','session','').
*/ */
const __kvvfsInfo = function(which){ const __kvvfsInfo = function(which){
@ -1217,7 +1217,7 @@ self.sqlite3ApiBootstrap = function sqlite3ApiBootstrap(
Returns the number of entries cleared. Returns the number of entries cleared.
*/ */
capi.sqlite3_web_kvvfs_clear = function(which=''){ capi.sqlite3_js_kvvfs_clear = function(which=''){
let rc = 0; let rc = 0;
const kvinfo = __kvvfsInfo(which); const kvinfo = __kvvfsInfo(which);
kvinfo.stores.forEach((s)=>{ kvinfo.stores.forEach((s)=>{
@ -1250,7 +1250,7 @@ self.sqlite3ApiBootstrap = function sqlite3ApiBootstrap(
those limits are unspecified and may include per-entry those limits are unspecified and may include per-entry
overhead invisible to clients. overhead invisible to clients.
*/ */
capi.sqlite3_web_kvvfs_size = function(which=''){ capi.sqlite3_js_kvvfs_size = function(which=''){
let sz = 0; let sz = 0;
const kvinfo = __kvvfsInfo(which); const kvinfo = __kvvfsInfo(which);
kvinfo.stores.forEach((s)=>{ kvinfo.stores.forEach((s)=>{

View File

@ -167,7 +167,7 @@
the non-WASMFS OPFS VFS to open a database via a URI-style the non-WASMFS OPFS VFS to open a database via a URI-style
db filename. db filename.
vfsList: result of sqlite3.capi.sqlite3_web_vfs_list() vfsList: result of sqlite3.capi.sqlite3_js_vfs_list()
} }
} }
``` ```
@ -225,13 +225,15 @@
type: "close", type: "close",
messageId: ...as above... messageId: ...as above...
dbId: ...as above... dbId: ...as above...
args: none args: OPTIONAL {unlink: boolean}
} }
``` ```
If the dbId does not refer to an opened ID, this is a no-op. The If the `dbId` does not refer to an opened ID, this is a no-op. If
inability to close a db (because it's not opened) or delete its the `args` object contains a truthy `unlink` value then the database
file does not trigger an error. will unlinked (deleted) after closing it. The inability to close a
db (because it's not opened) or delete its file does not trigger an
error.
Response: Response:
@ -432,15 +434,13 @@ sqlite3.initWorker1API = function(){
const pDir = sqlite3.capi.sqlite3_wasmfs_opfs_dir(); const pDir = sqlite3.capi.sqlite3_wasmfs_opfs_dir();
if(!args.filename || ':memory:'===args.filename){ if(!args.filename || ':memory:'===args.filename){
oargs.filename = args.filename || ''; oargs.filename = args.filename || '';
}else if(pDir){
oargs.filename = pDir + ('/'===args.filename[0] ? args.filename : ('/'+args.filename));
}else{ }else{
oargs.filename = args.filename; oargs.filename = args.filename;
} }
const db = wState.open(oargs); const db = wState.open(oargs);
rc.filename = db.filename; rc.filename = db.filename;
rc.persistent = (!!pDir && db.filename.startsWith(pDir)) rc.persistent = (!!pDir && db.filename.startsWith(pDir+'/'))
|| sqlite3.capi.sqlite3_web_db_uses_vfs(db.pointer, "opfs"); || sqlite3.capi.sqlite3_js_db_uses_vfs(db.pointer, "opfs");
rc.dbId = getDbId(db); rc.dbId = getDbId(db);
return rc; return rc;
}, },
@ -521,7 +521,7 @@ sqlite3.initWorker1API = function(){
}); });
rc.wasmfsOpfsEnabled = !!sqlite3.capi.sqlite3_wasmfs_opfs_dir(); rc.wasmfsOpfsEnabled = !!sqlite3.capi.sqlite3_wasmfs_opfs_dir();
rc.version = sqlite3.version; rc.version = sqlite3.version;
rc.vfsList = sqlite3.capi.sqlite3_web_vfs_list(); rc.vfsList = sqlite3.capi.sqlite3_js_vfs_list();
return rc; return rc;
}, },

View File

@ -130,7 +130,7 @@
return f._(); return f._();
}, },
dbIsOpfs: function f(){ dbIsOpfs: function f(){
return sqlite3.opfs && sqlite3.capi.sqlite3_web_db_uses_vfs( return sqlite3.opfs && sqlite3.capi.sqlite3_js_db_uses_vfs(
this.dbHandle(), "opfs" this.dbHandle(), "opfs"
); );
}, },
@ -251,7 +251,7 @@
const fn2 = fn ? fn.split(/[/\\]/).pop() : null; const fn2 = fn ? fn.split(/[/\\]/).pop() : null;
try{ try{
if(!fn2) toss("DB appears to be closed."); if(!fn2) toss("DB appears to be closed.");
const buffer = sqlite3.capi.sqlite3_web_db_export( const buffer = sqlite3.capi.sqlite3_js_db_export(
Sqlite3Shell.dbHandle() Sqlite3Shell.dbHandle()
); );
wMsg('db-export',{filename: fn2, buffer: buffer.buffer}, [buffer.buffer]); wMsg('db-export',{filename: fn2, buffer: buffer.buffer}, [buffer.buffer]);

View File

@ -96,6 +96,6 @@
//if(App.pDir) log("Persistent storage:",pDir); //if(App.pDir) log("Persistent storage:",pDir);
//else log("Using transient storage."); //else log("Using transient storage.");
mPost('ready',true); mPost('ready',true);
log("Registered VFSes:", ...S.capi.sqlite3_web_vfs_list()); log("Registered VFSes:", ...S.capi.sqlite3_js_vfs_list());
}); });
})(); })();

View File

@ -94,7 +94,6 @@
const runTests = function(sqlite3){ const runTests = function(sqlite3){
const capi = sqlite3.capi, wasm = capi.wasm; const capi = sqlite3.capi, wasm = capi.wasm;
//console.debug('sqlite3 =',sqlite3); //console.debug('sqlite3 =',sqlite3);
const unlink = wasm.xWrap("sqlite3_wasm_vfs_unlink", "int", ["string"]);
const pDir = wasmfsDir(wasm); const pDir = wasmfsDir(wasm);
if(pDir){ if(pDir){
console.warn("Persistent storage:",pDir); console.warn("Persistent storage:",pDir);
@ -108,9 +107,11 @@
} }
let forceSize = 0; let forceSize = 0;
let vfs, pVfs = 0;
if(urlParams.has('vfs')){ if(urlParams.has('vfs')){
const vfs = urlParams.get('vfs'); vfs = urlParams.get('vfs');
if(!capi.sqlite3_vfs_find(vfs)){ pVfs = capi.sqlite3_vfs_find(vfs);
if(!pVfs){
log2('error',"Unknown VFS:",vfs); log2('error',"Unknown VFS:",vfs);
return; return;
} }
@ -121,7 +122,7 @@
dbFile = 'session'; dbFile = 'session';
log2('warning',"kvvfs VFS: forcing --size",forceSize, log2('warning',"kvvfs VFS: forcing --size",forceSize,
"and filename '"+dbFile+"'."); "and filename '"+dbFile+"'.");
capi.sqlite3_web_kvvfs_clear(dbFile); capi.sqlite3_js_kvvfs_clear(dbFile);
} }
} }
if(forceSize){ if(forceSize){
@ -146,7 +147,7 @@
console.log("argv =",argv); console.log("argv =",argv);
// These log messages are not emitted to the UI until after main() returns. Fixing that // These log messages are not emitted to the UI until after main() returns. Fixing that
// requires moving the main() call and related cleanup into a timeout handler. // requires moving the main() call and related cleanup into a timeout handler.
if(pDir) unlink(dbFile); if(pDir) wasm.sqlite3_wasm_vfs_unlink(pVfs,dbFile);
log2('',"Starting native app:\n ",argv.join(' ')); log2('',"Starting native app:\n ",argv.join(' '));
log2('',"This will take a while and the browser might warn about the runaway JS.", log2('',"This will take a while and the browser might warn about the runaway JS.",
"Give it time..."); "Give it time...");
@ -155,7 +156,7 @@
wasm.xCall('wasm_main', argv.length, wasm.xCall('wasm_main', argv.length,
wasm.scopedAllocMainArgv(argv)); wasm.scopedAllocMainArgv(argv));
wasm.scopedAllocPop(scope); wasm.scopedAllocPop(scope);
if(pDir) unlink(dbFile); if(pDir) wasm.sqlite3_wasm_vfs_unlink(pVfs,dbFile);
logList.unshift("Done running native main(). Output:"); logList.unshift("Done running native main(). Output:");
dumpLogList(); dumpLogList();
}, 50); }, 50);

View File

@ -1,5 +1,5 @@
C Add\sa\sbit\sto\sthe\soptimization\sdisabling\smask\sfor\sthe\sindexed\sexpression\noptimization. C Rename\ssqlite3_web_...\sto\ssqlite3_js_...\sDocument\sthe\sworker1.close.unlink\soption.\sFix\sunlink\susage\sin\sspeedtest1.html.\sMinor\sJS\sbuild\scleanups.
D 2022-10-20T16:30:05.203 D 2022-10-20T18:31:32.249
F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1 F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1
F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea
F LICENSE.md df5091916dbb40e6e9686186587125e1b2ff51f022cc334e886c19a0e9982724 F LICENSE.md df5091916dbb40e6e9686186587125e1b2ff51f022cc334e886c19a0e9982724
@ -472,7 +472,7 @@ F ext/userauth/sqlite3userauth.h 7f3ea8c4686db8e40b0a0e7a8e0b00fac13aa7a3
F ext/userauth/user-auth.txt e6641021a9210364665fe625d067617d03f27b04 F ext/userauth/user-auth.txt e6641021a9210364665fe625d067617d03f27b04
F ext/userauth/userauth.c 7f00cded7dcaa5d47f54539b290a43d2e59f4b1eb5f447545fa865f002fc80cb F ext/userauth/userauth.c 7f00cded7dcaa5d47f54539b290a43d2e59f4b1eb5f447545fa865f002fc80cb
F ext/wasm/EXPORTED_FUNCTIONS.fiddle.in 27450c8b8c70875a260aca55435ec927068b34cef801a96205adb81bdcefc65c F ext/wasm/EXPORTED_FUNCTIONS.fiddle.in 27450c8b8c70875a260aca55435ec927068b34cef801a96205adb81bdcefc65c
F ext/wasm/GNUmakefile 6cd57a8ce51424220917c6ff766e8a7b7998cbdc6a1e364c4366992a77f11de4 F ext/wasm/GNUmakefile 645bd5670a56acf2c8f1e969c427555e3e8e74dfd6eac8c948858f530617c7d5
F ext/wasm/README-dist.txt e78e44a58772d5b5d7a5a179b5bf639cd67b62249aac66138e2c319bd02dd243 F ext/wasm/README-dist.txt e78e44a58772d5b5d7a5a179b5bf639cd67b62249aac66138e2c319bd02dd243
F ext/wasm/README.md 1e5b28158b74ab3ffc9d54fcbc020f0bbeb82c2ff8bbd904214c86c70e8a3066 F ext/wasm/README.md 1e5b28158b74ab3ffc9d54fcbc020f0bbeb82c2ff8bbd904214c86c70e8a3066
F ext/wasm/api/EXPORTED_FUNCTIONS.sqlite3-api 89983a8d122c35a90c65ec667844b95a78bcd04f3198a99c1e0c8368c1a0b03a F ext/wasm/api/EXPORTED_FUNCTIONS.sqlite3-api 89983a8d122c35a90c65ec667844b95a78bcd04f3198a99c1e0c8368c1a0b03a
@ -484,11 +484,11 @@ F ext/wasm/api/post-js-footer.js cd0a8ec768501d9bd45d325ab0442037fb0e33d1f3b4f08
F ext/wasm/api/post-js-header.js 2e5c886398013ba2af88028ecbced1e4b22dc96a86467f1ecc5ba9e64ef90a8b F ext/wasm/api/post-js-header.js 2e5c886398013ba2af88028ecbced1e4b22dc96a86467f1ecc5ba9e64ef90a8b
F ext/wasm/api/pre-js.js 151e0616614a49f3db19ed544fa13b38c87c108959fbcd4029ea8399a562d94f F ext/wasm/api/pre-js.js 151e0616614a49f3db19ed544fa13b38c87c108959fbcd4029ea8399a562d94f
F ext/wasm/api/sqlite3-api-cleanup.js 4d07a7524dc9b7b050acfde57163e839243ad2383bd7ee0de0178b1b3e988588 F ext/wasm/api/sqlite3-api-cleanup.js 4d07a7524dc9b7b050acfde57163e839243ad2383bd7ee0de0178b1b3e988588
F ext/wasm/api/sqlite3-api-glue.js 2f5a337181e541cf3d74ceafb600ebb730a1241a5572710a21133b6dd5b2b2e2 F ext/wasm/api/sqlite3-api-glue.js 0b5240bd325d2561f269cd0d82bf686336526e5e276251c2241adfbda802abf8
F ext/wasm/api/sqlite3-api-oo1.js 9a5f0c00d476c504f16dcd456e1743dbc2826ca3d10645dfa62663a39e3ed0d8 F ext/wasm/api/sqlite3-api-oo1.js dc9b6a61649ad32836044de388c5248790239d62ced4e1116023135fcb0fc68b
F ext/wasm/api/sqlite3-api-opfs.js 22d60ba956e873b65e2e0591e239178082bd53a6d563c3c58db7dc03e562e8f7 F ext/wasm/api/sqlite3-api-opfs.js 22d60ba956e873b65e2e0591e239178082bd53a6d563c3c58db7dc03e562e8f7
F ext/wasm/api/sqlite3-api-prologue.js 7eef0383646c851e3f6a78e21b51e9c078c82829c9d3d2ded9aa0215d71de36c F ext/wasm/api/sqlite3-api-prologue.js 1366d538a7b388c299a389f441a79cf0b18af50208343545bd318936b6232acd
F ext/wasm/api/sqlite3-api-worker1.js c8133bb5848c082c6f0eb69722086dd876c389a3bc77cd404f23791a5c2a3300 F ext/wasm/api/sqlite3-api-worker1.js cb07b321164483524a27cf2207d4358b905703c410fcd8256e0acca5ab2fffb2
F ext/wasm/api/sqlite3-license-version-header.js a661182fc93fc2cf212dfd0b987f8e138a3ac98f850b1112e29b5fbdaecc87c3 F ext/wasm/api/sqlite3-license-version-header.js a661182fc93fc2cf212dfd0b987f8e138a3ac98f850b1112e29b5fbdaecc87c3
F ext/wasm/api/sqlite3-opfs-async-proxy.js 206ce6bbc3c30ad51a37d9c25e3a2712e70b586e0f9a2cf8cb0b9619017c2671 F ext/wasm/api/sqlite3-opfs-async-proxy.js 206ce6bbc3c30ad51a37d9c25e3a2712e70b586e0f9a2cf8cb0b9619017c2671
F ext/wasm/api/sqlite3-wasi.h 25356084cfe0d40458a902afb465df8c21fc4152c1d0a59b563a3fba59a068f9 F ext/wasm/api/sqlite3-wasi.h 25356084cfe0d40458a902afb465df8c21fc4152c1d0a59b563a3fba59a068f9
@ -513,7 +513,7 @@ F ext/wasm/demo-worker1.js 8ba51d94c4601fa5c313d9e59b63b238f5305b5d5739ad21f4782
F ext/wasm/dist.make b3b156061ff6a35ce59715632c9446cb58e0fc497021a93c778fed051a04fde1 F ext/wasm/dist.make b3b156061ff6a35ce59715632c9446cb58e0fc497021a93c778fed051a04fde1
F ext/wasm/fiddle.make acdb1a402864f9b05a4c89805c5e91d88f5080652d8861f0865655b172243847 F ext/wasm/fiddle.make acdb1a402864f9b05a4c89805c5e91d88f5080652d8861f0865655b172243847
F ext/wasm/fiddle/emscripten.css 3d253a6fdb8983a2ac983855bfbdd4b6fa1ff267c28d69513dd6ef1f289ada3f F ext/wasm/fiddle/emscripten.css 3d253a6fdb8983a2ac983855bfbdd4b6fa1ff267c28d69513dd6ef1f289ada3f
F ext/wasm/fiddle/fiddle-worker.js def4762721ff36e2fd1b5cb35725fc9f56933eb4fbf3dcdaab6eee164baa442e F ext/wasm/fiddle/fiddle-worker.js 7ee53ca846071de5d46bb11a2a269a7990ef9cfd8abfae2a25cc948499783d78
F ext/wasm/fiddle/fiddle.html 5daf54e8f3d7777cbb1ca4f93affe28858dbfff25841cb4ab81d694efed28ec2 F ext/wasm/fiddle/fiddle.html 5daf54e8f3d7777cbb1ca4f93affe28858dbfff25841cb4ab81d694efed28ec2
F ext/wasm/fiddle/fiddle.js 974b995119ac443685d7d94d3b3c58c6a36540e9eb3fed7069d5653284071715 F ext/wasm/fiddle/fiddle.js 974b995119ac443685d7d94d3b3c58c6a36540e9eb3fed7069d5653284071715
F ext/wasm/index-dist.html cb0da16cba0f21cda2c25724c5869102d48eb0af04446acd3cd0ca031f80ed19 F ext/wasm/index-dist.html cb0da16cba0f21cda2c25724c5869102d48eb0af04446acd3cd0ca031f80ed19
@ -524,8 +524,8 @@ F ext/wasm/scratchpad-wasmfs-main.html 20cf6f1a8f368e70d01e8c17200e3eaa90f1c8e10
F ext/wasm/scratchpad-wasmfs-main.js 1aa32c1035cf1440a226a28fefcbb5762fbbcb020ccbe5895f8736d701695c63 F ext/wasm/scratchpad-wasmfs-main.js 1aa32c1035cf1440a226a28fefcbb5762fbbcb020ccbe5895f8736d701695c63
F ext/wasm/speedtest1-wasmfs.html bc28eb29b69a73864b8d7aae428448f8b7e1de81d8bfb9bba99541322054dbd0 F ext/wasm/speedtest1-wasmfs.html bc28eb29b69a73864b8d7aae428448f8b7e1de81d8bfb9bba99541322054dbd0
F ext/wasm/speedtest1-worker.html 7b0cceab6a68b2883738e19f61d21620fe1244ba36c1b2e38d0efde57ecce86d F ext/wasm/speedtest1-worker.html 7b0cceab6a68b2883738e19f61d21620fe1244ba36c1b2e38d0efde57ecce86d
F ext/wasm/speedtest1-worker.js b49358781aca651319eca3720857f19d0eae0868834992f8f6d666c1e976dff8 F ext/wasm/speedtest1-worker.js 490844a70af72d7bb16cc766d66621c1ca587d8a3f7e6b804c69327fa34881f7
F ext/wasm/speedtest1.html 00102689678b3c09ae6f5e4b3782e95f448e943a3491246e7be9ee349049bcaf F ext/wasm/speedtest1.html 6303e620162b2058d5e212f966a7caed4a31a516b6140fbc64185cb296218e4f
F ext/wasm/split-speedtest1-script.sh a3e271938d4d14ee49105eb05567c6a69ba4c1f1293583ad5af0cd3a3779e205 x F ext/wasm/split-speedtest1-script.sh a3e271938d4d14ee49105eb05567c6a69ba4c1f1293583ad5af0cd3a3779e205 x
F ext/wasm/sql/000-mandelbrot.sql 775337a4b80938ac8146aedf88808282f04d02d983d82675bd63d9c2d97a15f0 F ext/wasm/sql/000-mandelbrot.sql 775337a4b80938ac8146aedf88808282f04d02d983d82675bd63d9c2d97a15f0
F ext/wasm/sql/001-sudoku.sql 35b7cb7239ba5d5f193bc05ec379bcf66891bce6f2a5b3879f2f78d0917299b5 F ext/wasm/sql/001-sudoku.sql 35b7cb7239ba5d5f193bc05ec379bcf66891bce6f2a5b3879f2f78d0917299b5
@ -2036,8 +2036,8 @@ F vsixtest/vsixtest.tcl 6a9a6ab600c25a91a7acc6293828957a386a8a93
F vsixtest/vsixtest.vcxproj.data 2ed517e100c66dc455b492e1a33350c1b20fbcdc F vsixtest/vsixtest.vcxproj.data 2ed517e100c66dc455b492e1a33350c1b20fbcdc
F vsixtest/vsixtest.vcxproj.filters 37e51ffedcdb064aad6ff33b6148725226cd608e F vsixtest/vsixtest.vcxproj.filters 37e51ffedcdb064aad6ff33b6148725226cd608e
F vsixtest/vsixtest_TemporaryKey.pfx e5b1b036facdb453873e7084e1cae9102ccc67a0 F vsixtest/vsixtest_TemporaryKey.pfx e5b1b036facdb453873e7084e1cae9102ccc67a0
P 535867a9c8719358380f89fd80473c484def9bb72744dd2fd28ada65999ee901 P 56df1482ab45d4d41f937b27c5a877b52fa082bfc6809ea682b62b47a51333de
R 85216d994cb9632dd89733d6a41cd6c8 R afcc999df723d6bf12746efb0e783132
U drh U stephan
Z 8b2ac4d684320c840aa3e0f63be89cad Z 97b1f226f03f5d4357dc526c8056da42
# Remove this line to create a well-formed Fossil manifest. # Remove this line to create a well-formed Fossil manifest.

View File

@ -1 +1 @@
56df1482ab45d4d41f937b27c5a877b52fa082bfc6809ea682b62b47a51333de ac9af71b72a749b0a040273a88480d56f49570b569389a4ea20cc055f494d8ff