Улучшение DQ проверки
This commit is contained in:
@@ -36,7 +36,8 @@ BEGIN
|
||||
END IF;
|
||||
|
||||
-- Проверка на дубликаты (ticket_no, flight_id)
|
||||
SELECT COUNT(*) - COUNT(DISTINCT ticket_no || '|' || flight_id)
|
||||
-- Используем md5 от ROW, чтобы избежать коллизий при склейке строк.
|
||||
SELECT COUNT(*) - COUNT(DISTINCT md5(ROW(ticket_no, flight_id)::text))
|
||||
INTO v_dup_count
|
||||
FROM stg.boarding_passes AS bp
|
||||
WHERE bp.batch_id = v_batch_id;
|
||||
|
||||
@@ -34,7 +34,8 @@ BEGIN
|
||||
END IF;
|
||||
|
||||
-- Проверка на дубликаты составного ключа (route_no, validity)
|
||||
SELECT COUNT(*) - COUNT(DISTINCT route_no || '|' || validity)
|
||||
-- Используем md5 от ROW, чтобы избежать коллизий при склейке строк.
|
||||
SELECT COUNT(*) - COUNT(DISTINCT md5(ROW(route_no, validity)::text))
|
||||
INTO v_dup_count
|
||||
FROM stg.routes AS r
|
||||
WHERE r.batch_id = v_batch_id;
|
||||
|
||||
@@ -33,7 +33,8 @@ BEGIN
|
||||
END IF;
|
||||
|
||||
-- Проверка на дубликаты составного ключа (airplane_code, seat_no)
|
||||
SELECT COUNT(*) - COUNT(DISTINCT airplane_code || '|' || seat_no)
|
||||
-- Используем md5 от ROW, чтобы избежать коллизий при склейке строк.
|
||||
SELECT COUNT(*) - COUNT(DISTINCT md5(ROW(airplane_code, seat_no)::text))
|
||||
INTO v_dup_count
|
||||
FROM stg.seats AS s
|
||||
WHERE s.batch_id = v_batch_id;
|
||||
|
||||
@@ -62,7 +62,8 @@ BEGIN
|
||||
END IF;
|
||||
|
||||
-- Проверка на дубликаты (ticket_no, flight_id)
|
||||
SELECT COUNT(*) - COUNT(DISTINCT ticket_no || '|' || flight_id)
|
||||
-- Используем md5 от ROW, чтобы избежать коллизий при склейке строк.
|
||||
SELECT COUNT(*) - COUNT(DISTINCT md5(ROW(ticket_no, flight_id)::text))
|
||||
INTO v_dup_count
|
||||
FROM stg.segments AS s
|
||||
WHERE s.batch_id = v_batch_id;
|
||||
|
||||
Reference in New Issue
Block a user