mirror of
https://github.com/sqlite/sqlite.git
synced 2025-06-15 02:42:32 +03:00
Fix a shadowed var in opfs-sahpool and add more tests.
FossilOrigin-Name: 9c8a73aff0f291e0c18072372e0d8961d3a05910489598d0d342227d99871954
This commit is contained in:
@ -999,18 +999,18 @@ globalThis.sqlite3ApiBootstrap.initializers.push(function(sqlite3){
|
||||
//log("vfs list:",capi.sqlite3_js_vfs_list());
|
||||
if(sqlite3.oo1){
|
||||
const oo1 = sqlite3.oo1;
|
||||
const OpfsthePoolDb = function(...args){
|
||||
const OpfsSAHPoolDb = function(...args){
|
||||
const opt = oo1.DB.dbCtorHelper.normalizeArgs(...args);
|
||||
opt.vfs = opfsVfs.$zName;
|
||||
oo1.DB.dbCtorHelper.call(this, opt);
|
||||
};
|
||||
OpfsthePoolDb.prototype = Object.create(oo1.DB.prototype);
|
||||
OpfsthePoolDb.PoolUtil = poolUtil;
|
||||
if(!oo1.OpfsthePoolDb){
|
||||
oo1.OpfsthePoolDb = Object.create(null);
|
||||
oo1.OpfsthePoolDb.default = OpfsthePoolDb;
|
||||
OpfsSAHPoolDb.prototype = Object.create(oo1.DB.prototype);
|
||||
OpfsSAHPoolDb.PoolUtil = poolUtil;
|
||||
if(!oo1.OpfsSAHPool){
|
||||
oo1.OpfsSAHPool = Object.create(null);
|
||||
oo1.OpfsSAHPool.default = OpfsSAHPoolDb;
|
||||
}
|
||||
oo1.OpfsthePoolDb[vfsName] = OpfsthePoolDb;
|
||||
oo1.OpfsSAHPool[vfsName] = OpfsSAHPoolDb;
|
||||
oo1.DB.dbCtorHelper.setVfsPostOpenSql(
|
||||
opfsVfs.pointer,
|
||||
function(oo1Db, sqlite3){
|
||||
|
@ -2779,10 +2779,25 @@ globalThis.sqlite3InitModule = sqlite3InitModule;
|
||||
T.assert(u1 === u2)
|
||||
.assert(sahPoolConfig.name === u1.vfsName)
|
||||
.assert(sqlite3.capi.sqlite3_vfs_find(sahPoolConfig.name))
|
||||
.assert(u1.getCapacity() === sahPoolConfig.initialCapacity)
|
||||
.assert(5 === (await u2.addCapacity(2)))
|
||||
.assert(sqlite3.capi.sqlite3_js_vfs_list().indexOf(sahPoolConfig.name) >= 0)
|
||||
.assert(true === await u2.removeVfs())
|
||||
.assert(u1.getCapacity() >= sahPoolConfig.initialCapacity
|
||||
/* If a test fails before we get to nuke the VFS, we
|
||||
can have more than the initial capacity on the next
|
||||
run. */)
|
||||
.assert(u1.getCapacity() + 2 === (await u2.addCapacity(2)))
|
||||
.assert(sqlite3.oo1.OpfsSAHPool.default instanceof Function)
|
||||
.assert(sqlite3.oo1.OpfsSAHPool.default ===
|
||||
sqlite3.oo1.OpfsSAHPool[sahPoolConfig.name])
|
||||
.assert(sqlite3.capi.sqlite3_js_vfs_list().indexOf(sahPoolConfig.name) >= 0);
|
||||
|
||||
const db = new sqlite3.oo1.OpfsSAHPool.default("foo.db");
|
||||
db.exec([
|
||||
'create table t(a);',
|
||||
'insert into t(a) values(1),(2),(3)'
|
||||
]);
|
||||
T.assert(3 === db.selectValue('select count(*) from t'));
|
||||
db.close();
|
||||
|
||||
T.assert(true === await u2.removeVfs())
|
||||
.assert(false === await u1.removeVfs())
|
||||
.assert(!sqlite3.capi.sqlite3_vfs_find(sahPoolConfig.name));
|
||||
|
||||
|
Reference in New Issue
Block a user