<?xml version="1.0" encoding="UTF-8"?>
<changelog xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="file:/var/app/InputFileSchema.xsd">
    <changeset id="SR-1115:1" author="nlittmann" run-always="true">
        <precondition>
            <sqlquery>
                <![CDATA[
                    WITH filtered AS (
                        SELECT
                            RECORD_METADATA:"headers"."neo4j.source.cdc.tx-id"::STRING AS tx_id,
                            RECORD_CONTENT:"event"."start"."keys"."Track"[0]."id"."I64"::NUMBER AS track_id,
                            RECORD_CONTENT:"event"."operation"::STRING AS operation
                        FROM FACTS.PROD.CDC__MUSIC_GRAPH_V5__HAS_FINGERPRINT_RULE
                        WHERE TO_TIMESTAMP_NTZ(RECORD_METADATA:"CreateTime"::NUMBER / 1000) > '2025-12-02'
                    ),
                    all_delete_txs AS (
                        SELECT tx_id
                        FROM filtered
                        GROUP BY tx_id
                        HAVING COUNT_IF(operation != 'DELETE') = 0
                    ),
                    deleted_tracks AS (
                        SELECT DISTINCT f.track_id
                        FROM filtered f
                        JOIN all_delete_txs d ON f.tx_id = d.tx_id
                    )
                    SELECT DISTINCT cf.ORCHARD_SOUND_RECORDING_ID
                    FROM deleted_tracks dt
                    JOIN FACTS.PROD.HAS_ASSET ha ON ha.ORCHARD_TRACK_ID = dt.track_id::VARCHAR
                    JOIN FACTS.PROD.FINGERPRINTED_AS fa ON fa.ORCHARD_ASSET_ID = ha.ORCHARD_ASSET_ID
                    JOIN FACTS.PROD.CONTAINS_FINGERPRINT cf ON cf.ACRID_ID = fa.ACRID_ID
               ]]>
            </sqlquery>
        </precondition>
        <cypherquery>
            <![CDATA[
                MATCH(osr:OrchardSoundRecording)
                WHERE osr.id = event.ORCHARD_SOUND_RECORDING_ID
                SET
                    osr.touchedByBackfillAt = datetime()
            ]]>
        </cypherquery>
    </changeset>
</changelog>
