<?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-656_backfill_dim_release:1"
         author="npatel"
         run-always="true"
         topic="cdc.snowflakeFacts.dim_release"
         snowflake-account="orchard"
     >
    <!--  Rerun. Total count: 5775997 -->
    
        <precondition>
            <sqlquery>
                <![CDATA[
                    with dim_tables as (
                      SELECT
                        r.releaseid AS release_id,
                        COALESCE(r.product_id, 0) AS product_id,
                        c.catalogid AS catalog_id,
                        COALESCE(sa.id,0) AS subaccount_id,
                        r.labelid AS vendor_id,
                        COALESCE(r.releasename, '') AS release_name,
                        COALESCE(r.vendor_catalog_number, '') AS vendor_catalog_number,
                        COALESCE(r.imprint, '') AS imprint,
                        COALESCE(r.version, '') AS version,
                        COALESCE(r.format, '') AS format,
                        COALESCE(TO_VARCHAR(r.releasedate, 'YYYY-MM-DDThh:mi:ssZ'), '2000-01-01T00:00:00Z') AS release_date,
                        COALESCE(TO_VARCHAR(r.sale_start_date, 'YYYY-MM-DDThh:mi:ssZ'), '2000-01-01T00:00:00Z') AS sale_start_date,
                        COALESCE(r.product_code, '') AS product_code,
                        COALESCE(c.catalogname, '') AS catalog_name,
                        COALESCE(sa.name, '') AS subaccount_name,
                        COALESCE(v.name, '') AS vendor_name,
                        COALESCE(a.artistname, '') AS artist_name,
                        COALESCE(r.product_type, '') AS product_type,
                        r.product_type_id AS product_type_id,
                        COALESCE(r.display_upc, '') AS display_upc,
                        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_RELEASE r
                      INNER JOIN FACTS.QA.DIM_CATALOG c ON c.catalogid = r.catalogid
                      INNER JOIN FACTS.QA.VENDOR v ON r.labelid = v.vendor_id
                      LEFT JOIN FACTS.QA.SUBACCOUNT sa ON sa.id = r.subaccountid
                      LEFT JOIN FACTS.QA.COMPANY_BRAND_HAS_LABEL_VENDOR as cbhv ON v.VENDOR_ID = cbhv.VENDOR_ID
                      LEFT JOIN FACTS.QA.COMPANY_BRAND_BELONGS_TO_PARENT_COMPANY as cbpc ON cbhv.COMPANY_BRAND_UUID = cbpc.COMPANY_BRAND_UUID
                      INNER JOIN orchard_app_reporting_v2.art_relations_prod_art_relations.releases arr on arr.upc = r.releaseid
                      LEFT JOIN FACTS.QA.DIM_ARTIST a ON a.artistid = r.artistid
                      WHERE arr.release_status = 'in_content'
                      AND COALESCE(c.catalogname, '') != ''
                    )
                      select
                          release_id as KEY,
                         object_construct(
                              'artist_name', artist_name,
                              'catalog_id', catalog_id,
                              'catalog_name', catalog_name,
                              'display_upc', display_upc,
                              'format', format,
                              'imprint', imprint,
                              'vendor_id', vendor_id,
                              'vendor_name', vendor_name,
                              'product_code', product_code,
                              'product_id', product_id,
                              'product_type', product_type,
                              'product_type_id', product_type_id,
                              'release_date', release_date,
                              'release_id', release_id,
                              'release_name', release_name,
                              'sale_start_date', sale_start_date,
                              'subaccount_id', subaccount_id,
                              'subaccount_name', subaccount_name,
                              'vendor_catalog_number', vendor_catalog_number,
                              'version', version,
                              'vendorUUID', VENDOR_UUID,
                              'subaccountUUID', SUBACCOUNT_UUID,
                              'companyBrandUUID', COMPANY_BRAND_UUID,
                              'parentCompanyUUID', PARENT_COMPANY_UUID
                          ) AS VALUE
                    from dim_tables
                ]]>
            </sqlquery>
        </precondition>
    </changeset>
    
</changelog>
