From 0bc56d3f287bfcfaadd3af821d81b0c6b2a0c225 Mon Sep 17 00:00:00 2001 From: PThorpe92 Date: Sun, 16 Nov 2025 15:20:02 -0500 Subject: [PATCH] Sprinkle some OR REPLACE into INSERT statements in fuzzing --- tests/fuzz/mod.rs | 34 ++++++++++++++++++++++++++++++---- 1 file changed, 30 insertions(+), 4 deletions(-) diff --git a/tests/fuzz/mod.rs b/tests/fuzz/mod.rs index 212f53db5..d116c054c 100644 --- a/tests/fuzz/mod.rs +++ b/tests/fuzz/mod.rs @@ -1100,7 +1100,14 @@ mod fuzz_tests { } let a = rng.random_range(-5..=25); let b = rng.random_range(-5..=25); - format!("INSERT INTO p VALUES({id}, {a}, {b})") + format!( + "INSERT {} INTO p VALUES({id}, {a}, {b})", + if rng.random_bool(0.4) { + "OR REPLACE " + } else { + "" + } + ) } // Parent UPDATE 1 => { @@ -1133,7 +1140,14 @@ mod fuzz_tests { rng.random_range(1..=260) as i64 }; let y = rng.random_range(-10..=10); - format!("INSERT INTO c VALUES({id}, {x}, {y})") + format!( + "INSERT {} INTO c VALUES({id}, {x}, {y})", + if rng.random_bool(0.4) { + "OR REPLACE " + } else { + "" + } + ) } // Child UPDATE 4 => { @@ -1940,7 +1954,12 @@ mod fuzz_tests { .collect::>() .join(", "); let insert = format!( - "INSERT INTO t ({}) VALUES {}", + "INSERT {} INTO t ({}) VALUES {}", + if rng.random_bool(0.4) { + "OR IGNORE" + } else { + "" + }, col_names, insert_values.join(", ") ); @@ -2259,7 +2278,14 @@ mod fuzz_tests { } } format!( - "INSERT INTO t({}) VALUES({})", + "INSERT {} INTO t({}) VALUES({})", + if rng.random_bool(0.3) { + "OR REPLACE" + } else if rng.random_bool(0.3) { + "OR IGNORE" + } else { + "" + }, cols_list.join(","), vals_list.join(",") )