<?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="KDH-708_backfill_dim_isrc:1"
         author="npatel"
         run-always="true"
         topic="cdc.snowflakeFacts.dim_isrc"
         snowflake-account="orchard"
     >
    <!--  Rerun. Total count: 42702239 -->
    
        <precondition>
            <sqlquery>
                <![CDATA[
                    with dim_tables as (
                        SELECT
                        i.isrcid AS ID,
                        COALESCE(i.isrcid, 0) AS ISRC_ID,
                        COALESCE(i.isrc, '') AS ISRC,
                        COALESCE(i.isrcname, '') AS ISRC_NAME,
                        COALESCE(t.trackid, 0) AS TRACK_ID,
                        COALESCE(t.trackname, '') AS TRACK_NAME,
                        COALESCE(i.track_id_uniq, 0) AS TRACK_UNIQUE_ID,
                        COALESCE(i.upc, 0) AS UPC,
                        COALESCE(r.releaseid, 0) AS RELEASE_ID,
                        COALESCE(r.catalogid, 0) AS CATALOG_ID,
                        COALESCE(a.artistid, 0) AS ARTIST_ID,
                        COALESCE(sa.id, 0) AS SUBACCOUNT_ID,
                        COALESCE(sa.name, '') AS SUBACCOUNT_NAME,
                        i.labelid AS VENDOR_ID,
                        COALESCE(v.name, '') AS VENDOR_NAME,
                        COALESCE(r.releasename, '') AS RELEASE_NAME,
                        COALESCE(r.imprint, '') AS IMPRINT,
                        COALESCE(i.vendor_catalog_number, '') AS VENDOR_CATALOG_NUMBER,
                        COALESCE(a.artistname, '') AS ARTIST_NAME,
                        COALESCE(t.track_type, '') AS TRACK_TYPE,
                        v.uuid AS VENDOR_UUID,
                        IFF(sa.id IS NOT NULL AND sa.id != 0, sa.UUID, NULL) AS SUBACCOUNT_UUID,
                        cbhv.COMPANY_BRAND_UUID AS COMPANY_BRAND_UUID,
                        cbpc.PARENT_COMPANY_UUID AS PARENT_COMPANY_UUID
                      FROM FACTS.QA.DIM_ISRC i
                      INNER JOIN FACTS.QA.DIM_TRACK t ON t.isrcid = i.isrcid
                      INNER JOIN FACTS.QA.DIM_RELEASE r ON t.upc = r.releaseid
                      INNER JOIN FACTS.QA.DIM_ARTIST a ON a.artistid = r.artistid
                      INNER JOIN FACTS.QA.VENDOR v ON v.vendor_id = i.labelid
                      LEFT JOIN FACTS.QA.SUBACCOUNT sa ON sa.id = r.subaccountid
                      LEFT JOIN FACTS.QA.COMPANY_BRAND_HAS_LABEL_VENDOR cbhv ON v.VENDOR_ID = cbhv.VENDOR_ID
                      LEFT JOIN FACTS.QA.COMPANY_BRAND_BELONGS_TO_PARENT_COMPANY cbpc ON cbhv.COMPANY_BRAND_UUID = cbpc.COMPANY_BRAND_UUID
                      WHERE COALESCE(i.isrcname, '') != ''
                        AND i.cd <> 0
                        AND i.track_id <> 0
                    )
                    select
                        ID as KEY,
                        object_construct(
                              'artist_id', ARTIST_ID,
                              'artist_name', ARTIST_NAME,
                              'catalog_id', CATALOG_ID,
                              'imprint', IMPRINT,
                              'isrc', ISRC,
                              'isrc_id', ISRC_ID,
                              'isrc_name', ISRC_NAME, 
                              'release_id', RELEASE_ID,
                              'release_name', RELEASE_NAME,
                              'track_id', TRACK_ID,
                              'track_name', TRACK_NAME,
                              'track_type', TRACK_TYPE,
                              'track_unique_id', TRACK_UNIQUE_ID,
                              'vendor_catalog_number', VENDOR_CATALOG_NUMBER,
                              'vendor_id', VENDOR_ID,
                              'vendor_name', VENDOR_NAME,
                              'subaccount_id', SUBACCOUNT_ID,
                              'subaccount_name', SUBACCOUNT_NAME,
                              'upc', UPC,
                              'vendorUUID', VENDOR_UUID,
                              'subaccountUUID', SUBACCOUNT_UUID,
                              'companyBrandUUID', COMPANY_BRAND_UUID,
                              'parentCompanyUUID', PARENT_COMPANY_UUID
                        ) AS VALUE
                    from dim_tables
                ]]>
            </sqlquery>
        </precondition>
    </changeset>
    
</changelog>
