aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ext/misc/base85.c3
-rw-r--r--ext/rbu/rbu1.test1
-rw-r--r--ext/rbu/rbu10.test7
-rw-r--r--ext/rbu/rbu11.test6
-rw-r--r--ext/rbu/rbu12.test6
-rw-r--r--ext/rbu/rbu13.test6
-rw-r--r--ext/rbu/rbu14.test6
-rw-r--r--ext/rbu/rbu3.test6
-rw-r--r--ext/rbu/rbu5.test1
-rw-r--r--ext/rbu/rbu6.test6
-rw-r--r--ext/rbu/rbu7.test6
-rw-r--r--ext/rbu/rbu8.test6
-rw-r--r--ext/rbu/rbu9.test6
-rw-r--r--ext/rbu/rbuA.test6
-rw-r--r--ext/rbu/rbuB.test1
-rw-r--r--ext/rbu/rbuC.test1
-rw-r--r--ext/rbu/rbubusy.test1
-rw-r--r--ext/rbu/rbucollate.test1
-rw-r--r--ext/rbu/rbucrash.test6
-rw-r--r--ext/rbu/rbucrash2.test6
-rw-r--r--ext/rbu/rbudiff.test7
-rw-r--r--ext/rbu/rbudor.test6
-rw-r--r--ext/rbu/rbuexlock.test1
-rw-r--r--ext/rbu/rbuexpr.test1
-rw-r--r--ext/rbu/rbufault.test6
-rw-r--r--ext/rbu/rbufault2.test6
-rw-r--r--ext/rbu/rbufault3.test1
-rw-r--r--ext/rbu/rbufault4.test6
-rw-r--r--ext/rbu/rbufts.test6
-rw-r--r--ext/rbu/rbumisc.test1
-rw-r--r--ext/rbu/rbumulti.test1
-rw-r--r--ext/rbu/rbupartial.test1
-rw-r--r--ext/rbu/rbupass.test1
-rw-r--r--ext/rbu/rbuprogress.test1
-rw-r--r--ext/rbu/rburename.test1
-rw-r--r--ext/rbu/rburesume.test1
-rw-r--r--ext/rbu/rbusave.test6
-rw-r--r--ext/rbu/rbusplit.test1
-rw-r--r--ext/rbu/rbutemplimit.test1
-rw-r--r--ext/rbu/rbuvacuum.test1
-rw-r--r--ext/rbu/rbuvacuum2.test1
-rw-r--r--ext/rbu/rbuvacuum3.test1
-rw-r--r--ext/rbu/rbuvacuum4.test1
-rw-r--r--ext/wasm/GNUmakefile21
-rw-r--r--ext/wasm/api/extern-post-js.c-pp.js23
-rw-r--r--ext/wasm/api/pre-js.c-pp.js4
-rw-r--r--ext/wasm/api/sqlite3-vfs-opfs.c-pp.js21
-rw-r--r--ext/wasm/tester1-worker.html8
-rw-r--r--ext/wasm/tester1.c-pp.html8
-rw-r--r--ext/wasm/tester1.c-pp.js8
-rw-r--r--manifest113
-rw-r--r--manifest.uuid2
-rw-r--r--src/btree.c4
53 files changed, 176 insertions, 183 deletions
diff --git a/ext/misc/base85.c b/ext/misc/base85.c
index 019136874..5ec136dbc 100644
--- a/ext/misc/base85.c
+++ b/ext/misc/base85.c
@@ -171,7 +171,8 @@ static char* toBase85( u8 *pIn, int nbIn, char *pOut, char *pSep ){
int nCol = 0;
while( nbIn >= 4 ){
int nco = 5;
- unsigned long qbv = (pIn[0]<<24)|(pIn[1]<<16)|(pIn[2]<<8)|pIn[3];
+ unsigned long qbv = (((unsigned long)pIn[0])<<24) |
+ (pIn[1]<<16) | (pIn[2]<<8) | pIn[3];
while( nco > 0 ){
unsigned nqv = (unsigned)(qbv/85UL);
unsigned char dv = qbv - 85UL*nqv;
diff --git a/ext/rbu/rbu1.test b/ext/rbu/rbu1.test
index 9237dbcea..2c3860e80 100644
--- a/ext/rbu/rbu1.test
+++ b/ext/rbu/rbu1.test
@@ -11,6 +11,7 @@
#
source [file join [file dirname [info script]] rbu_common.tcl]
+ifcapable !rbu { finish_test ; return }
set ::testprefix rbu1
db close
diff --git a/ext/rbu/rbu10.test b/ext/rbu/rbu10.test
index aa4db8a29..7f75dbfa7 100644
--- a/ext/rbu/rbu10.test
+++ b/ext/rbu/rbu10.test
@@ -10,13 +10,10 @@
#***********************************************************************
#
-if {![info exists testdir]} {
- set testdir [file join [file dirname [info script]] .. .. test]
-}
-source $testdir/tester.tcl
+source [file join [file dirname [info script]] rbu_common.tcl]
+ifcapable !rbu { finish_test ; return }
set ::testprefix rbu10
-
#--------------------------------------------------------------------
# Test that UPDATE commands work even if the input columns are in a
# different order to the output columns.
diff --git a/ext/rbu/rbu11.test b/ext/rbu/rbu11.test
index 5a4219b00..4b711721e 100644
--- a/ext/rbu/rbu11.test
+++ b/ext/rbu/rbu11.test
@@ -10,10 +10,8 @@
#***********************************************************************
#
-if {![info exists testdir]} {
- set testdir [file join [file dirname [info script]] .. .. test]
-}
-source $testdir/tester.tcl
+source [file join [file dirname [info script]] rbu_common.tcl]
+ifcapable !rbu { finish_test ; return }
set ::testprefix rbu11
diff --git a/ext/rbu/rbu12.test b/ext/rbu/rbu12.test
index 7816bfe89..6e27ba692 100644
--- a/ext/rbu/rbu12.test
+++ b/ext/rbu/rbu12.test
@@ -10,10 +10,8 @@
#***********************************************************************
#
-if {![info exists testdir]} {
- set testdir [file join [file dirname [info script]] .. .. test]
-}
-source $testdir/tester.tcl
+source [file join [file dirname [info script]] rbu_common.tcl]
+ifcapable !rbu { finish_test ; return }
source $testdir/lock_common.tcl
set ::testprefix rbu12
diff --git a/ext/rbu/rbu13.test b/ext/rbu/rbu13.test
index 624c587cc..45b84f2b1 100644
--- a/ext/rbu/rbu13.test
+++ b/ext/rbu/rbu13.test
@@ -13,10 +13,8 @@
# for UPDATE statements. This tests RBU's internal UPDATE statement cache.
#
-if {![info exists testdir]} {
- set testdir [file join [file dirname [info script]] .. .. test]
-}
-source $testdir/tester.tcl
+source [file join [file dirname [info script]] rbu_common.tcl]
+ifcapable !rbu { finish_test ; return }
source $testdir/lock_common.tcl
set ::testprefix rbu13
diff --git a/ext/rbu/rbu14.test b/ext/rbu/rbu14.test
index 07f678409..18114ec7a 100644
--- a/ext/rbu/rbu14.test
+++ b/ext/rbu/rbu14.test
@@ -13,10 +13,8 @@
# table.
#
-if {![info exists testdir]} {
- set testdir [file join [file dirname [info script]] .. .. test]
-}
-source $testdir/tester.tcl
+source [file join [file dirname [info script]] rbu_common.tcl]
+ifcapable !rbu { finish_test ; return }
source $testdir/lock_common.tcl
set ::testprefix rbu14
diff --git a/ext/rbu/rbu3.test b/ext/rbu/rbu3.test
index da87561fb..fe2afdc05 100644
--- a/ext/rbu/rbu3.test
+++ b/ext/rbu/rbu3.test
@@ -10,10 +10,8 @@
#***********************************************************************
#
-if {![info exists testdir]} {
- set testdir [file join [file dirname [info script]] .. .. test]
-}
-source $testdir/tester.tcl
+source [file join [file dirname [info script]] rbu_common.tcl]
+ifcapable !rbu { finish_test ; return }
set ::testprefix rbu3
diff --git a/ext/rbu/rbu5.test b/ext/rbu/rbu5.test
index 3696dfb87..02ecf6be1 100644
--- a/ext/rbu/rbu5.test
+++ b/ext/rbu/rbu5.test
@@ -13,6 +13,7 @@
#
source [file join [file dirname [info script]] rbu_common.tcl]
+ifcapable !rbu { finish_test ; return }
set ::testprefix rbu5
diff --git a/ext/rbu/rbu6.test b/ext/rbu/rbu6.test
index bb5b17f42..cddd93870 100644
--- a/ext/rbu/rbu6.test
+++ b/ext/rbu/rbu6.test
@@ -13,10 +13,8 @@
# outcome of some other client writing to the database while an RBU update
# is being applied.
-if {![info exists testdir]} {
- set testdir [file join [file dirname [info script]] .. .. test]
-}
-source $testdir/tester.tcl
+source [file join [file dirname [info script]] rbu_common.tcl]
+ifcapable !rbu { finish_test ; return }
set ::testprefix rbu6
proc setup_test {} {
diff --git a/ext/rbu/rbu7.test b/ext/rbu/rbu7.test
index 1e3bc174d..e8ec0343d 100644
--- a/ext/rbu/rbu7.test
+++ b/ext/rbu/rbu7.test
@@ -13,10 +13,8 @@
#
-if {![info exists testdir]} {
- set testdir [file join [file dirname [info script]] .. .. test]
-}
-source $testdir/tester.tcl
+source [file join [file dirname [info script]] rbu_common.tcl]
+ifcapable !rbu { finish_test ; return }
set ::testprefix rbu7
# Test index:
diff --git a/ext/rbu/rbu8.test b/ext/rbu/rbu8.test
index c0ccd8c5e..86e931482 100644
--- a/ext/rbu/rbu8.test
+++ b/ext/rbu/rbu8.test
@@ -12,10 +12,8 @@
# Test the rbu_delta() feature.
#
-if {![info exists testdir]} {
- set testdir [file join [file dirname [info script]] .. .. test]
-}
-source $testdir/tester.tcl
+source [file join [file dirname [info script]] rbu_common.tcl]
+ifcapable !rbu { finish_test ; return }
set ::testprefix rbu8
do_execsql_test 1.0 {
diff --git a/ext/rbu/rbu9.test b/ext/rbu/rbu9.test
index 0efdc1dde..fe808b3ac 100644
--- a/ext/rbu/rbu9.test
+++ b/ext/rbu/rbu9.test
@@ -12,10 +12,8 @@
# Test RBU with virtual tables. And tables with no PRIMARY KEY declarations.
#
-if {![info exists testdir]} {
- set testdir [file join [file dirname [info script]] .. .. test]
-}
-source $testdir/tester.tcl
+source [file join [file dirname [info script]] rbu_common.tcl]
+ifcapable !rbu { finish_test ; return }
set ::testprefix rbu9
ifcapable !fts3 {
diff --git a/ext/rbu/rbuA.test b/ext/rbu/rbuA.test
index 642caca19..cdc0c8040 100644
--- a/ext/rbu/rbuA.test
+++ b/ext/rbu/rbuA.test
@@ -14,10 +14,8 @@
# a wal mode database via RBU.
#
-if {![info exists testdir]} {
- set testdir [file join [file dirname [info script]] .. .. test]
-}
-source $testdir/tester.tcl
+source [file join [file dirname [info script]] rbu_common.tcl]
+ifcapable !rbu { finish_test ; return }
set ::testprefix rbuA
set db_sql {
diff --git a/ext/rbu/rbuB.test b/ext/rbu/rbuB.test
index 6eb917e57..fca755a4b 100644
--- a/ext/rbu/rbuB.test
+++ b/ext/rbu/rbuB.test
@@ -12,6 +12,7 @@
#
source [file join [file dirname [info script]] rbu_common.tcl]
+ifcapable !rbu { finish_test ; return }
set ::testprefix rbuB
db close
diff --git a/ext/rbu/rbuC.test b/ext/rbu/rbuC.test
index ff3d4d507..430b14418 100644
--- a/ext/rbu/rbuC.test
+++ b/ext/rbu/rbuC.test
@@ -13,6 +13,7 @@
#
source [file join [file dirname [info script]] rbu_common.tcl]
+ifcapable !rbu { finish_test ; return }
set ::testprefix rbuC
#-------------------------------------------------------------------------
diff --git a/ext/rbu/rbubusy.test b/ext/rbu/rbubusy.test
index 8cc47db8f..088711405 100644
--- a/ext/rbu/rbubusy.test
+++ b/ext/rbu/rbubusy.test
@@ -12,6 +12,7 @@
#
source [file join [file dirname [info script]] rbu_common.tcl]
+ifcapable !rbu { finish_test ; return }
set ::testprefix rbubusy
db close
diff --git a/ext/rbu/rbucollate.test b/ext/rbu/rbucollate.test
index ccc097624..52f6ba373 100644
--- a/ext/rbu/rbucollate.test
+++ b/ext/rbu/rbucollate.test
@@ -11,6 +11,7 @@
#
source [file join [file dirname [info script]] rbu_common.tcl]
+ifcapable !rbu { finish_test ; return }
set ::testprefix rbucollate
ifcapable !icu_collations {
diff --git a/ext/rbu/rbucrash.test b/ext/rbu/rbucrash.test
index 34ac2c86f..c2132bc3d 100644
--- a/ext/rbu/rbucrash.test
+++ b/ext/rbu/rbucrash.test
@@ -10,10 +10,8 @@
#***********************************************************************
#
-if {![info exists testdir]} {
- set testdir [file join [file dirname [info script]] .. .. test]
-}
-source $testdir/tester.tcl
+source [file join [file dirname [info script]] rbu_common.tcl]
+ifcapable !rbu { finish_test ; return }
set ::testprefix rbucrash
db close
diff --git a/ext/rbu/rbucrash2.test b/ext/rbu/rbucrash2.test
index 9ff6eba4f..683de8849 100644
--- a/ext/rbu/rbucrash2.test
+++ b/ext/rbu/rbucrash2.test
@@ -10,10 +10,8 @@
#***********************************************************************
#
-if {![info exists testdir]} {
- set testdir [file join [file dirname [info script]] .. .. test]
-}
-source $testdir/tester.tcl
+source [file join [file dirname [info script]] rbu_common.tcl]
+ifcapable !rbu { finish_test ; return }
set ::testprefix rbucrash2
db close
diff --git a/ext/rbu/rbudiff.test b/ext/rbu/rbudiff.test
index 5c2bf9bee..b165cf2be 100644
--- a/ext/rbu/rbudiff.test
+++ b/ext/rbu/rbudiff.test
@@ -12,10 +12,9 @@
# Tests for the [sqldiff --rbu] command.
#
#
-if {![info exists testdir]} {
- set testdir [file join [file dirname [info script]] .. .. test]
-}
-source $testdir/tester.tcl
+
+source [file join [file dirname [info script]] rbu_common.tcl]
+ifcapable !rbu { finish_test ; return }
set testprefix rbudiff
set PROG [test_find_sqldiff]
diff --git a/ext/rbu/rbudor.test b/ext/rbu/rbudor.test
index df4d934de..684b43a94 100644
--- a/ext/rbu/rbudor.test
+++ b/ext/rbu/rbudor.test
@@ -13,10 +13,8 @@
# enabled by SQLITE_DIRECT_OVERFLOW_READ - Direct Overflow Read.
#
-if {![info exists testdir]} {
- set testdir [file join [file dirname [info script]] .. .. test]
-}
-source $testdir/tester.tcl
+source [file join [file dirname [info script]] rbu_common.tcl]
+ifcapable !rbu { finish_test ; return }
set ::testprefix rbudor
set bigA [string repeat a 5000]
diff --git a/ext/rbu/rbuexlock.test b/ext/rbu/rbuexlock.test
index eddcdc115..570489cbc 100644
--- a/ext/rbu/rbuexlock.test
+++ b/ext/rbu/rbuexlock.test
@@ -11,6 +11,7 @@
#
source [file join [file dirname [info script]] rbu_common.tcl]
+ifcapable !rbu { finish_test ; return }
set ::testprefix rbuexlock
db close
diff --git a/ext/rbu/rbuexpr.test b/ext/rbu/rbuexpr.test
index a392c4ed8..724a0f131 100644
--- a/ext/rbu/rbuexpr.test
+++ b/ext/rbu/rbuexpr.test
@@ -11,6 +11,7 @@
#
source [file join [file dirname [info script]] rbu_common.tcl]
+ifcapable !rbu { finish_test ; return }
set ::testprefix rbuexpr
db close
diff --git a/ext/rbu/rbufault.test b/ext/rbu/rbufault.test
index 247a99189..fb3efb972 100644
--- a/ext/rbu/rbufault.test
+++ b/ext/rbu/rbufault.test
@@ -10,10 +10,8 @@
#***********************************************************************
#
-if {![info exists testdir]} {
- set testdir [file join [file dirname [info script]] .. .. test]
-}
-source $testdir/tester.tcl
+source [file join [file dirname [info script]] rbu_common.tcl]
+ifcapable !rbu { finish_test ; return }
source $testdir/malloc_common.tcl
set ::testprefix rbufault
diff --git a/ext/rbu/rbufault2.test b/ext/rbu/rbufault2.test
index 36f2b6b6f..4bf53a17f 100644
--- a/ext/rbu/rbufault2.test
+++ b/ext/rbu/rbufault2.test
@@ -10,10 +10,8 @@
#***********************************************************************
#
-if {![info exists testdir]} {
- set testdir [file join [file dirname [info script]] .. .. test]
-}
-source $testdir/tester.tcl
+source [file join [file dirname [info script]] rbu_common.tcl]
+ifcapable !rbu { finish_test ; return }
source $testdir/malloc_common.tcl
set ::testprefix rbufault2
diff --git a/ext/rbu/rbufault3.test b/ext/rbu/rbufault3.test
index 4f690284a..b7ba54f6a 100644
--- a/ext/rbu/rbufault3.test
+++ b/ext/rbu/rbufault3.test
@@ -13,6 +13,7 @@
#
source [file join [file dirname [info script]] rbu_common.tcl]
+ifcapable !rbu { finish_test ; return }
source $testdir/malloc_common.tcl
set ::testprefix rbufault3
diff --git a/ext/rbu/rbufault4.test b/ext/rbu/rbufault4.test
index 551b8b2b6..f4207c162 100644
--- a/ext/rbu/rbufault4.test
+++ b/ext/rbu/rbufault4.test
@@ -10,10 +10,8 @@
#***********************************************************************
#
-if {![info exists testdir]} {
- set testdir [file join [file dirname [info script]] .. .. test]
-}
-source $testdir/tester.tcl
+source [file join [file dirname [info script]] rbu_common.tcl]
+ifcapable !rbu { finish_test ; return }
source $testdir/malloc_common.tcl
set ::testprefix rbufault4
diff --git a/ext/rbu/rbufts.test b/ext/rbu/rbufts.test
index 95d4e75c5..8424c9570 100644
--- a/ext/rbu/rbufts.test
+++ b/ext/rbu/rbufts.test
@@ -13,10 +13,8 @@
# contains tests to ensure that RBU works with FTS tables.
#
-if {![info exists testdir]} {
- set testdir [file join [file dirname [info script]] .. .. test]
-}
-source $testdir/tester.tcl
+source [file join [file dirname [info script]] rbu_common.tcl]
+ifcapable !rbu { finish_test ; return }
set ::testprefix rbufts
ifcapable !fts3 {
diff --git a/ext/rbu/rbumisc.test b/ext/rbu/rbumisc.test
index c2a3906c0..6b89150bc 100644
--- a/ext/rbu/rbumisc.test
+++ b/ext/rbu/rbumisc.test
@@ -11,6 +11,7 @@
#
source [file join [file dirname [info script]] rbu_common.tcl]
+ifcapable !rbu { finish_test ; return }
set ::testprefix rbumisc
db close
diff --git a/ext/rbu/rbumulti.test b/ext/rbu/rbumulti.test
index 727d5e992..95c4fee70 100644
--- a/ext/rbu/rbumulti.test
+++ b/ext/rbu/rbumulti.test
@@ -16,6 +16,7 @@
#
source [file join [file dirname [info script]] rbu_common.tcl]
+ifcapable !rbu { finish_test ; return }
set ::testprefix rbumulti
db close
diff --git a/ext/rbu/rbupartial.test b/ext/rbu/rbupartial.test
index d6cd7330f..c8c476a1f 100644
--- a/ext/rbu/rbupartial.test
+++ b/ext/rbu/rbupartial.test
@@ -11,6 +11,7 @@
#
source [file join [file dirname [info script]] rbu_common.tcl]
+ifcapable !rbu { finish_test ; return }
set ::testprefix rbupartial
db close
diff --git a/ext/rbu/rbupass.test b/ext/rbu/rbupass.test
index 044a3f2eb..8bebe074b 100644
--- a/ext/rbu/rbupass.test
+++ b/ext/rbu/rbupass.test
@@ -11,6 +11,7 @@
#
source [file join [file dirname [info script]] rbu_common.tcl]
+ifcapable !rbu { finish_test ; return }
set ::testprefix rbupass
if {[info commands register_demovfs]==""} {
diff --git a/ext/rbu/rbuprogress.test b/ext/rbu/rbuprogress.test
index bf37b4e50..513ccdbbe 100644
--- a/ext/rbu/rbuprogress.test
+++ b/ext/rbu/rbuprogress.test
@@ -11,6 +11,7 @@
#
source [file join [file dirname [info script]] rbu_common.tcl]
+ifcapable !rbu { finish_test ; return }
set ::testprefix rbuprogress
diff --git a/ext/rbu/rburename.test b/ext/rbu/rburename.test
index 2275396bc..fb9d83ea1 100644
--- a/ext/rbu/rburename.test
+++ b/ext/rbu/rburename.test
@@ -12,6 +12,7 @@
#
source [file join [file dirname [info script]] rbu_common.tcl]
+ifcapable !rbu { finish_test ; return }
set ::testprefix rburename
diff --git a/ext/rbu/rburesume.test b/ext/rbu/rburesume.test
index 82c8c66b9..fdbd21421 100644
--- a/ext/rbu/rburesume.test
+++ b/ext/rbu/rburesume.test
@@ -16,6 +16,7 @@
#
source [file join [file dirname [info script]] rbu_common.tcl]
+ifcapable !rbu { finish_test ; return }
set ::testprefix rburesume
forcedelete test.db-shm test.db-oal
diff --git a/ext/rbu/rbusave.test b/ext/rbu/rbusave.test
index 210d7b545..79b49de51 100644
--- a/ext/rbu/rbusave.test
+++ b/ext/rbu/rbusave.test
@@ -10,10 +10,8 @@
#***********************************************************************
#
-if {![info exists testdir]} {
- set testdir [file join [file dirname [info script]] .. .. test]
-}
-source $testdir/tester.tcl
+source [file join [file dirname [info script]] rbu_common.tcl]
+ifcapable !rbu { finish_test ; return }
set ::testprefix rbusave
do_execsql_test 1.0 {
diff --git a/ext/rbu/rbusplit.test b/ext/rbu/rbusplit.test
index 34fef3867..b28f0c0da 100644
--- a/ext/rbu/rbusplit.test
+++ b/ext/rbu/rbusplit.test
@@ -12,6 +12,7 @@
#
source [file join [file dirname [info script]] rbu_common.tcl]
+ifcapable !rbu { finish_test ; return }
set ::testprefix rbusplit
db close
diff --git a/ext/rbu/rbutemplimit.test b/ext/rbu/rbutemplimit.test
index 2acba3624..3ca9c64d8 100644
--- a/ext/rbu/rbutemplimit.test
+++ b/ext/rbu/rbutemplimit.test
@@ -12,6 +12,7 @@
# TESTRUNNER: slow
source [file join [file dirname [info script]] rbu_common.tcl]
+ifcapable !rbu { finish_test ; return }
set ::testprefix rbutemplimit
db close
diff --git a/ext/rbu/rbuvacuum.test b/ext/rbu/rbuvacuum.test
index 1785f529b..4ed71c266 100644
--- a/ext/rbu/rbuvacuum.test
+++ b/ext/rbu/rbuvacuum.test
@@ -15,6 +15,7 @@
#
source [file join [file dirname [info script]] rbu_common.tcl]
+ifcapable !rbu { finish_test ; return }
set ::testprefix rbuvacuum
foreach step {0 1} {
diff --git a/ext/rbu/rbuvacuum2.test b/ext/rbu/rbuvacuum2.test
index d4f7c5232..eed8ea1ae 100644
--- a/ext/rbu/rbuvacuum2.test
+++ b/ext/rbu/rbuvacuum2.test
@@ -15,6 +15,7 @@
#
source [file join [file dirname [info script]] rbu_common.tcl]
+ifcapable !rbu { finish_test ; return }
foreach {step} {0 1} {
foreach {ttt state} {
diff --git a/ext/rbu/rbuvacuum3.test b/ext/rbu/rbuvacuum3.test
index 7e1e337f3..98fb25fc0 100644
--- a/ext/rbu/rbuvacuum3.test
+++ b/ext/rbu/rbuvacuum3.test
@@ -15,6 +15,7 @@
#
source [file join [file dirname [info script]] rbu_common.tcl]
+ifcapable !rbu { finish_test ; return }
set testprefix rbuvacuum3
do_execsql_test 1.0 {
diff --git a/ext/rbu/rbuvacuum4.test b/ext/rbu/rbuvacuum4.test
index 5cf33d676..269bd2152 100644
--- a/ext/rbu/rbuvacuum4.test
+++ b/ext/rbu/rbuvacuum4.test
@@ -15,6 +15,7 @@
#
source [file join [file dirname [info script]] rbu_common.tcl]
+ifcapable !rbu { finish_test ; return }
set testprefix rbuvacuum4
set step 1
diff --git a/ext/wasm/GNUmakefile b/ext/wasm/GNUmakefile
index 143ee8b9f..78e34eb19 100644
--- a/ext/wasm/GNUmakefile
+++ b/ext/wasm/GNUmakefile
@@ -66,6 +66,13 @@ ifeq (,$(emcc.version))
else
$(info using emcc version [$(emcc.version)])
endif
+emcc.version := $(shell "$(emcc.bin)" --version | sed -n 1p \
+ | sed -e 's/^.* \([3-9][^ ]*\) .*$$/\1/;')
+ifeq (,$(emcc.version))
+ $(warning Cannot determine emcc version. This might unduly impact build flags.)
+else
+ $(info using emcc version [$(emcc.version)])
+endif
wasm-strip ?= $(shell which wasm-strip 2>/dev/null)
ifeq (,$(filter clean,$(MAKECMDGOALS)))
@@ -242,9 +249,17 @@ $(2): $(1) $$(MAKEFILE) $$(bin.c-pp)
$$(bin.c-pp) -f $(1) -o $$@ $(3)
CLEAN_FILES += $(2)
endef
-c-pp.D.vanilla ?=
-c-pp.D.esm ?= -Dtarget=es6-module
-c-pp.D.bundler-friendly ?= -Dtarget=es6-module -Dtarget=es6-bundler-friendly
+c-pp.D.vanilla :=
+c-pp.D.esm := -Dtarget=es6-module
+c-pp.D.bundler-friendly := $(c-pp.D.esm) -Dtarget=es6-bundler-friendly
+# The various -D... values used by the sources include:
+#
+# -Dtarget=es6-module: intended for plain ESM module build.
+#
+# -Dtarget=es6-module -Dtarget=es6-bundler-friendly: intended for
+# "bundler-friendly" ESM module build. These have some restrictions
+# on how URL() objects are constructed in some contexts.
+#
# /end C-PP.FILTER
########################################################################
diff --git a/ext/wasm/api/extern-post-js.c-pp.js b/ext/wasm/api/extern-post-js.c-pp.js
index 691ad7685..a577a63e1 100644
--- a/ext/wasm/api/extern-post-js.c-pp.js
+++ b/ext/wasm/api/extern-post-js.c-pp.js
@@ -9,7 +9,7 @@
Emscripten-generated module init scope, in the current
global scope. */
//#if target=es6-module
-const toExportForES6 =
+const toExportForESM =
//#endif
(function(){
/**
@@ -45,23 +45,14 @@ const toExportForES6 =
moduleScript: self?.document?.currentScript,
isWorker: ('undefined' !== typeof WorkerGlobalScope),
location: self.location,
- urlParams:
-//#if target=es6-bundler-friendly
- undefined
-//#else
- new URL(self.location.href).searchParams
-//#endif
+ urlParams: new URL(self.location.href).searchParams
});
initModuleState.debugModule =
-//#if target=es6-bundler-friendly
- ()=>{}
-//#else
- (new URL(self.location.href).searchParams).has('sqlite3.debugModule')
+ initModuleState.urlParams.has('sqlite3.debugModule')
? (...args)=>console.warn('sqlite3.debugModule:',...args)
: ()=>{};
-//#endif
- if(initModuleState.urlParams && initModuleState.urlParams.has('sqlite3.dir')){
+ if(initModuleState.urlParams.has('sqlite3.dir')){
initModuleState.sqlite3Dir = initModuleState.urlParams.get('sqlite3.dir') +'/';
}else if(initModuleState.moduleScript){
const li = initModuleState.moduleScript.src.split('/');
@@ -116,8 +107,8 @@ const toExportForES6 =
}
//#ifnot target=es6-module
// Emscripten does not inject these module-loader bits in ES6 module
-// build and including them here breaks JS bundlers, so elide them
-// from ES6 builds.
+// builds and including them here breaks JS bundlers, so elide them
+// from ESM builds.
/* Replace the various module exports performed by the Emscripten
glue... */
if (typeof exports === 'object' && typeof module === 'object'){
@@ -131,5 +122,5 @@ const toExportForES6 =
return self.sqlite3InitModule /* required for ESM */;
})();
//#if target=es6-module
-export default toExportForES6;
+export default toExportForESM;
//#endif
diff --git a/ext/wasm/api/pre-js.c-pp.js b/ext/wasm/api/pre-js.c-pp.js
index c27c2fe0d..a25c7ce77 100644
--- a/ext/wasm/api/pre-js.c-pp.js
+++ b/ext/wasm/api/pre-js.c-pp.js
@@ -55,9 +55,9 @@ Module['locateFile'] = function(path, prefix) {
"result =", theFile
);
return theFile;
-//#endif //target=es6-module
+//#endif target=es6-module
}.bind(sqlite3InitModuleState);
-//#endif //ifnot target=es6-bundler-friendly
+//#endif ifnot target=es6-bundler-friendly
/**
Bug warning: a custom Module.instantiateWasm() does not work
diff --git a/ext/wasm/api/sqlite3-vfs-opfs.c-pp.js b/ext/wasm/api/sqlite3-vfs-opfs.c-pp.js
index aeda62aa2..451f0019c 100644
--- a/ext/wasm/api/sqlite3-vfs-opfs.c-pp.js
+++ b/ext/wasm/api/sqlite3-vfs-opfs.c-pp.js
@@ -100,20 +100,13 @@ const installOpfsVfs = function callee(options){
if(!options || 'object'!==typeof options){
options = Object.create(null);
}
- const urlParams =
-//#if target=es6-bundler-friendly
- undefined;
-//#else
- new URL(self.location.href).searchParams;
-//#endif
- if(urlParams){
- if(undefined===options.verbose){
- options.verbose = urlParams.has('opfs-verbose')
- ? (+urlParams.get('opfs-verbose') || 2) : 1;
- }
- if(undefined===options.sanityChecks){
- options.sanityChecks = urlParams.has('opfs-sanity-check');
- }
+ const urlParams = new URL(self.location.href).searchParams;
+ if(undefined===options.verbose){
+ options.verbose = urlParams.has('opfs-verbose')
+ ? (+urlParams.get('opfs-verbose') || 2) : 1;
+ }
+ if(undefined===options.sanityChecks){
+ options.sanityChecks = urlParams.has('opfs-sanity-check');
}
if(undefined===options.proxyUri){
options.proxyUri = callee.defaultProxyUri;
diff --git a/ext/wasm/tester1-worker.html b/ext/wasm/tester1-worker.html
index a9c12d72c..03e1f02b0 100644
--- a/ext/wasm/tester1-worker.html
+++ b/ext/wasm/tester1-worker.html
@@ -11,8 +11,12 @@
</head>
<body>
<h1 id='color-target'>sqlite3 tester #1: Worker thread</h1>
- <div>See <a href='tester1.html' target='tester1.html'>tester1.html</a>
- for the UI-thread variant.</div>
+ <div>Variants:
+ <a href='tester1.html' target='tester1.html'>conventional UI thread</a>,
+ <a href='tester1-worker.html' target='tester1-worker.html'>conventional worker</a>,
+ <a href='tester1-esm.html' target='tester1-esm.html'>ESM in UI thread</a>,
+ <a href='tester1-worker.html?esm' target='tester1-worker.html?esm'>ESM worker</a>
+ </div>
<div class='input-wrapper'>
<input type='checkbox' id='cb-log-reverse'>
<label for='cb-log-reverse'>Reverse log order?</label>
diff --git a/ext/wasm/tester1.c-pp.html b/ext/wasm/tester1.c-pp.html
index 535e58962..bbdd8b223 100644
--- a/ext/wasm/tester1.c-pp.html
+++ b/ext/wasm/tester1.c-pp.html
@@ -16,8 +16,12 @@ UI thread
<style></style>
</head>
<body><h1 id='color-target'></h1>
- <div>See <a href='tester1-worker.html' target='tester1-worker.html'>tester1-worker.html</a>
- for the Worker-thread variant.</div>
+ <div>Variants:
+ <a href='tester1.html' target='tester1.html'>conventional UI thread</a>,
+ <a href='tester1-worker.html' target='tester1-worker.html'>conventional worker</a>,
+ <a href='tester1-esm.html' target='tester1-esm.html'>ESM in UI thread</a>,
+ <a href='tester1-worker.html?esm' target='tester1-worker.html?esm'>ESM worker</a>
+ </div>
<div class='input-wrapper'>
<input type='checkbox' id='cb-log-reverse'>
<label for='cb-log-reverse'>Reverse log order?</label>
diff --git a/ext/wasm/tester1.c-pp.js b/ext/wasm/tester1.c-pp.js
index 7f5de5166..dca533137 100644
--- a/ext/wasm/tester1.c-pp.js
+++ b/ext/wasm/tester1.c-pp.js
@@ -1192,13 +1192,13 @@ self.sqlite3InitModule = sqlite3InitModule;
rc = capi.sqlite3_db_status(this.db, capi.SQLITE_DBSTATUS_LOOKASIDE_USED,
pCur, pHi, 0);
T.assert(0===rc);
- if(wasm.peek32(pCur)){
- warn("Cannot test db_config(SQLITE_DBCONFIG_LOOKASIDE)",
- "while lookaside memory is in use.");
- }else{
+ if(!wasm.peek32(pCur)){
rc = capi.sqlite3_db_config(this.db, capi.SQLITE_DBCONFIG_LOOKASIDE,
0, 4096, 12);
T.assert(0 === rc);
+ }else{
+ console.debug("Cannot test db_config(SQLITE_DBCONFIG_LOOKASIDE)",
+ "while lookaside memory is in use.");
}
wasm.poke32([pCur, pHi], 0);
let [vCur, vHi] = wasm.peek32(pCur, pHi);
diff --git a/manifest b/manifest
index 833546875..5c62a39f7 100644
--- a/manifest
+++ b/manifest
@@ -1,5 +1,5 @@
-C Update\sext/wasm/README-dist.txt\sfor\sthe\sbundler-friendly\sbuild.
-D 2023-01-27T20:25:39.859
+C Add\sJS\sbundler-friendly\sJS\sbuild.\sMinor\stest\scode\scleanups.
+D 2023-01-28T04:20:46.205
F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1
F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea
F LICENSE.md df5091916dbb40e6e9686186587125e1b2ff51f022cc334e886c19a0e9982724
@@ -264,7 +264,7 @@ F ext/misc/amatch.c e3ad5532799cee9a97647f483f67f43b38796b84b5a8c60594fe782a4338
F ext/misc/anycollseq.c 5ffdfde9829eeac52219136ad6aa7cd9a4edb3b15f4f2532de52f4a22525eddb
F ext/misc/appendvfs.c 9642c7a194a2a25dca7ad3e36af24a0a46d7702168c4ad7e59c9f9b0e16a3824
F ext/misc/base64.c d43d2b209c8ab70ca3f860104bb353b0f52a1c5462a2466140025c954e4f3ea7 x
-F ext/misc/base85.c 4b53d66c50e120e8697dd2a8ea6ddbc8750a4a1f6bcc6e0b7202a3998b0852bc
+F ext/misc/base85.c 77dfd5813d23ea561d0348f922583888e78f8eaeb2b9a4a28226d092389890b8
F ext/misc/basexx.c 5e859e1820620aa8080fb9145eb47089de426ae808f6abb01a8e12921c3a8e67
F ext/misc/blobio.c a867c4c4617f6ec223a307ebfe0eabb45e0992f74dd47722b96f3e631c0edb2a
F ext/misc/btreeinfo.c d28ce349b40054eaa9473e835837bad7a71deec33ba13e39f963d50933bfa0f9
@@ -318,49 +318,49 @@ F ext/misc/wholenumber.c a838d1bea913c514ff316c69695efbb49ea3b8cb37d22afc57f73b6
F ext/misc/zipfile.c f98239261488397618ce4754c500626d1de20cd2d44bf2f2d571d7ddaab668a7
F ext/misc/zorder.c b0ff58fa643afa1d846786d51ea8d5c4b6b35aa0254ab5a82617db92f3adda64
F ext/rbu/rbu.c 801450b24eaf14440d8fd20385aacc751d5c9d6123398df41b1b5aa804bf4ce8
-F ext/rbu/rbu1.test c62904bd9526dcdc3496a21199aaf14ae191bbadbf67f076bf16be6b3f2115c2
-F ext/rbu/rbu10.test 06d2bc934a03a0978e750cc9c95b419d9b0bcbec1fc77128e33e377c3a73240b
-F ext/rbu/rbu11.test 5c834cf491086b45e071eabf71f708febc143e86a384a92de69e0b1a4cace144
-F ext/rbu/rbu12.test 29f8b2118f6c96fac3755bd6d2b55c2db24f878b1f11fbfbe294f3a230a3dcdc
-F ext/rbu/rbu13.test 1285298e3360ec74511764841b3c174dcfe21da2f618c22febf1a20abd0365c2
-F ext/rbu/rbu14.test 4a7bf0b3a4516d3ab0bc0ba4ceb53eb7e3324147ccda152e561060f659dbba31
-F ext/rbu/rbu3.test d6c6cc7a1326e8e23b9820f30bd3054f22092e503fadfd2a660ae006653f6d80
-F ext/rbu/rbu5.test 724b38ea5f722e3d22dc76343860bd998bb676c3f78c4bc8175df5c5d7720e23
-F ext/rbu/rbu6.test 401064236d3cf86b7edc01c586d7c5554f48553946fbfa1a3af35d7e47dce9e3
-F ext/rbu/rbu7.test ae25f47b56f178197fc1098537a35a39176cc73d1629b03dc9d795929fc36ec2
-F ext/rbu/rbu8.test b98a6fc58ead84a0e6ddee775b9702cd981f318d5d4fd1d4df0fa0c40db7251b
-F ext/rbu/rbu9.test 0e4d985e25620d61920597e8ea69c871c9e8c1f5a0be2ae9fa70bb641d74378c
-F ext/rbu/rbuA.test b34a90cb495682c25b5fc03a9d5e7a4fc99541c29256f25e2e2a4f6542b4f5b3
-F ext/rbu/rbuB.test 8d1f141711be8122739853d876af4306bc756d925499577f9b917ec1f1c5ae65
-F ext/rbu/rbuC.test 80f1cc2fb74f44b1128fd0ed8eedab3a76fefeb72a947860e2869ef76fc8dc6b
+F ext/rbu/rbu1.test c62d9bfdd988cd0a30fa84e6f9a733f540e1d16d3e0cde4ee744aeadbaef334a
+F ext/rbu/rbu10.test 66b20eb97e9d923f3cd69a882c57eb6c945b19d7f1ceaa7712e1b02fae3793c2
+F ext/rbu/rbu11.test 34134e9331f2a6d29770cd4594e54ad92e007f0f6bca4ee12cddee113c61f60e
+F ext/rbu/rbu12.test 3b18fa8b712274551c438acf4b71f6fbcebe71c09d0bc1058d3ec99c4e5c59bd
+F ext/rbu/rbu13.test 67bae3f17fa6b74c8853b25804e7f5345926af42bc80a10b0c433ba9e54b87a6
+F ext/rbu/rbu14.test 3aa8202b181e25112fb80e7fe9e9f409d7d191d09f732bcb53fbd200d384bb63
+F ext/rbu/rbu3.test 76152c3601e6a0a39cebd37945bb79f7bd1061462053a3899432bd089c6ae15b
+F ext/rbu/rbu5.test 29a4bd5261f1df259d598e8792607643861ba476c607343c68310bfd94919263
+F ext/rbu/rbu6.test 6966b6c734ee50279ecf59bc32c7b2bcfb972e91a3303e120bc31ca4ea28edd2
+F ext/rbu/rbu7.test 92938c6b0b0e7d268a75b5744fd4ea023f8f3da5d46c3764c625564d7001c7b8
+F ext/rbu/rbu8.test 2aba6914d3fc47565ac2a3de49fde4fe2f5181af449cd5443f0576ab0a92bc79
+F ext/rbu/rbu9.test f37042dee2caf1551d3ad462670189f05677c242510a5c0f8dd650750cb5426a
+F ext/rbu/rbuA.test 94759f2117d5932bfff0b60405d5644665e2216254625be68998f055fd6b580a
+F ext/rbu/rbuB.test 1e7641ec8c8eafc21fdaaa983ef04d999fa0a9b83d88175f561184a19dfdaa8c
+F ext/rbu/rbuC.test 2e1cd0d85a7576b97c1919fa6d3697b6d40ed2acf626da99f8abf90a7b946f37
F ext/rbu/rbu_common.tcl 60d904133ff843fe72cc0514e9dd2486707181e6e0fbab20979da28c48d21de9
-F ext/rbu/rbubusy.test f38ef557358564491b8a2ee70e4cad31e40fcea57a16f27bc56ba40a59bbde50
-F ext/rbu/rbucollate.test cac528a9a46318cba42e61258bb42660bbbf4fdb9a8c863de5a54ad0c658d197
-F ext/rbu/rbucrash.test 000981a1fe8a6e4d9a684232f6a129e66a3ef595f5ed74655e2f9c68ffa613b4
-F ext/rbu/rbucrash2.test efa143cc94228eb0266d3f1abfbee60a5838a84cef7cc3fcb8c145b74d96fd41
-F ext/rbu/rbudiff.test abe895a8d479e4d33acb40e244e3d8e2cd25f55a18dfa8b9f83e13d00073f600
-F ext/rbu/rbudor.test e3e8623926012f43eebe51fedf06a102df2640750d971596b052495f2536db20
-F ext/rbu/rbuexlock.test 4634a5526d02bf80b0c563f95774bd5af5783e3219ddeb30e413753c9a65510c
-F ext/rbu/rbuexpr.test 10d0420537c3bc7666e576d72adeffe7e86cfbb00dcc30aa9ce096c042415190
-F ext/rbu/rbufault.test 2d7f567b79d558f6e093c58808cab4354f8a174e3802f69e7790a9689b3c09f8
-F ext/rbu/rbufault2.test c81327a3ac2c385b9b954db3644d4e0df93eeebfc3de9f1f29975a1e73fd3d0c
-F ext/rbu/rbufault3.test b2fcc9db5c982b869f67d1d4688d8cb515d5b92f58011fff95665f2e62cec179
-F ext/rbu/rbufault4.test 03d2849c3df7d7bd14a622e789ff049e5080edd34a79cd432e01204db2a5930a
-F ext/rbu/rbufts.test 0ae8d1da191c75bd776b86e24456db0fb6e97b7c944259fae5407ea55d23c31d
-F ext/rbu/rbumisc.test 329986cf5dd51890c4eb906c2f960ebb773a79a64bed90f506b7c417825b37eb
-F ext/rbu/rbumulti.test bf28c1486b45215f5bf877cc560a4ddf50d22c4ed2ae267482bcf4af285bb115
-F ext/rbu/rbupartial.test f25df014b8dbe3c5345851fba6e66f79ab237f57dc201b2d5f0dbae658ae5a4c
-F ext/rbu/rbupass.test 1a8f635a9f6026f905a952e70a081811d8042de28165099d874832c1bf49d4b9
-F ext/rbu/rbuprogress.test 857cf1f8166c83ef977edb9ef4fc42d80f71fbd798652b46ae2f3a7031870f8d
-F ext/rbu/rburename.test a9b4aea612352b74c45de1757edd2ecb2079348b1d4cc734572dc29e55b1b376
-F ext/rbu/rburesume.test c46a77f031cbaec58abf0edbafbf75190cbafd3b941ed081cb6626ebb3e8230c
-F ext/rbu/rbusave.test f4190a1a86fccf84f723af5c93813365ae33feda35845ba107b59683d1cdd926
-F ext/rbu/rbusplit.test b37e7b40b38760881dc9c854bd40b4744c6b6cd74990754eca3bda0f407051e8
-F ext/rbu/rbutemplimit.test 8d18f1c7e8a04814d9dbe36f75f0d8921bcca00c18901d518bce5fc6bc98b877
-F ext/rbu/rbuvacuum.test 55e101e90168c2b31df6c9638fe73dc7f7cc666b6142266d1563697d79f73534
-F ext/rbu/rbuvacuum2.test 2643b58f4d8d3573db0f93faae18805a35ab162b4c55ff6b656062ff432ed55b
-F ext/rbu/rbuvacuum3.test 8addd82e4b83b4c93fa47428eae4fd0dbf410f8512c186f38e348feb49ba03dc
-F ext/rbu/rbuvacuum4.test a78898e438a44803eb2bc897ba3323373c9f277418e2d6d76e90f2f1dbccfd10
+F ext/rbu/rbubusy.test 8ab40abb9b3210a453aa25971c64adbb1ff0f764eaf9c38e137482a63fd45b91
+F ext/rbu/rbucollate.test 559b5b877d61b2a7b7a7a49ad8cde5d21658c19d34fd2811f946ee5df6cb475b
+F ext/rbu/rbucrash.test c6440ae5803676f357b579dea260c894f23081f6fc8befdbc9fd081990f52507
+F ext/rbu/rbucrash2.test d63c10195f2bbf7d7ec2248740dcc6171ecc2693080cfb65976c35f477120ac8
+F ext/rbu/rbudiff.test b0865fe535942d89795126087001be751fc0d2fa0ca667a59446cca027471eb9
+F ext/rbu/rbudor.test b77e10326ef3660e19d103bf1739ac52baf9e6a2486f631b8b369468adcaa37e
+F ext/rbu/rbuexlock.test a6c135766e0cafa221ec69fa5c019beab2aad208750d3aa8c734d7260e01a4fe
+F ext/rbu/rbuexpr.test 85effe05ee50594df27a903c48aa9b192bd26045a5be95d10f1a5495232dea15
+F ext/rbu/rbufault.test 9bc7538e4b02817d898b15ab590acb9648e2a6eb53dd1d3848c417f5980a107b
+F ext/rbu/rbufault2.test 411469c638073bd6523f069bcaee07b413127f3f233de34756ebcf5a2a0ce566
+F ext/rbu/rbufault3.test d9042c8840eb92cca1f9552388f799f0ccca024ed5b8d9bb9c78f38d39a1f339
+F ext/rbu/rbufault4.test 778c73137822e12ddbf54da248c9b2be59b0580c4202c052fa07787ae493f04a
+F ext/rbu/rbufts.test b4db0a6d89905d356cecb6f9f2fe7e4848da6b3b276b73b8689ce96301c2810c
+F ext/rbu/rbumisc.test db67696663760aa4093f451ebeddc953a8d33ee9571a5651dff48d0597b7a812
+F ext/rbu/rbumulti.test e8891a63b078253d34e0cdee0ed7446808daa4138cfc7dbd0e359c50967e4351
+F ext/rbu/rbupartial.test bffeb40fe14906ab6f90286ae3913f8aa4b35a5b2de03f24ea2fcf80ee6f2b24
+F ext/rbu/rbupass.test c21e13b78ea62bf70850ee79ef96bfcbe203d7ccc2de83c35d452723328d20f0
+F ext/rbu/rbuprogress.test 3a0344032b7f62ae172cf1f4da52caa753bcf535bf73341ab23b3929a217d79b
+F ext/rbu/rburename.test 6d9b4efbe537e221700db15903cd11b17cb0c97eaa6584baf01aac9664937462
+F ext/rbu/rburesume.test 9caa95842fd4a35c3e8aeb5ca83e638fa357f51a774d6a0487ada1122ab39612
+F ext/rbu/rbusave.test 323ad16da4492e173e99bd77397807d911e8b69df08318224bb748a5b955689f
+F ext/rbu/rbusplit.test eb20a264b7681613db6cbf031c93b2f50addec89cd437ab737304eb143cd34a8
+F ext/rbu/rbutemplimit.test 6b4ac534ffdd0133c627ebb15b1abe449f941b088e985152133cdbdc1b489966
+F ext/rbu/rbuvacuum.test 36aa4024b226b13e47ab20f27aa5a239ba3eb1b0385c24d09507bd3f4c2a9ca4
+F ext/rbu/rbuvacuum2.test 851c5163261c2057adb5265f06240b37a52a18c2383fca17d0a3013f05261a6d
+F ext/rbu/rbuvacuum3.test fbea74f2c316911c1983db06566d55fca4e270fdc731f62299417087362fb704
+F ext/rbu/rbuvacuum4.test 834e9d6c7cb46237493ec16489c0478ec4aedadf9396973f1fec93acb725ba25
F ext/rbu/sqlite3rbu.c 348bb6251e6ec459de102f8b2dd50789a98643ef7a28e56e4c787ac9659c15ea
F ext/rbu/sqlite3rbu.h 9d923eb135c5d04aa6afd7c39ca47b0d1d0707c100e02f19fdde6a494e414304
F ext/rbu/test_rbu.c ee6ede75147bc081fe9bc3931e6b206277418d14d3fbceea6fdc6216d9b47055
@@ -466,17 +466,17 @@ F ext/userauth/sqlite3userauth.h 7f3ea8c4686db8e40b0a0e7a8e0b00fac13aa7a3
F ext/userauth/user-auth.txt e6641021a9210364665fe625d067617d03f27b04
F ext/userauth/userauth.c 7f00cded7dcaa5d47f54539b290a43d2e59f4b1eb5f447545fa865f002fc80cb
F ext/wasm/EXPORTED_FUNCTIONS.fiddle.in 27450c8b8c70875a260aca55435ec927068b34cef801a96205adb81bdcefc65c
-F ext/wasm/GNUmakefile 31cf62436f306eed8c8aa66991653395f62e52af7ad21a0de02f7d780cb8c398
+F ext/wasm/GNUmakefile 8d82b51a23f9c84c770abd72f18d95a95044a03a216e0246ebd1b3668619c77e
F ext/wasm/README-dist.txt 4a1db3677d0341a12434d1fd6c97aae2f96785d734641407a201b719f5d94f44
F ext/wasm/README.md ef39861aa21632fdbca0bdd469f78f0096f6449a720f3f39642594af503030e9
F ext/wasm/api/EXPORTED_FUNCTIONS.sqlite3-api d6a5078f48a5301ed17b9a30331075d9b2506e1360c1f0dee0c7816c10acd9ab
F ext/wasm/api/EXPORTED_RUNTIME_METHODS.sqlite3-api 1ec3c73e7d66e95529c3c64ac3de2470b0e9e7fbf7a5b41261c367cf4f1b7287
F ext/wasm/api/README.md 77a2f1f2fc60a35def7455dffc8d3f2c56385d6ac5c6cecc60fa938252ea2c54
-F ext/wasm/api/extern-post-js.c-pp.js ea549ffcdd3f116de5b4cc08a428e0a91052c341b51b37f158747285f9ef2fe8
+F ext/wasm/api/extern-post-js.c-pp.js 44a3a169f55a8dba42cf688954b2625b9b9e6174f2ff02d4918a2ca8c3beab7f
F ext/wasm/api/extern-pre-js.js cc61c09c7a24a07dbecb4c352453c3985170cec12b4e7e7e7a4d11d43c5c8f41
F ext/wasm/api/post-js-footer.js cd0a8ec768501d9bd45d325ab0442037fb0e33d1f3b4f08902f15c34720ee4a1
F ext/wasm/api/post-js-header.js 47b6b281f39ad59fa6e8b658308cd98ea292c286a68407b35ff3ed9cfd281a62
-F ext/wasm/api/pre-js.c-pp.js 86b2909e07690792ecf14892e6ee4d2ea0b2d6bf8567ad3d549a8cc2e30828a0
+F ext/wasm/api/pre-js.c-pp.js 9ece5de1bb0509f0a8a360712fcc9c1291b9516c0be5bd66acedd6edbcec37a1
F ext/wasm/api/sqlite3-api-cleanup.js 680d5ccfff54459db136a49b2199d9f879c8405d9c99af1dda0cc5e7c29056f4
F ext/wasm/api/sqlite3-api-glue.js 0a93e58aabf52b32ddccbb107a1fd4552f2505e103ab63396c4d0a0743704785
F ext/wasm/api/sqlite3-api-oo1.js a3892fd79070d8c947205d8b90d8218cdb12e7fd5027dced5805dd387b590a36
@@ -485,7 +485,7 @@ F ext/wasm/api/sqlite3-api-worker1.js c462199c40358f00f93e326206bddc756c52b93f2c
F ext/wasm/api/sqlite3-license-version-header.js a661182fc93fc2cf212dfd0b987f8e138a3ac98f850b1112e29b5fbdaecc87c3
F ext/wasm/api/sqlite3-opfs-async-proxy.js 7795b84b66a7a8dedc791340709b310bb497c3c72a80bef364fa2a58e2ddae3f
F ext/wasm/api/sqlite3-v-helper.js 6f6c3e390a72e08b0a5b16a0d567d7af3c04d172831853a29d72a6f1dd40ff24
-F ext/wasm/api/sqlite3-vfs-opfs.c-pp.js bae9c4c40991a550450bb89dc34e6e1e1e875ae230ccdce3dbb99515517d3361
+F ext/wasm/api/sqlite3-vfs-opfs.c-pp.js a10bdc9695dcf453e120970a5de8a3e61db4e4047d0a7cc5a6d63dfe7ae87f4e
F ext/wasm/api/sqlite3-wasi.h 25356084cfe0d40458a902afb465df8c21fc4152c1d0a59b563a3fba59a068f9
F ext/wasm/api/sqlite3-wasm.c 76625a70937a8522d014ef686c32db5b53a3ee61850323f5c601d2ac39fe52fe
F ext/wasm/api/sqlite3-worker1-promiser.js f10c3ecd9df06f6320073c2ce230a7ed7c56034d8b88c1e57095f2a97faf423a
@@ -528,9 +528,9 @@ F ext/wasm/sql/000-mandelbrot.sql 775337a4b80938ac8146aedf88808282f04d02d983d826
F ext/wasm/sql/001-sudoku.sql 35b7cb7239ba5d5f193bc05ec379bcf66891bce6f2a5b3879f2f78d0917299b5
F ext/wasm/test-opfs-vfs.html 1f2d672f3f3fce810dfd48a8d56914aba22e45c6834e262555e685bce3da8c3f
F ext/wasm/test-opfs-vfs.js f09266873e1a34d9bdb6d3981ec8c9e382f31f215c9fd2f9016d2394b8ae9b7b
-F ext/wasm/tester1-worker.html d43f3c131d88f10d00aff3e328fed13c858d674ea2ff1ff90225506137f85aa9
-F ext/wasm/tester1.c-pp.html d34bef3d48e5cbc1c7c06882ad240fec49bf88f5f65696cc2c72c416933aa406
-F ext/wasm/tester1.c-pp.js 7786fa3bdf074be8935e3a77b1ca135fd36ef6f87823c0695deaca585b133d06
+F ext/wasm/tester1-worker.html 258d08f1ba9cc2d455958751e26be833893cf9ff7853e9436e593e1f778a386b
+F ext/wasm/tester1.c-pp.html 1c1bc78b858af2019e663b1a31e76657b73dc24bede28ca92fbe917c3a972af2
+F ext/wasm/tester1.c-pp.js f199ef496aec40a7ddedcc84f996117c911eac36d377913993d3f0261f9427ac
F ext/wasm/tests/opfs/concurrency/index.html 86d8ac435074d1e7007b91105f4897f368c165e8cecb6a9aa3d81f5cf5dcbe70
F ext/wasm/tests/opfs/concurrency/test.js a98016113eaf71e81ddbf71655aa29b0fed9a8b79a3cdd3620d1658eb1cc9a5d
F ext/wasm/tests/opfs/concurrency/worker.js 0a8c1a3e6ebb38aabbee24f122693f1fb29d599948915c76906681bb7da1d3d2
@@ -559,7 +559,7 @@ F src/auth.c f4fa91b6a90bbc8e0d0f738aa284551739c9543a367071f55574681e0f24f8cf
F src/backup.c a2891172438e385fdbe97c11c9745676bec54f518d4447090af97189fd8e52d7
F src/bitvec.c 7c849aac407230278445cb069bebc5f89bf2ddd87c5ed9459b070a9175707b3d
F src/btmutex.c 6ffb0a22c19e2f9110be0964d0731d2ef1c67b5f7fabfbaeb7b9dabc4b7740ca
-F src/btree.c 8b776a47d1e791ca78b539b8356cf32e449a613201cf64b87e7f01c62f79bd1b
+F src/btree.c 2f012aea074de6319c191cbf5c45034de79bf1c762826e381b1cf75421d8d831
F src/btree.h aa354b9bad4120af71e214666b35132712b8f2ec11869cb2315c52c81fad45cc
F src/btreeInt.h 06bb2c1a07172d5a1cd27a2a5d617b93b1e976c5873709c31964786f86365a6e
F src/build.c c55ab6d1b089ceef57160e840f05f692955ac90944c3d04fcf01d97fd7bfd08d
@@ -2044,8 +2044,9 @@ F vsixtest/vsixtest.tcl 6a9a6ab600c25a91a7acc6293828957a386a8a93
F vsixtest/vsixtest.vcxproj.data 2ed517e100c66dc455b492e1a33350c1b20fbcdc
F vsixtest/vsixtest.vcxproj.filters 37e51ffedcdb064aad6ff33b6148725226cd608e
F vsixtest/vsixtest_TemporaryKey.pfx e5b1b036facdb453873e7084e1cae9102ccc67a0
-P 792f43209c4b6e85386b6b3906814b7f2ad310d50ba563b3fd1cb37e55adf8db
-R 6dd48572fe63ddeb1a6c689b0b2a68d4
+P bd9613fd63193bd6b33798d83f0ef21987ba468b53d13a25a31cb9e9e5f20562 6a5c4f6b19aa0704efe7f789102f757a1ed05d6542f37c7aa37a4439783944a3
+R 7e285c57f9c962c0e3cd104712b20885
+T +closed 6a5c4f6b19aa0704efe7f789102f757a1ed05d6542f37c7aa37a4439783944a3 Closed\sby\sintegrate-merge.
U stephan
-Z 5f5447f2e7e7b095c0a2cbaeda82b72d
+Z 04a00083266e19e010eadc8bb14898d9
# Remove this line to create a well-formed Fossil manifest.
diff --git a/manifest.uuid b/manifest.uuid
index ccc517841..9b1cb2f61 100644
--- a/manifest.uuid
+++ b/manifest.uuid
@@ -1 +1 @@
-6a5c4f6b19aa0704efe7f789102f757a1ed05d6542f37c7aa37a4439783944a3 \ No newline at end of file
+24d3a53dea5e596230558e233cbbd9d0288b4c394cd5ea7b650fd99bff4cde2e \ No newline at end of file
diff --git a/src/btree.c b/src/btree.c
index fae572536..4fbe0b3db 100644
--- a/src/btree.c
+++ b/src/btree.c
@@ -10410,7 +10410,9 @@ static void checkList(
** lower 16 bits are the index of the last byte of that range.
*/
static void btreeHeapInsert(u32 *aHeap, u32 x){
- u32 j, i = ++aHeap[0];
+ u32 j, i;
+ assert( aHeap!=0 );
+ i = ++aHeap[0];
aHeap[i] = x;
while( (j = i/2)>0 && aHeap[j]>aHeap[i] ){
x = aHeap[j];