Улучшения комментариев
This commit is contained in:
@@ -20,7 +20,7 @@ SELECT
|
||||
'{{ run_id }}'::text
|
||||
FROM stg.airplanes_ext AS ext
|
||||
WHERE NOT EXISTS (
|
||||
-- Защита от дублей в рамках одного batch_id
|
||||
-- Идемпотентность: при повторном запуске/ретрае не вставляем повторно те же строки в рамках текущего batch_id.
|
||||
SELECT 1
|
||||
FROM stg.airplanes AS a
|
||||
WHERE a.batch_id = '{{ run_id }}'::text
|
||||
|
||||
@@ -24,7 +24,7 @@ SELECT
|
||||
'{{ run_id }}'::text
|
||||
FROM stg.airports_ext AS ext
|
||||
WHERE NOT EXISTS (
|
||||
-- Защита от дублей в рамках одного batch_id
|
||||
-- Идемпотентность: при повторном запуске/ретрае не вставляем повторно те же строки в рамках текущего batch_id.
|
||||
SELECT 1
|
||||
FROM stg.airports AS a
|
||||
WHERE a.batch_id = '{{ run_id }}'::text
|
||||
|
||||
@@ -23,7 +23,8 @@ SELECT
|
||||
'{{ run_id }}'::text
|
||||
FROM stg.boarding_passes_ext AS ext
|
||||
WHERE NOT EXISTS (
|
||||
-- Защита от дублей в рамках одного batch_id
|
||||
-- Идемпотентность: при повторном запуске/ретрае не вставляем повторно те же строки в рамках текущего batch_id.
|
||||
-- Считаем ключом строки (ticket_no, flight_id).
|
||||
SELECT 1
|
||||
FROM stg.boarding_passes AS bp
|
||||
WHERE bp.batch_id = '{{ run_id }}'::text
|
||||
|
||||
@@ -29,6 +29,7 @@ FROM stg.bookings_ext AS ext
|
||||
CROSS JOIN max_batch_ts AS mb
|
||||
WHERE ext.book_date > mb.max_ts
|
||||
AND NOT EXISTS (
|
||||
-- Идемпотентность: при повторном запуске/ретрае не вставляем повторно те же строки в рамках текущего batch_id.
|
||||
SELECT 1
|
||||
FROM stg.bookings AS b
|
||||
WHERE b.batch_id = '{{ run_id }}'::text
|
||||
|
||||
@@ -37,6 +37,7 @@ FROM stg.flights_ext AS ext
|
||||
CROSS JOIN max_batch_ts AS mb
|
||||
WHERE ext.scheduled_departure > mb.max_ts
|
||||
AND NOT EXISTS (
|
||||
-- Идемпотентность: при повторном запуске/ретрае не вставляем повторно те же строки в рамках текущего batch_id.
|
||||
SELECT 1
|
||||
FROM stg.flights AS f
|
||||
WHERE f.batch_id = '{{ run_id }}'::text
|
||||
|
||||
@@ -28,7 +28,8 @@ SELECT
|
||||
'{{ run_id }}'::text
|
||||
FROM stg.routes_ext AS ext
|
||||
WHERE NOT EXISTS (
|
||||
-- Защита от дублей в рамках одного batch_id по составному ключу (route_no, validity)
|
||||
-- Идемпотентность: при повторном запуске/ретрае не вставляем повторно те же строки в рамках текущего batch_id.
|
||||
-- Считаем ключом строки (route_no, validity).
|
||||
SELECT 1
|
||||
FROM stg.routes AS r
|
||||
WHERE r.batch_id = '{{ run_id }}'::text
|
||||
|
||||
@@ -18,7 +18,8 @@ SELECT
|
||||
'{{ run_id }}'::text
|
||||
FROM stg.seats_ext AS ext
|
||||
WHERE NOT EXISTS (
|
||||
-- Защита от дублей в рамках одного batch_id по составному ключу (airplane_code, seat_no)
|
||||
-- Идемпотентность: при повторном запуске/ретрае не вставляем повторно те же строки в рамках текущего batch_id.
|
||||
-- Считаем ключом строки (airplane_code, seat_no).
|
||||
SELECT 1
|
||||
FROM stg.seats AS s
|
||||
WHERE s.batch_id = '{{ run_id }}'::text
|
||||
|
||||
@@ -32,7 +32,8 @@ JOIN stg.bookings_ext AS b ON t.book_ref = b.book_ref
|
||||
CROSS JOIN max_batch_ts AS mb
|
||||
WHERE b.book_date > mb.max_ts
|
||||
AND NOT EXISTS (
|
||||
-- Защита от дублей в рамках одного batch_id
|
||||
-- Идемпотентность: при повторном запуске/ретрае не вставляем повторно те же строки в рамках текущего batch_id.
|
||||
-- Считаем ключом строки (ticket_no, flight_id).
|
||||
SELECT 1
|
||||
FROM stg.segments AS s
|
||||
WHERE s.batch_id = '{{ run_id }}'::text
|
||||
|
||||
@@ -32,7 +32,7 @@ JOIN stg.bookings_ext AS b ON ext.book_ref = b.book_ref
|
||||
CROSS JOIN max_batch_ts AS mb
|
||||
WHERE b.book_date > mb.max_ts
|
||||
AND NOT EXISTS (
|
||||
-- Защита от дублей: ticket_no в источнике уникален, и в stg его не дублируем.
|
||||
-- Идемпотентность: ticket_no — бизнес-ключ билета, не вставляем его повторно (включая ретраи/повторные запуски DAG).
|
||||
SELECT 1
|
||||
FROM stg.tickets AS t
|
||||
WHERE t.ticket_no = ext.ticket_no
|
||||
|
||||
Reference in New Issue
Block a user