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>
This commit is contained in:
Mikael Hugo 2026-05-08 19:15:31 +02:00
parent 3b4dbfbcf0
commit c3b202dd4c

View file

@ -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`,
)