Допустимость пустых данных по некоторым таблицам

This commit is contained in:
2026-02-28 22:12:22 +03:00
parent bb83c831d2
commit d4c91c4eec
7 changed files with 87 additions and 19 deletions
+19 -3
View File
@@ -24,9 +24,25 @@ BEGIN
WHERE scheduled_departure > COALESCE(v_prev_ts, TIMESTAMP '1900-01-01 00:00:00');
IF v_src_count = 0 THEN
RAISE EXCEPTION
'В источнике flights_ext нет строк для окна инкремента (scheduled_departure > %).',
COALESCE(v_prev_ts, TIMESTAMP '1900-01-01 00:00:00');
-- Пустое окно инкремента допустимо: новых данных может не быть.
-- В этом случае ожидаем, что в текущем batch_id тоже 0 строк.
SELECT COUNT(*)
INTO v_stg_count
FROM stg.flights
WHERE batch_id = v_batch_id;
IF v_stg_count <> 0 THEN
RAISE EXCEPTION
'DQ FAILED: источник flights_ext за окно инкремента пустой, но в stg.flights есть строки текущего batch_id (batch_id=%): %',
v_batch_id,
v_stg_count;
END IF;
RAISE NOTICE
'В источнике flights_ext нет строк для окна инкремента (scheduled_departure > %). Пропускаем DQ проверки (batch_id=%).',
COALESCE(v_prev_ts, TIMESTAMP '1900-01-01 00:00:00'),
v_batch_id;
RETURN;
END IF;
-- Считаем строки, реально вставленные в stg.flights в этом батче