mirror of
https://github.com/aljazceru/turso.git
synced 2026-02-15 04:54:20 +01:00
small refine
This commit is contained in:
@@ -678,14 +678,18 @@ fn emit_loop_source(
|
||||
)?;
|
||||
}
|
||||
|
||||
let if_label = program.allocate_label();
|
||||
if let Some(flag) = t_ctx.reg_agg_flag {
|
||||
let if_label = if let Some(flag) = t_ctx.reg_agg_flag {
|
||||
let if_label = program.allocate_label();
|
||||
program.emit_insn(Insn::If {
|
||||
reg: flag,
|
||||
target_pc: if_label,
|
||||
jump_if_null: false,
|
||||
});
|
||||
}
|
||||
Some(if_label)
|
||||
} else {
|
||||
None
|
||||
};
|
||||
|
||||
let col_start = t_ctx.reg_result_cols_start.unwrap();
|
||||
|
||||
for (i, rc) in plan.result_columns.iter().enumerate() {
|
||||
@@ -706,10 +710,12 @@ fn emit_loop_source(
|
||||
&t_ctx.resolver,
|
||||
)?;
|
||||
}
|
||||
program.resolve_label(if_label, program.offset());
|
||||
if let Some(flag) = t_ctx.reg_agg_flag {
|
||||
if let Some(label) = if_label {
|
||||
program.resolve_label(label, program.offset());
|
||||
let flag = t_ctx.reg_agg_flag.unwrap();
|
||||
program.emit_int(1, flag);
|
||||
}
|
||||
|
||||
Ok(())
|
||||
}
|
||||
LoopEmitTarget::QueryResult => {
|
||||
|
||||
Reference in New Issue
Block a user