<?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-140_backfill_assets_3:1"
     author="pdumoulin"
     run-always="true"
     topic="event.workflow.backfill.v2.assets">
        <precondition>
            <sqlquery>
                <![CDATA[
                    WITH v1_release_ids as (
                        SELECT
                            v.VENDOR_ID,
                            IFNULL(v.PRIORITY, 0) = 1 AS most_important,
                            IFNULL(v.LABEL_IDENTIFIER, '') = 'Client Services' AS least_important,
                            r.RELEASE_ID AS product_id,
                            count(DISTINCT(au.TRACK_UNIQUE_ID)) AS num_v2_tracks,
                            count(DISTINCT(tr.ID)) AS num_tracks,
                            (num_v2_tracks / num_tracks) * 100 AS percent_v2,
                            (count(DISTINCT(reg.TUID)) / count(DISTINCT(tr.ID))) * 100 AS percent_claimed
                        FROM ORCHARD_APP_REPORTING_V2.ART_RELATIONS_PROD_ART_RELATIONS.VENDOR AS v
                        JOIN ORCHARD_APP_REPORTING_V2.ART_RELATIONS_PROD_ART_RELATIONS.PROJECT AS pj
                            ON pj.VENDOR_ID = v.VENDOR_ID
                        JOIN ORCHARD_APP_REPORTING_V2.ART_RELATIONS_PROD_ART_RELATIONS.RELEASES AS r
                            ON r.PROJECT_ID = pj.PROJECT_ID
                        JOIN ORCHARD_APP_REPORTING_V2.ART_RELATIONS_PROD_ART_RELATIONS.TRACK AS tr
                            ON tr.RELEASE_ID = r.RELEASE_ID
                            AND r.RELEASE_STATUS = 'in_content'
                            AND r.NOT_FOR_DISTRIBUTION = 'N'
                        LEFT JOIN ORCHARD_APP_REPORTING_V2.PROD_OWS01_OWS_ASSETS.ASSET_UPLOAD AS au
                            ON au.TRACK_UNIQUE_ID = tr.ID
                            AND au.API_VERSION = 2
                            AND au.IS_CORRECTION = 0
                            AND au.DELETED = 0
                        LEFT JOIN facts.prod.REGISTRY AS reg
                            ON reg.TUID = tr.ID
                        GROUP BY 1, 2, 3, 4
                        HAVING num_v2_tracks = 0
                        ORDER BY
                            least_important DESC,
                            most_important ASC,
                            percent_claimed DESC
                        LIMIT 500
                    )
                    SELECT
                        CONCAT('releaseId:', v1_release_ids.product_id) AS KEY,
                        OBJECT_CONSTRUCT('product_id', TO_VARCHAR(v1_release_ids.product_id)) AS VALUE
                    FROM v1_release_ids
                ]]>
            </sqlquery>
        </precondition>
    </changeset>
</changelog>
