From b72e95dc0590d8d9182be37eee6305a046717275 Mon Sep 17 00:00:00 2001 From: Anton Harniakou Date: Wed, 11 Jun 2025 12:28:11 +0300 Subject: [PATCH] Implement NOT NULL constraint check for UPDATE --- core/translate/emitter.rs | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/core/translate/emitter.rs b/core/translate/emitter.rs index 9754ebc63..fb68f8fc8 100644 --- a/core/translate/emitter.rs +++ b/core/translate/emitter.rs @@ -1095,6 +1095,19 @@ fn emit_update_insns( target_reg, &t_ctx.resolver, )?; + use crate::error::SQLITE_CONSTRAINT_NOTNULL; + program.emit_insn(Insn::HaltIfNull { + target_reg, + err_code: SQLITE_CONSTRAINT_NOTNULL, + description: format!( + "{}.{}", + table_ref.table.get_name(), + table_column + .name + .as_ref() + .expect("Column name must be present") + ), + }); } } else { let column_idx_in_index = index.as_ref().and_then(|(idx, _)| {