EXPLAIN should show a comment for the Insert opcode

This commit is contained in:
Anton Harniakou 2025-05-05 10:54:59 +03:00
parent 46c915b13c
commit d74df2473e
6 changed files with 8 additions and 2 deletions

View file

@ -788,6 +788,7 @@ fn emit_update_insns(
key_reg: beg,
record_reg,
flag: 0,
table_name: table_ref.identifier.clone(),
});
} else if let Some(vtab) = table_ref.virtual_table() {
let arg_count = table_ref.columns().len() + 2;

View file

@ -387,6 +387,7 @@ pub fn translate_insert(
key_reg: rowid_reg,
record_reg: record_register,
flag: 0,
table_name: table_name.to_string(),
});
if inserting_multiple_rows {

View file

@ -229,6 +229,7 @@ pub fn emit_schema_entry(
key_reg: rowid_reg,
record_reg,
flag: 0,
table_name: tbl_name.to_string(),
});
}

View file

@ -3699,6 +3699,7 @@ pub fn op_insert(
key_reg,
record_reg,
flag: _,
table_name: _,
} = insn
else {
unreachable!("unexpected Insn {:?}", insn)

View file

@ -1014,14 +1014,15 @@ pub fn insn_to_str(
key_reg,
record_reg,
flag,
table_name,
} => (
"Insert",
*cursor as i32,
*record_reg as i32,
*key_reg as i32,
OwnedValue::build_text(""),
OwnedValue::build_text(&table_name),
*flag as u16,
"".to_string(),
format!("intkey=r[{}] data=r[{}]", key_reg, record_reg),
),
Insn::Delete { cursor_id } => (
"Delete",

View file

@ -644,6 +644,7 @@ pub enum Insn {
key_reg: usize, // Must be int.
record_reg: usize, // Blob of record data.
flag: usize, // Flags used by insert, for now not used.
table_name: String,
},
Delete {