]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
Further tests for the code on this branch.
authordan <Dan Kennedy>
Mon, 16 Mar 2026 16:44:14 +0000 (16:44 +0000)
committerdan <Dan Kennedy>
Mon, 16 Mar 2026 16:44:14 +0000 (16:44 +0000)
FossilOrigin-Name: f928a38091977268aa6a096104797158883ed89b9e026b4e4b98b9b5da967de1

manifest
manifest.uuid
test/eiib1.test

index d737e8c4bc7f963b2452a1ddef136d9d21bac901..831ee2aa50d7415399ce903b7f80273969d45693 100644 (file)
--- a/manifest
+++ b/manifest
@@ -1,5 +1,5 @@
-C If\sOP_IdxDelete\scannot\sfind\san\sindex\sentry\sto\sdelete,\sfirst\ssearch\s10\sentries\sin\seither\sdirection\sof\swhere\sthe\sentry\sshould\sbe\sin\sthe\sindex.\sIf\sthat\sfails,\ssearch\sthe\sentire\sindex\sfor\san\sentry\swith\smatching\sPK\sfields.
-D 2026-03-16T16:21:43.376
+C Further\stests\sfor\sthe\scode\son\sthis\sbranch.
+D 2026-03-16T16:44:14.299
 F .fossil-settings/binary-glob 61195414528fb3ea9693577e1980230d78a1f8b0a54c78cf1b9b24d0a409ed6a x
 F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1
 F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea
@@ -1081,7 +1081,7 @@ F test/e_wal.test db7c33642711cf3c7959714b5f012aca08cacfa78da0382f95e849eb3ba66a
 F test/e_walauto.test 248af31e73c98df23476a22bdb815524c9dc3ba8
 F test/e_walckpt.test 16e7d006e8687654ee59e7ad5a6d285ba23f0fe0eeb87f790afd6bc9cf1d1924
 F test/e_walhook.test 01b494287ba9e60b70f6ebf3c6c62e0ffe01788e344a4846b08e5de0b344cb66
-F test/eiib1.test 810da7aa9d55c07c891599d48ef8f45a0fa37f036c9341884505e9e815fedab5
+F test/eiib1.test b1e4361242f6215dd82ca3903bbec7832f1085f68bbf9d4d773ab0fbc71e924c
 F test/emptytable.test a38110becbdfa6325cd65cb588dca658cd885f62
 F test/enc.test b5503a87b31cea8a5084c6e447383f9ca08933bd2f29d97b6b6201081b2343eb
 F test/enc2.test 872afe58db772e7dfa1ad8e0759f8cc820e9efc8172d460fae83023101c2e435
@@ -2193,8 +2193,8 @@ F tool/warnings-clang.sh bbf6a1e685e534c92ec2bfba5b1745f34fb6f0bc2a362850723a9ee
 F tool/warnings.sh d924598cf2f55a4ecbc2aeb055c10bd5f48114793e7ba25f9585435da29e7e98
 F tool/win/sqlite.vsix deb315d026cc8400325c5863eef847784a219a2f
 F tool/winmain.c 00c8fb88e365c9017db14c73d3c78af62194d9644feaf60e220ab0f411f3604c
-P 6f49b5ecad5d924999d045a1ade93d95e731182be1781aefa5bc763b6202e9c3
-R 07aad91547589b98e374a31de7dba336
+P 2cb9f4e4178549144acd82e317a1646e71c9281ac9fc4aa26bf129f1068ded45
+R 18949e9426303c3e4e5aa3e3a54fd78c
 U dan
-Z da974e9658962ed0763a3b684d15cc9b
+Z 8e56ca346bd009f8b629175fc6f3e9c7
 # Remove this line to create a well-formed Fossil manifest.
index d600a01baae1578ec1e765d364b23ff9f64cf760..42e06d4f4089267ab22e704ed9e5f7bd84a7c8bc 100644 (file)
@@ -1 +1 @@
-2cb9f4e4178549144acd82e317a1646e71c9281ac9fc4aa26bf129f1068ded45
+f928a38091977268aa6a096104797158883ed89b9e026b4e4b98b9b5da967de1
index 1c965485487baa51fa2178e6850e6e1c3667d2da..f80b2bc29c9476fc17b49596ee081e30b41cb0a8 100644 (file)
@@ -12,6 +12,7 @@
 
 set testdir [file dirname $argv0]
 source $testdir/tester.tcl
+set testprefix eiib1
 
 # Check that OP_IdxDelete works when:
 #
@@ -89,15 +90,49 @@ do_execsql_test 1.3.1 {
   {row 6 missing from index i1}
 }
 
-  # 1 15   2 30   3 20   4 10   5 25
 foreach {tn a} {
-  1 15
+  1 15   2 30   3 20   4 10   5 25
 } {
-breakpoint
   do_execsql_test 1.3.2.$tn {
     DELETE FROM t1 WHERE a=$a
   }
 }
+do_execsql_test 1.3.3 {
+  PRAGMA integrity_check
+} {ok}
+
+#-------------------------------------------------------------------------
+reset_db
+set nRow [expr 1000]
+do_execsql_test 2.0 {
+  CREATE TABLE t1(a, b, c, PRIMARY KEY(a, b)) WITHOUT ROWID;
+  WITH s(i) AS (
+    SELECT 1 UNION ALL SELECT i+1 FROM s WHERE i<$nRow
+  )
+  INSERT INTO t1 SELECT i, random(), hex(randomblob(50)) FROM s;
+  CREATE INDEX t1c ON t1(c);
+}
+
+set root [db one {SELECT rootpage FROM sqlite_schema WHERE name='t1c'}]
+
+do_test 2.1 { 
+  sqlite3_test_control SQLITE_TESTCTRL_IMPOSTER db main 1 $root
+  db eval {
+    CREATE TABLE x1(a, b, c, PRIMARY KEY(c, a, b)) WITHOUT ROWID;
+  }
+  sqlite3_test_control SQLITE_TESTCTRL_IMPOSTER db main 0 0
+} {}
+
+do_execsql_test 2.2 {
+  UPDATE x1 SET c=hex(randomblob(50)) WHERE (a%2)!=0
+}
+
+do_test 2.3 {
+  for {set ii 1} {$ii<$nRow} {incr ii 2} {
+    execsql { DELETE FROM t1 WHERE a=$ii }
+  }
+  execsql {PRAGMA integrity_check}
+} {ok}
 
 
 finish_test