From a61736bec18f815c797ea6dd88ffc6fddf4baaaa Mon Sep 17 00:00:00 2001 From: Nikita Sivukhin Date: Sun, 9 Feb 2025 21:33:54 +0400 Subject: [PATCH] adjust evaluation of NULL results in WHEN clauses with SQLite spec --- core/translate/expr.rs | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/core/translate/expr.rs b/core/translate/expr.rs index 36acfa935..ec895a4db 100644 --- a/core/translate/expr.rs +++ b/core/translate/expr.rs @@ -792,7 +792,8 @@ pub fn translate_expr( lhs: base_reg, rhs: expr_reg, target_pc: next_case_label, - flags: CmpInsFlags::default(), + // A NULL result is considered untrue when evaluating WHEN terms. + flags: CmpInsFlags::default().jump_if_null(), }), // CASE WHEN 0 THEN 0 ELSE 1 becomes ifnot 0 branch to next clause None => program.emit_insn(Insn::IfNot {