]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
Add test cases to check the handling of SQLITE_BUSY in rbu.
authordan <Dan Kennedy>
Fri, 22 Apr 2022 15:18:41 +0000 (15:18 +0000)
committerdan <Dan Kennedy>
Fri, 22 Apr 2022 15:18:41 +0000 (15:18 +0000)
FossilOrigin-Name: 6fccc733c6041a2946fb3d37e4737ae37defae5c110225dd746cdc038cc64957

ext/rbu/rbubusy.test [new file with mode: 0644]
manifest
manifest.uuid

diff --git a/ext/rbu/rbubusy.test b/ext/rbu/rbubusy.test
new file mode 100644 (file)
index 0000000..a16b85f
--- /dev/null
@@ -0,0 +1,82 @@
+# 2014 August 30
+#
+# The author disclaims copyright to this source code.  In place of
+# a legal notice, here is a blessing:
+#
+#    May you do good and not evil.
+#    May you find forgiveness for yourself and forgive others.
+#    May you share freely, never taking more than you give.
+#
+#***********************************************************************
+#
+#
+
+source [file join [file dirname [info script]] rbu_common.tcl]
+set ::testprefix rbubusy
+
+db close
+sqlite3_shutdown
+test_sqlite3_log xLog
+reset_db
+
+set db_sql {
+  CREATE TABLE t1(a PRIMARY KEY, b, c);
+  INSERT INTO t1 VALUES(1000, 2000, 3000);
+}
+
+set rbu_sql {
+  CREATE TABLE data_t1(a, b, c, rbu_control);
+  INSERT INTO data_t1 VALUES(1, 2, 3, 0);
+  INSERT INTO data_t1 VALUES(4, 5, 6, 0);
+  INSERT INTO data_t1 VALUES(7, 8, 9, 0);
+}
+
+do_test 1.1 {
+  forcedelete rbu.db
+  sqlite3 rbu rbu.db
+  rbu eval $rbu_sql
+  rbu close
+
+  db eval $db_sql
+} {}
+
+do_execsql_test 1.2 {
+  BEGIN;
+    SELECT * FROM t1
+} {1000 2000 3000}
+
+do_test 1.3 {
+  sqlite3rbu rbu test.db rbu.db
+  rbu step
+} {SQLITE_OK}
+
+do_test 1.4 {
+  while 1 {
+    set rc [rbu step]
+    if {$rc!="SQLITE_OK"} break
+  }
+  set rc
+} {SQLITE_BUSY}
+
+do_test 1.5 {
+  rbu step
+} {SQLITE_BUSY}
+
+do_test 1.6 {
+  db eval COMMIT
+  rbu step
+} {SQLITE_BUSY}
+catch { rbu close }
+
+do_test 1.7 {
+  sqlite3rbu rbu test.db rbu.db
+  while 1 {
+    set rc [rbu step]
+    if {$rc!="SQLITE_OK"} break
+  }
+  set rc
+} {SQLITE_DONE}
+
+rbu close
+
+finish_test
index 512b12406bedc1c236f01d1431ecdc402bfc6e61..94e3d8eb509cdf65628a2f89b48c440fcbee6e1a 100644 (file)
--- a/manifest
+++ b/manifest
@@ -1,5 +1,5 @@
-C Simplification\sof\sdata\sstructures\sin\sthe\swildcard\sexpander\sfor\nSF_NestedFrom\squeries.
-D 2022-04-22T13:34:45.273
+C Add\stest\scases\sto\scheck\sthe\shandling\sof\sSQLITE_BUSY\sin\srbu.
+D 2022-04-22T15:18:41.615
 F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1
 F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea
 F LICENSE.md df5091916dbb40e6e9686186587125e1b2ff51f022cc334e886c19a0e9982724
@@ -358,6 +358,7 @@ F ext/rbu/rbuA.test b34a90cb495682c25b5fc03a9d5e7a4fc99541c29256f25e2e2a4f6542b4
 F ext/rbu/rbuB.test 52b07158824c6927b7e25554ace92a695cdebfc296ae3d308ac386984aded9bc
 F ext/rbu/rbuC.test 80f1cc2fb74f44b1128fd0ed8eedab3a76fefeb72a947860e2869ef76fc8dc6b
 F ext/rbu/rbu_common.tcl 60d904133ff843fe72cc0514e9dd2486707181e6e0fbab20979da28c48d21de9
+F ext/rbu/rbubusy.test 35a6ad081b374281f728b26264ef4f0b0e7888ccb5ace1843aed30ed99c2e1ca
 F ext/rbu/rbucollate.test cac528a9a46318cba42e61258bb42660bbbf4fdb9a8c863de5a54ad0c658d197
 F ext/rbu/rbucrash.test 000981a1fe8a6e4d9a684232f6a129e66a3ef595f5ed74655e2f9c68ffa613b4
 F ext/rbu/rbucrash2.test efa143cc94228eb0266d3f1abfbee60a5838a84cef7cc3fcb8c145b74d96fd41
@@ -1950,8 +1951,8 @@ F vsixtest/vsixtest.tcl 6a9a6ab600c25a91a7acc6293828957a386a8a93
 F vsixtest/vsixtest.vcxproj.data 2ed517e100c66dc455b492e1a33350c1b20fbcdc
 F vsixtest/vsixtest.vcxproj.filters 37e51ffedcdb064aad6ff33b6148725226cd608e
 F vsixtest/vsixtest_TemporaryKey.pfx e5b1b036facdb453873e7084e1cae9102ccc67a0
-P 7b4cd705a0339ddacad19564b07e50e4f68f54bf14dd2cd5d59b39314a4d2523 d942530a6550a0cbe31790e462b0f0d57b9b4a896161878b7d45d11cbc1cb7a3
-R eba1e6cacae696fe7d98ccb5196506b7
-U drh
-Z 02284e5f70f7e0ce37132715f41fa694
+P f7c18262347ff430879d5afc7a118d2b9b0050c845c6b1fe6c047062ea2ba8fe
+R a6d9f2b1d5400cca176b02195a3ac6f5
+U dan
+Z ae29b1d7301d35ff4fb51acebf10a86c
 # Remove this line to create a well-formed Fossil manifest.
index 9cdf45d0f6c55354cd9057f5bdd409f2d306b63a..cff6a3e51332bf8bc2e2bbbf6bc22e099e1437af 100644 (file)
@@ -1 +1 @@
-f7c18262347ff430879d5afc7a118d2b9b0050c845c6b1fe6c047062ea2ba8fe
\ No newline at end of file
+6fccc733c6041a2946fb3d37e4737ae37defae5c110225dd746cdc038cc64957
\ No newline at end of file