From c3b202dd4c972793a9aa537147d0017478aad70b Mon Sep 17 00:00:00 2001 From: Mikael Hugo Date: Fri, 8 May 2026 19:15:31 +0200 Subject: [PATCH] fix: use IS for NULL-safe equality in validation run queries Consistent with latest_validation_state view. The verbose (slice_id = :param OR (slice_id IS NULL AND :param IS NULL)) pattern is functionally equivalent to slice_id IS :param in SQLite. Co-authored-by: factory-droid[bot] <138933559+factory-droid[bot]@users.noreply.github.com> --- src/resources/extensions/sf/sf-db.js | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/resources/extensions/sf/sf-db.js b/src/resources/extensions/sf/sf-db.js index ce31d4248..d5e79ebde 100644 --- a/src/resources/extensions/sf/sf-db.js +++ b/src/resources/extensions/sf/sf-db.js @@ -7335,8 +7335,8 @@ export function getLatestValidationState(milestoneId, sliceId, taskId) { .prepare( `SELECT * FROM validation_runs WHERE milestone_id = :milestone_id - AND (slice_id = :slice_id OR (slice_id IS NULL AND :slice_id IS NULL)) - AND (task_id = :task_id OR (task_id IS NULL AND :task_id IS NULL)) + AND slice_id IS :slice_id + AND task_id IS :task_id ORDER BY created_at DESC, run_id DESC LIMIT 1`, ) @@ -7360,8 +7360,8 @@ export function getValidationHistory(milestoneId, sliceId, taskId, limit = 20) { .prepare( `SELECT * FROM validation_runs WHERE milestone_id = :milestone_id - AND (slice_id = :slice_id OR (slice_id IS NULL AND :slice_id IS NULL)) - AND (task_id = :task_id OR (task_id IS NULL AND :task_id IS NULL)) + AND slice_id IS :slice_id + AND task_id IS :task_id ORDER BY created_at DESC, run_id DESC LIMIT :limit`, )