mirror of
https://github.com/aljazceru/turso.git
synced 2025-12-27 04:54:21 +01:00
Merge 'Fail simulator on parse errors' from Jussi Saurio
Closes #2618 (sufficiently for now, IMO) Prevents simulator from creating malformed queries which we don't notice (ref e.g. #2609 , #2611, #2616) Closes #2624
This commit is contained in:
@@ -451,6 +451,9 @@ impl Interaction {
|
||||
&query_str[0..query_str.len().min(4096)],
|
||||
err
|
||||
);
|
||||
if let Some(turso_core::LimboError::ParseError(e)) = err {
|
||||
panic!("Unexpected parse error: {e}");
|
||||
}
|
||||
return Err(err.unwrap());
|
||||
}
|
||||
let rows = rows?;
|
||||
|
||||
@@ -237,12 +237,20 @@ impl ArbitraryFrom<&SimulatorEnv> for Select {
|
||||
|
||||
let num_result_columns = rng.gen_range(1..=min_column_count_across_tables);
|
||||
|
||||
let first = SelectInner::arbitrary_sized_from(rng, env, num_result_columns);
|
||||
let mut first = SelectInner::arbitrary_sized_from(rng, env, num_result_columns);
|
||||
|
||||
let rest: Vec<SelectInner> = (0..num_compound_selects)
|
||||
let mut rest: Vec<SelectInner> = (0..num_compound_selects)
|
||||
.map(|_| SelectInner::arbitrary_sized_from(rng, env, num_result_columns))
|
||||
.collect();
|
||||
|
||||
if !rest.is_empty() {
|
||||
// ORDER BY is not supported in compound selects yet
|
||||
first.order_by = None;
|
||||
for s in &mut rest {
|
||||
s.order_by = None;
|
||||
}
|
||||
}
|
||||
|
||||
Self {
|
||||
body: SelectBody {
|
||||
select: Box::new(first),
|
||||
|
||||
Reference in New Issue
Block a user