<?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="IN-10949_backfill_spotifyid_on_labelparticipants_via_track_artists:1"
     author="borisuvarov"
     run-always="true"
     topic="stream.storeAPIRequest.spotify.split">
        <precondition>
            <sqlquery>
                <![CDATA[
                    WITH backfill_data AS (
                        SELECT DISTINCT
                            t.isrc AS isrc,
                            lp.vendor_id AS vendor_id,
                            lp.subaccount_id AS subaccount_id
                        FROM FACTS.<SCHEMA_NAME>.ORCHARD_TRACK t
                        INNER JOIN FACTS.<SCHEMA_NAME>.LABEL_PARTICIPANT_PARTICIPATED_IN_ORCHARD_TRACK lp_pi_t
                            ON t.id = lp_pi_t.track_id
                        INNER JOIN FACTS.<SCHEMA_NAME>.LABEL_PARTICIPANT lp
                            ON lp_pi_t.label_participant_id = lp.id
                        WHERE lp_pi_t.participated_as IN ('performer', 'featuring', 'remixer')
                            AND lp.spotify_id IS NULL AND COALESCE(t.isrc, '') != ''
                        ORDER BY 1, 2, 3
                    )
                    SELECT
                        OBJECT_CONSTRUCT(
                            'api_request', OBJECT_CONSTRUCT(
                                'store', 'SPOTIFY',
                                'type', 'SEARCH_TRACK_BY_ISRC'
                            ),
                            'payload', OBJECT_CONSTRUCT(
                                'isrc', isrc,
                                'vendor_id', vendor_id,
                                'subaccount_id', subaccount_id
                            )
                        ) AS VALUE
                    FROM backfill_data;
                ]]>
            </sqlquery>
        </precondition>
    </changeset>
</changelog>
