-C Experimental\smerge\sof\sthe\swal-shm-exceptions\sand\swal2\sbranches.
-D 2023-08-10T18:58:07.618
+C Add\stests\sfor\sstructured-exception-handling\sand\swal2.\sFix\sa\sproblem\swith\sthe\ssame.
+D 2023-08-10T21:20:34.013
F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1
F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea
F LICENSE.md df5091916dbb40e6e9686186587125e1b2ff51f022cc334e886c19a0e9982724
F src/vdbevtab.c 57fa8f56478e5b5cb558cb425e7878515e0a105c54f96f1d1bbf4b9433529254
F src/vtab.c 1ecf8c3745d29275688d583e12822fa984d421e0286b5ef50c137bc3bf6d7a64
F src/vxworks.h d2988f4e5a61a4dfe82c6524dd3d6e4f2ce3cdb9
-F src/wal.c 15cf63e763e2613c89f5dd20e150e715f4dcc836a0488342a1ab60939ff4951e
+F src/wal.c 1ea71da11648befe8be082d0ef6adad144435a827d7ae1593da1bf375482c21d
F src/wal.h a3e64f463acf027f041c2081841e15e8c81c56d0daa45e308df423d9d66fd5a7
F src/walker.c 7c7ea0115345851c3da4e04e2e239a29983b61fb5b038b94eede6aba462640e2
F src/where.c b8917792f1e0dbfa28fb29e6cd3d560060d69667be0ba4c491cbc772363264f5
F test/walro.test cb438d05ba0d191f10b688e39c4f0cd5b71569a1d1f4440e5bdf3c6880e08c20
F test/walro2.test 33955a6fd874dd9724005e17f77fef89d334b3171454a1256fe4941a96766cdc
F test/walrofault.test c70cb6e308c443867701856cce92ad8288cd99488fa52afab77cca6cfd51af68
-F test/walseh1.test 82da37763b0d87942dccd191e58321532ce3d44b87ef36e04ff9ce13f382bbae
+F test/walseh1.test 5971f753bd3504ac485ef2dd228894f6bbd20f6711f8e6ee65d62c7dc1a134c8
F test/walsetlk.test 34c901443b31ab720afc463f5b236c86ca5c4134402573dce91aa0761de8db5a
F test/walshared.test 42e3808582504878af237ea02c42ca793e8a0efaa19df7df26ac573370dbc7a3
F test/walslow.test c05c68d4dc2700a982f89133ce103a1a84cc285f
F vsixtest/vsixtest.vcxproj.data 2ed517e100c66dc455b492e1a33350c1b20fbcdc
F vsixtest/vsixtest.vcxproj.filters 37e51ffedcdb064aad6ff33b6148725226cd608e
F vsixtest/vsixtest_TemporaryKey.pfx e5b1b036facdb453873e7084e1cae9102ccc67a0
-P ae7f3bcb5babfa50084f5b4d3c5663489dbf306440706152642b7f0fb47fa1f5 3ed89c344fcb3b7ee8b764d95144643e42e053e1116150d6eda8355fbd6669df
-R 6d5e54ac94c2b0ca3b4f8e1bb783c1f1
-T *branch * wal2-shm-exceptions
-T *sym-wal2-shm-exceptions *
-T -sym-wal2 *
+P fd58c616244dc70a2d6c17b62830398cea8177366828260882df5ab1f361a347
+R 8c982794323889a4cb5909db4c119431
U dan
-Z 906ed34078bfe0eb7b259e1913b75925
+Z fd542a929c1ac4ec2e467c191acdf6ca
# Remove this line to create a well-formed Fossil manifest.
if( isWalMode2(pWal)==0 ) break;
- walCkptInfo(pWal)->nBackfill = 0;
- walidxSetFile(&pWal->hdr, !walidxGetFile(&pWal->hdr));
- pWal->writeLock = 1;
- walIndexWriteHdr(pWal);
- pWal->writeLock = 0;
-
+ SEH_TRY {
+ walCkptInfo(pWal)->nBackfill = 0;
+ walidxSetFile(&pWal->hdr, !walidxGetFile(&pWal->hdr));
+ pWal->writeLock = 1;
+ walIndexWriteHdr(pWal);
+ pWal->writeLock = 0;
+ }
+ SEH_EXCEPT( rc = SQLITE_IOERR_IN_PAGE; )
}
}
}
}
-do_execsql_test 1.0 {
- PRAGMA journal_mode = wal;
+foreach {tn jmode} {
+ 1 wal
+ 2 wal2
+} {
+
+reset_db
+
+do_execsql_test $tn.1.0 "
+ PRAGMA journal_mode = $jmode;
CREATE TABLE t1(x, y);
INSERT INTO t1 VALUES(1, 2);
INSERT INTO t1 VALUES(3, 4);
-} {wal}
+" $jmode
faultsim_save_and_close
-do_faultsim_test 1 -faults seh -prep {
+do_faultsim_test $tn.1 -faults seh -prep {
catch { db2 close }
faultsim_restore_and_reopen
execsql { SELECT * FROM sqlite_schema }
faultsim_save_and_close
-do_faultsim_test 2 -faults seh -prep {
+do_faultsim_test $tn.2 -faults seh -prep {
catch { db close }
faultsim_restore_and_reopen
} -body {
if {$testrc} { test_system_errno db $::seh_errno }
}
-do_faultsim_test 3 -faults seh -prep {
+do_faultsim_test $tn.3 -faults seh -prep {
catch { db close }
faultsim_restore_and_reopen
} -body {
if {$testrc} { test_system_errno db $::seh_errno }
}
-do_faultsim_test 4 -faults seh -prep {
+do_faultsim_test $tn.4 -faults seh -prep {
catch { db close }
faultsim_restore_and_reopen
} -body {
}
catch { db close }
-do_faultsim_test 5 -faults seh -prep {
+do_faultsim_test $tn.5 -faults seh -prep {
catch { db close }
faultsim_restore_and_reopen
execsql {
}
catch { db close }
-do_faultsim_test 6 -faults seh -prep {
+do_faultsim_test $tn.6 -faults seh -prep {
catch { db close }
faultsim_restore_and_reopen
} -body {
}
catch { db close }
+}
+
finish_test