summaryrefslogtreecommitdiffstats
path: root/ext/wasm/api/sqlite3-api-worker1.js
diff options
context:
space:
mode:
Diffstat (limited to 'ext/wasm/api/sqlite3-api-worker1.js')
-rw-r--r--ext/wasm/api/sqlite3-api-worker1.js40
1 files changed, 4 insertions, 36 deletions
diff --git a/ext/wasm/api/sqlite3-api-worker1.js b/ext/wasm/api/sqlite3-api-worker1.js
index 3099c19..2e59761 100644
--- a/ext/wasm/api/sqlite3-api-worker1.js
+++ b/ext/wasm/api/sqlite3-api-worker1.js
@@ -359,6 +359,7 @@
*/
globalThis.sqlite3ApiBootstrap.initializers.push(function(sqlite3){
+const util = sqlite3.util;
sqlite3.initWorker1API = function(){
'use strict';
const toss = (...args)=>{throw new Error(args.join(' '))};
@@ -409,12 +410,12 @@ sqlite3.initWorker1API = function(){
if(db){
delete this.dbs[getDbId(db)];
const filename = db.filename;
- const pVfs = sqlite3.wasm.sqlite3_wasm_db_vfs(db.pointer, 0);
+ const pVfs = util.sqlite3__wasm_db_vfs(db.pointer, 0);
db.close();
const ddNdx = this.dbList.indexOf(db);
if(ddNdx>=0) this.dbList.splice(ddNdx, 1);
if(alsoUnlink && filename && pVfs){
- sqlite3.wasm.sqlite3_wasm_vfs_unlink(pVfs, filename);
+ util.sqlite3__wasm_vfs_unlink(pVfs, filename);
}
}
},
@@ -458,11 +459,6 @@ sqlite3.initWorker1API = function(){
return wState.dbList[0] && getDbId(wState.dbList[0]);
};
- const guessVfs = function(filename){
- const m = /^file:.+(vfs=(\w+))/.exec(filename);
- return sqlite3.capi.sqlite3_vfs_find(m ? m[2] : 0);
- };
-
const isSpecialDbFilename = (n)=>{
return ""===n || ':'===n[0];
};
@@ -484,36 +480,8 @@ sqlite3.initWorker1API = function(){
toss("Throwing because of simulateError flag.");
}
const rc = Object.create(null);
- let byteArray, pVfs;
oargs.vfs = args.vfs;
- if(isSpecialDbFilename(args.filename)){
- oargs.filename = args.filename || "";
- }else{
- oargs.filename = args.filename;
- byteArray = args.byteArray;
- if(byteArray) pVfs = guessVfs(args.filename);
- }
- if(pVfs){
- /* 2022-11-02: this feature is as-yet untested except that
- sqlite3_wasm_vfs_create_file() has been tested from the
- browser dev console. */
- let pMem;
- try{
- pMem = sqlite3.wasm.allocFromTypedArray(byteArray);
- const rc = sqlite3.wasm.sqlite3_wasm_vfs_create_file(
- pVfs, oargs.filename, pMem, byteArray.byteLength
- );
- if(rc) sqlite3.SQLite3Error.toss(rc);
- }catch(e){
- throw new sqlite3.SQLite3Error(
- e.name+' creating '+args.filename+": "+e.message, {
- cause: e
- }
- );
- }finally{
- if(pMem) sqlite3.wasm.dealloc(pMem);
- }
- }
+ oargs.filename = args.filename || "";
const db = wState.open(oargs);
rc.filename = db.filename;
rc.persistent = !!sqlite3.capi.sqlite3_js_db_uses_vfs(db.pointer, "opfs");