]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
Fix an fts5 problem with secure-delete mode causing integrity-check to erroneously...
authordrh <>
Wed, 5 Jun 2024 16:50:34 +0000 (16:50 +0000)
committerdrh <>
Wed, 5 Jun 2024 16:50:34 +0000 (16:50 +0000)
FossilOrigin-Name: 0a7fa0a434bb84023bf9075463613857966ca579e18de903c0d9b1561acf42c6

ext/fts5/fts5_main.c
ext/fts5/test/fts5secure8.test
manifest
manifest.uuid

index f609f7f34ae77b443f23427d715bfa24795aeb53..b3ca2f71bbc67fa8d5396e616a8a97bfbfa7d4fa 100644 (file)
@@ -1700,6 +1700,7 @@ static int fts5UpdateMethod(
         rc = SQLITE_ERROR;
       }else{
         rc = fts5SpecialDelete(pTab, apVal);
+        bUpdateOrDelete = 1;
       }
     }else{
       rc = fts5SpecialInsert(pTab, z, apVal[2 + pConfig->nCol + 1]);
index 8ceb9630aa2e994a1c87b875d6962ffd66462aaa..0216bb6ea19a9bac26657b55d04b5fa3d6f4464b 100644 (file)
@@ -42,6 +42,22 @@ do_execsql_test 1.2 {
   PRAGMA integrity_check;
 } {ok}
 
+do_execsql_test 2.0 {
+  CREATE VIRTUAL TABLE xyz USING fts5 (
+       name,
+        content=''
+  );
+
+  INSERT INTO xyz(xyz, rank) VALUES('secure-delete', 1);
+  INSERT INTO xyz (rowid, name) VALUES(1, 'A');
+  INSERT INTO xyz (rowid, name) VALUES(2, 'A');
+  INSERT INTO xyz(xyz, rowid, name) VALUES('delete', 2, 'A');
+}
+
+do_execsql_test 2.1 {
+  pragma quick_check;
+} {ok}
+
 
 
 
index ee447759aa08d31c66aa33f2f02098c6fda26ede..fe24f4f7c09a32ae71d8c8220c77a630731a4b56 100644 (file)
--- a/manifest
+++ b/manifest
@@ -1,5 +1,5 @@
-C Fix\sa\spossible\sbuffer\soverwrite\sin\sthe\s".import"\scommand.
-D 2024-05-27T11:38:03.090
+C Fix\san\sfts5\sproblem\swith\ssecure-delete\smode\scausing\sintegrity-check\sto\serroneously\sreport\sa\scorrupt\sindex.
+D 2024-06-05T16:50:34.984
 F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1
 F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea
 F LICENSE.md df5091916dbb40e6e9686186587125e1b2ff51f022cc334e886c19a0e9982724
@@ -100,7 +100,7 @@ F ext/fts5/fts5_config.c 8072a207034b51ae9b7694121d1b5715c794e94b275e088f70ae532
 F ext/fts5/fts5_expr.c e91156ebdcc08d837f4f324168f69f3c0d7fdef0e521fd561efb48ef3297b696
 F ext/fts5/fts5_hash.c adda4272be401566a6e0ba1acbe70ee5cb97fce944bc2e04dc707152a0ec91b1
 F ext/fts5/fts5_index.c ee0f4d50bc0c58a7c5ef7d645e7e38e1e59315b8ea9d722ae00c5f949ee65379
-F ext/fts5/fts5_main.c d68bd9533d5a638b7f6fae61c3cb0a15257dcdcccedaf3d0b3c9f55940c85048
+F ext/fts5/fts5_main.c 981551daf629445e37bef0280b888631503adeec37a1f9b5f7751a4430b70ac2
 F ext/fts5/fts5_storage.c f9e31b0d155e9b2c92d5d3a09ad7a56b937fbf1c7f962e10f4ca6281349f3934
 F ext/fts5/fts5_tcl.c fdf7e2bb9a9186cfcaf2d2ce11d338309342b7a7593c2812bc54455db53da5d2
 F ext/fts5/fts5_test_mi.c 08c11ec968148d4cb4119d96d819f8c1f329812c568bac3684f5464be177d3ee
@@ -218,7 +218,7 @@ F ext/fts5/test/fts5secure4.test 0d10a80590c07891478700af7793b232962042677432b98
 F ext/fts5/test/fts5secure5.test c07a68ced5951567ac116c22f2d2aafae497e47fe9fcb6a335c22f9c7a4f2c3a
 F ext/fts5/test/fts5secure6.test 74bf04733cc523bccca519bb03d3b4e2ed6f6e3db7c59bf6be82c88a0ac857fd
 F ext/fts5/test/fts5secure7.test fd03d0868d64340a1db8615b02e5508fea409de13910114e4f19eaefc120777a
-F ext/fts5/test/fts5secure8.test eb3579e9d58b0acad97e8082dee1f99b2d393198f03500b453c2b25761c0c298
+F ext/fts5/test/fts5secure8.test e68c0ac4447f415ff3e4e82531e99548289286f9f3a29c8cd53036113fe28602
 F ext/fts5/test/fts5securefault.test dbca2b6a1c16700017f5051138991b705410889933f2a37c57ae8a23b296b10b
 F ext/fts5/test/fts5simple.test a298670508c1458b88ce6030440f26a30673931884eb5f4094ac1773b3ba217b
 F ext/fts5/test/fts5simple2.test 8dd2389ee75e21a1429fe87e5f8c7d9a97ad1470304a8a2d3ba4b8c3c345fecd
@@ -2191,9 +2191,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 01ead0a2d98cab8c58216387d76756419e20b827adba809596a2ad67382b9278
-Q +0fd958fa9b56a8ef254127e29800ca2a267590e86edf739bd339239b25a5da6e
-R 697db273532868aed3d3530909b97d35
+P 55eee9f920e5dfdb88be5bb294707e743fa7ffe679fb0ff1e8f04b3a67ee271e
+Q +80bef4d60ba9e3679ea66655ca36fcfaa888775a3d1598d50e9649ad84a95b63
+R 2f54496332cca3ba9e6b24187c763a1f
 U drh
-Z 8b9b061549db0b8a2214bdf7b4c184db
+Z 2f13814fa7395f208fbd723618b40d57
 # Remove this line to create a well-formed Fossil manifest.
index d485de85c20f56defcb5b831d760942c7688b696..848b4b1effabdda4a8ccf6a27ea63d437d873e5f 100644 (file)
@@ -1 +1 @@
-55eee9f920e5dfdb88be5bb294707e743fa7ffe679fb0ff1e8f04b3a67ee271e
\ No newline at end of file
+0a7fa0a434bb84023bf9075463613857966ca579e18de903c0d9b1561acf42c6
\ No newline at end of file