diff options
-rw-r--r-- | ext/recover/recoverslowidx.test | 2 | ||||
-rw-r--r-- | ext/recover/sqlite3recover.c | 1 | ||||
-rw-r--r-- | manifest | 20 | ||||
-rw-r--r-- | manifest.uuid | 2 | ||||
-rw-r--r-- | src/shell.c.in | 1 | ||||
-rw-r--r-- | test/recover.test | 3 |
6 files changed, 18 insertions, 11 deletions
diff --git a/ext/recover/recoverslowidx.test b/ext/recover/recoverslowidx.test index 269105113..36842b8a6 100644 --- a/ext/recover/recoverslowidx.test +++ b/ext/recover/recoverslowidx.test @@ -39,6 +39,7 @@ do_test 1.2 { } [list {*}{ {BEGIN} {PRAGMA writable_schema = on} + {PRAGMA foreign_keys = off} {PRAGMA encoding = 'UTF-8'} {PRAGMA page_size = '1024'} {PRAGMA auto_vacuum = '0'} @@ -67,6 +68,7 @@ do_test 1.4 { } [list {*}{ {BEGIN} {PRAGMA writable_schema = on} + {PRAGMA foreign_keys = off} {PRAGMA encoding = 'UTF-8'} {PRAGMA page_size = '1024'} {PRAGMA auto_vacuum = '0'} diff --git a/ext/recover/sqlite3recover.c b/ext/recover/sqlite3recover.c index 643a1fb07..b13719083 100644 --- a/ext/recover/sqlite3recover.c +++ b/ext/recover/sqlite3recover.c @@ -2580,6 +2580,7 @@ static void recoverStep(sqlite3_recover *p){ */ recoverSqlCallback(p, "BEGIN"); recoverSqlCallback(p, "PRAGMA writable_schema = on"); + recoverSqlCallback(p, "PRAGMA foreign_keys = off"); recoverEnterMutex(); @@ -1,5 +1,5 @@ -C Always\signore\scomments\sin\sthe\sschema\sof\sa\sdatabase,\seven\sif\nSQLITE_DBCONFIG_ENABLE_COMMENTS\sis\sturned\soff. -D 2025-03-05T18:18:17.032 +C Have\sthe\srecover\smodule\sadd\s"PRAGMA\sforeign_keys\s=\soff"\sto\sSQL\soutput.\sHave\sthe\sshell\stool\sadd\s".dbconfig\sdefensive\soff". +D 2025-03-05T19:39:02.155 F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1 F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea F LICENSE.md e108e1e69ae8e8a59e93c455654b8ac9356a11720d3345df2a4743e9590fb20d @@ -521,9 +521,9 @@ F ext/recover/recoverfault2.test 730e7371bcda769554d15460cb23126abba1be8eca9539c F ext/recover/recoverold.test 68db3d6f85dd2b98e785b6c4da4f5eea4bbe52ccf6674d9a94c7506dc92596aa F ext/recover/recoverpgsz.test 88766fcb810e52ee05335c456d4e5fb06d02b73d3ccb48c52bf293434305e2b1 F ext/recover/recoverrowid.test f948bf4024a5f41b0e21b8af80c60564c5b5d78c05a8d64fc00787715ff9f45f -F ext/recover/recoverslowidx.test 5205a9742dd9490ee99950dabb622307355ef1662dea6a3a21030057bfd81411 +F ext/recover/recoverslowidx.test c90d59c46bb8924a973ac6fbc38f3163cee38cc240256addcab1cf1a322c37dc F ext/recover/recoversql.test e66d01f95302a223bcd3fd42b5ee58dc2b53d70afa90b0d00e41e4b8eab20486 -F ext/recover/sqlite3recover.c f9f454ffb9299092e99cdd72d9bbf22a74042b61d3ee832b78a11295caf057fa +F ext/recover/sqlite3recover.c 0ecdcb4df8967c84aa4dfe786816998bf2ef5cce55f4ac85ad4079e76f271027 F ext/recover/sqlite3recover.h 011c799f02deb70ab685916f6f538e6bb32c4e0025e79bfd0e24ff9c74820959 F ext/recover/test_recover.c 072260d7452a3b81aba995b2b3269e7ec2aa7f06725544ba4c25b1b0a1dbc61a F ext/repair/README.md 92f5e8aae749a4dae14f02eea8e1bb42d4db2b6ce5e83dbcdd6b1446997e0c15 @@ -782,7 +782,7 @@ F src/random.c 606b00941a1d7dd09c381d3279a058d771f406c5213c9932bbd93d5587be4b9c F src/resolve.c 626c24b258b111f75c22107aa5614ad89810df3026f5ca071116d3fe75925c75 F src/rowset.c 8432130e6c344b3401a8874c3cb49fefe6873fec593294de077afea2dce5ec97 F src/select.c a076f7db3a0fcbd9f710d7746cfc07e0b3baadee45eb3136bedc29c598ef8f1c -F src/shell.c.in 79f306cb3a2d3f949855dac6b5e7554df2717d5051c5fc4d951812e10060de38 +F src/shell.c.in 4847cc7b4adf3f010c15ced5ea1251de4b7b39018c8cd5d77b3b0929985a04e5 F src/sqlite.h.in 3db05f6603c78d9e6fe035e9e12bed4ca8140135d05ff092becc2cf7d7d1fefb F src/sqlite3.rc 5121c9e10c3964d5755191c80dd1180c122fc3a8 F src/sqlite3ext.h 3f046c04ea3595d6bfda99b781926b17e672fd6d27da2ba6d8d8fc39981dcb54 @@ -1558,7 +1558,7 @@ F test/randexpr1.test eda062a97e60f9c38ae8d806b03b0ddf23d796df F test/rbu.test 168573d353cd0fd10196b87b0caa322c144ef736 F test/rdonly.test 64e2696c322e3538df0b1ed624e21f9a23ed9ff8 F test/readonly.test 69a7ccec846cad2e000b3539d56360d02f327061dc5e41f7f9a3e01f19719952 -F test/recover.test a163a156ea9f2beea63fa83c4dcd8dea6e57b8a569fc647155e3d2754eaac1b5 +F test/recover.test c76d05f33f0271fba0f0752170e03b0ab5952dc61dcea7ab3ba40df03c4c42de F test/regexp1.test 8f2a8bc1569666e29a4cee6c1a666cd224eb6d50e2470d1dc1df995170f3e0f1 F test/regexp2.test 55ed41da802b0e284ac7e2fe944be3948f93ff25abbca0361a609acfed1368b5 F test/reindex.test cd9d6021729910ece82267b4f5e1b5ac2911a7566c43b43c176a6a4732e2118d @@ -2213,8 +2213,8 @@ F tool/version-info.c 3b36468a90faf1bbd59c65fd0eb66522d9f941eedd364fabccd7227350 F tool/warnings-clang.sh bbf6a1e685e534c92ec2bfba5b1745f34fb6f0bc2a362850723a9ee87c1b31a7 F tool/warnings.sh 49a486c5069de041aedcbde4de178293e0463ae9918ecad7539eedf0ec77a139 F tool/win/sqlite.vsix deb315d026cc8400325c5863eef847784a219a2f -P b0b66f21159b47e1950ca63a01f92fe4f621efb9a2962b310d65fa7ebdbb43b3 -R 80ec4c58f66aaf3822aba9e80edae374 -U drh -Z d18a58001daeeed84852f4117b8a6ab7 +P 373ae3f4de526c636c35db03d6b5c84526d6f144c1c3bebcbb257e52f563a203 +R 38fa5364fa5cffdc78b1c32dbd4f81d6 +U dan +Z 397711d5197aed7f09beea9e54a174c7 # Remove this line to create a well-formed Fossil manifest. diff --git a/manifest.uuid b/manifest.uuid index b16ec70bb..88b0b3a5a 100644 --- a/manifest.uuid +++ b/manifest.uuid @@ -1 +1 @@ -373ae3f4de526c636c35db03d6b5c84526d6f144c1c3bebcbb257e52f563a203 +dcfe3d3292851aa48a085a2c68623b049e2786c8dc7154ccc78508443973b5a1 diff --git a/src/shell.c.in b/src/shell.c.in index 1717f76d4..f4451d292 100644 --- a/src/shell.c.in +++ b/src/shell.c.in @@ -8183,6 +8183,7 @@ static int recoverDatabaseCmd(ShellState *pState, int nArg, char **azArg){ sqlite3_recover_config(p, SQLITE_RECOVER_ROWIDS, (void*)&bRowids); sqlite3_recover_config(p, SQLITE_RECOVER_FREELIST_CORRUPT,(void*)&bFreelist); + sqlite3_fprintf(pState->out, ".dbconfig defensive off\n"); sqlite3_recover_run(p); if( sqlite3_recover_errcode(p)!=SQLITE_OK ){ const char *zErr = sqlite3_recover_errmsg(p); diff --git a/test/recover.test b/test/recover.test index 268d3a55b..ad6b7298d 100644 --- a/test/recover.test +++ b/test/recover.test @@ -47,6 +47,9 @@ proc recover_with_opts {opts} { set sql [read $fd] close $fd + # Remove the ".dbconfig defensive off" line + set sql [string map {".dbconfig defensive off" ""} $sql] + forcedelete test.db2 sqlite3 db2 test.db2 execsql $sql db2 |