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

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
@@ -26,9 +26,25 @@ BEGIN
WHERE book_date > COALESCE(v_prev_ts, TIMESTAMP '1900-01-01 00:00:00');
IF v_src_count = 0 THEN
RAISE EXCEPTION
'В источнике bookings_ext нет строк для окна инкремента (book_date > %). Проверьте генерацию данных (make bookings-init / make bookings-generate-day или таск generate_bookings_day).',
COALESCE(v_prev_ts, TIMESTAMP '1900-01-01 00:00:00');
-- Пустое окно инкремента допустимо: новых данных может не быть.
-- В этом случае ожидаем, что в текущем batch_id тоже 0 строк.
SELECT COUNT(*)
INTO v_stg_count
FROM stg.bookings
WHERE batch_id = v_batch_id;
IF v_stg_count <> 0 THEN
RAISE EXCEPTION
'DQ FAILED: источник bookings_ext за окно инкремента пустой, но в stg.bookings есть строки текущего batch_id (batch_id=%): %',
v_batch_id,
v_stg_count;
END IF;
RAISE NOTICE
'В источнике bookings_ext нет строк для окна инкремента (book_date > %). Пропускаем DQ проверки (batch_id=%).',
COALESCE(v_prev_ts, TIMESTAMP '1900-01-01 00:00:00'),
v_batch_id;
RETURN;
END IF;
-- Считаем строки, реально вставленные в stg.bookings в этом батче