<?xml version="1.0" encoding="UTF-8"?>
<changelog xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="https://www.liquigraph.org/schema/1.0/liquigraph.xsd">
    <changeset id="DISTRO-4707_canonical_metadata_copy_resolved_conflicts_2:1" author="pdumoulin" run-on-change="true">
        
        <query>
            <![CDATA[
                CALL apoc.periodic.iterate(
                     "
                        WITH 'snowflake_orchard' AS url_alias,
                        '
                            SELECT
                                mp.ACR_ID,
                                mp.TUID,
                                mp.ISRC
                            FROM facts.qa.SOUND_RECORDING_TRACK_MAPPING AS mp
                            JOIN (
                                SELECT
                                    ISRC,
                                    count(DISTINCT(ACR_ID)) AS c
                                FROM facts.qa.SOUND_RECORDING_TRACK_MAPPING
                                GROUP BY ISRC
                                HAVING c > 1
                            ) AS g
                            ON g.ISRC = mp.ISRC
                            ORDER BY mp.TUID ASC
                            LIMIT 100000
                            OFFSET 0
                        '
                        AS sql
                        CALL apoc.load.jdbc(url_alias, sql)
                        YIELD row
                        RETURN row AS row
                    ",
                    "
                        OPTIONAL MATCH (x:OrchardSoundRecording)
                        WHERE x.isrc = row.ISRC
                        WITH *,count(x) = 0 AS isrc_available
                        CALL apoc.do.when(
                            isrc_available,
                            '
                                MATCH (acrId:ACRID)<-[acrIdToOsr:CONTAINS_FINGERPRINT]-(osr:OrchardSoundRecording)
                                WHERE acrId.id = row.ACR_ID
                                SET
                                    osr.isrc = row.ISRC,
                                    osr.primaryTrackId = row.TUID,
                                    osr.lastModifiedAt = datetime()
                            ',
                            '',
                            {
                                row: row
                            }
                        )
                        YIELD value
                        RETURN value
                    ",
                    {
                        batchSize: 1
                    }
                )
            ]]>
        </query>

        <query>
            <![CDATA[
                CALL apoc.periodic.iterate(
                     "
                        WITH 'snowflake_orchard' AS url_alias,
                        '
                            SELECT
                                mp.ACR_ID,
                                mp.TUID,
                                mp.ISRC
                            FROM facts.qa.SOUND_RECORDING_TRACK_MAPPING AS mp
                            JOIN (
                                SELECT
                                    ISRC,
                                    count(DISTINCT(ACR_ID)) AS c
                                FROM facts.qa.SOUND_RECORDING_TRACK_MAPPING
                                GROUP BY ISRC
                                HAVING c > 1
                            ) AS g
                            ON g.ISRC = mp.ISRC
                            ORDER BY mp.TUID ASC
                            LIMIT 100000
                            OFFSET 100000
                        '
                        AS sql
                        CALL apoc.load.jdbc(url_alias, sql)
                        YIELD row
                        RETURN row AS row
                    ",
                    "
                        OPTIONAL MATCH (x:OrchardSoundRecording)
                        WHERE x.isrc = row.ISRC
                        WITH *,count(x) = 0 AS isrc_available
                        CALL apoc.do.when(
                            isrc_available,
                            '
                                MATCH (acrId:ACRID)<-[acrIdToOsr:CONTAINS_FINGERPRINT]-(osr:OrchardSoundRecording)
                                WHERE acrId.id = row.ACR_ID
                                SET
                                    osr.isrc = row.ISRC,
                                    osr.primaryTrackId = row.TUID,
                                    osr.lastModifiedAt = datetime()
                            ',
                            '',
                            {
                                row: row
                            }
                        )
                        YIELD value
                        RETURN value
                    ",
                    {
                        batchSize: 1
                    }
                )
            ]]>
        </query>

        <query>
            <![CDATA[
                CALL apoc.periodic.iterate(
                     "
                        WITH 'snowflake_orchard' AS url_alias,
                        '
                            SELECT
                                mp.ACR_ID,
                                mp.TUID,
                                mp.ISRC
                            FROM facts.qa.SOUND_RECORDING_TRACK_MAPPING AS mp
                            JOIN (
                                SELECT
                                    ISRC,
                                    count(DISTINCT(ACR_ID)) AS c
                                FROM facts.qa.SOUND_RECORDING_TRACK_MAPPING
                                GROUP BY ISRC
                                HAVING c > 1
                            ) AS g
                            ON g.ISRC = mp.ISRC
                            ORDER BY mp.TUID ASC
                            LIMIT 100000
                            OFFSET 200000
                        '
                        AS sql
                        CALL apoc.load.jdbc(url_alias, sql)
                        YIELD row
                        RETURN row AS row
                    ",
                    "
                        OPTIONAL MATCH (x:OrchardSoundRecording)
                        WHERE x.isrc = row.ISRC
                        WITH *,count(x) = 0 AS isrc_available
                        CALL apoc.do.when(
                            isrc_available,
                            '
                                MATCH (acrId:ACRID)<-[acrIdToOsr:CONTAINS_FINGERPRINT]-(osr:OrchardSoundRecording)
                                WHERE acrId.id = row.ACR_ID
                                SET
                                    osr.isrc = row.ISRC,
                                    osr.primaryTrackId = row.TUID,
                                    osr.lastModifiedAt = datetime()
                            ',
                            '',
                            {
                                row: row
                            }
                        )
                        YIELD value
                        RETURN value
                    ",
                    {
                        batchSize: 1
                    }
                )
            ]]>
        </query>

        <query>
            <![CDATA[
                CALL apoc.periodic.iterate(
                     "
                        WITH 'snowflake_orchard' AS url_alias,
                        '
                            SELECT
                                mp.ACR_ID,
                                mp.TUID,
                                mp.ISRC
                            FROM facts.qa.SOUND_RECORDING_TRACK_MAPPING AS mp
                            JOIN (
                                SELECT
                                    ISRC,
                                    count(DISTINCT(ACR_ID)) AS c
                                FROM facts.qa.SOUND_RECORDING_TRACK_MAPPING
                                GROUP BY ISRC
                                HAVING c > 1
                            ) AS g
                            ON g.ISRC = mp.ISRC
                            ORDER BY mp.TUID ASC
                            LIMIT 100000
                            OFFSET 300000
                        '
                        AS sql
                        CALL apoc.load.jdbc(url_alias, sql)
                        YIELD row
                        RETURN row AS row
                    ",
                    "
                        OPTIONAL MATCH (x:OrchardSoundRecording)
                        WHERE x.isrc = row.ISRC
                        WITH *,count(x) = 0 AS isrc_available
                        CALL apoc.do.when(
                            isrc_available,
                            '
                                MATCH (acrId:ACRID)<-[acrIdToOsr:CONTAINS_FINGERPRINT]-(osr:OrchardSoundRecording)
                                WHERE acrId.id = row.ACR_ID
                                SET
                                    osr.isrc = row.ISRC,
                                    osr.primaryTrackId = row.TUID,
                                    osr.lastModifiedAt = datetime()
                            ',
                            '',
                            {
                                row: row
                            }
                        )
                        YIELD value
                        RETURN value
                    ",
                    {
                        batchSize: 1
                    }
                )
            ]]>
        </query>

        <query>
            <![CDATA[
                CALL apoc.periodic.iterate(
                     "
                        WITH 'snowflake_orchard' AS url_alias,
                        '
                            SELECT
                                mp.ACR_ID,
                                mp.TUID,
                                mp.ISRC
                            FROM facts.qa.SOUND_RECORDING_TRACK_MAPPING AS mp
                            JOIN (
                                SELECT
                                    ISRC,
                                    count(DISTINCT(ACR_ID)) AS c
                                FROM facts.qa.SOUND_RECORDING_TRACK_MAPPING
                                GROUP BY ISRC
                                HAVING c > 1
                            ) AS g
                            ON g.ISRC = mp.ISRC
                            ORDER BY mp.TUID ASC
                            LIMIT 100000
                            OFFSET 400000
                        '
                        AS sql
                        CALL apoc.load.jdbc(url_alias, sql)
                        YIELD row
                        RETURN row AS row
                    ",
                    "
                        OPTIONAL MATCH (x:OrchardSoundRecording)
                        WHERE x.isrc = row.ISRC
                        WITH *,count(x) = 0 AS isrc_available
                        CALL apoc.do.when(
                            isrc_available,
                            '
                                MATCH (acrId:ACRID)<-[acrIdToOsr:CONTAINS_FINGERPRINT]-(osr:OrchardSoundRecording)
                                WHERE acrId.id = row.ACR_ID
                                SET
                                    osr.isrc = row.ISRC,
                                    osr.primaryTrackId = row.TUID,
                                    osr.lastModifiedAt = datetime()
                            ',
                            '',
                            {
                                row: row
                            }
                        )
                        YIELD value
                        RETURN value
                    ",
                    {
                        batchSize: 1
                    }
                )
            ]]>
        </query>

        <query>
            <![CDATA[
                CALL apoc.periodic.iterate(
                     "
                        WITH 'snowflake_orchard' AS url_alias,
                        '
                            SELECT
                                mp.ACR_ID,
                                mp.TUID,
                                mp.ISRC
                            FROM facts.qa.SOUND_RECORDING_TRACK_MAPPING AS mp
                            JOIN (
                                SELECT
                                    ISRC,
                                    count(DISTINCT(ACR_ID)) AS c
                                FROM facts.qa.SOUND_RECORDING_TRACK_MAPPING
                                GROUP BY ISRC
                                HAVING c > 1
                            ) AS g
                            ON g.ISRC = mp.ISRC
                            ORDER BY mp.TUID ASC
                            LIMIT 100000
                            OFFSET 500000
                        '
                        AS sql
                        CALL apoc.load.jdbc(url_alias, sql)
                        YIELD row
                        RETURN row AS row
                    ",
                    "
                        OPTIONAL MATCH (x:OrchardSoundRecording)
                        WHERE x.isrc = row.ISRC
                        WITH *,count(x) = 0 AS isrc_available
                        CALL apoc.do.when(
                            isrc_available,
                            '
                                MATCH (acrId:ACRID)<-[acrIdToOsr:CONTAINS_FINGERPRINT]-(osr:OrchardSoundRecording)
                                WHERE acrId.id = row.ACR_ID
                                SET
                                    osr.isrc = row.ISRC,
                                    osr.primaryTrackId = row.TUID,
                                    osr.lastModifiedAt = datetime()
                            ',
                            '',
                            {
                                row: row
                            }
                        )
                        YIELD value
                        RETURN value
                    ",
                    {
                        batchSize: 1
                    }
                )
            ]]>
        </query>

        <query>
            <![CDATA[
                CALL apoc.periodic.iterate(
                     "
                        WITH 'snowflake_orchard' AS url_alias,
                        '
                            SELECT
                                mp.ACR_ID,
                                mp.TUID,
                                mp.ISRC
                            FROM facts.qa.SOUND_RECORDING_TRACK_MAPPING AS mp
                            JOIN (
                                SELECT
                                    ISRC,
                                    count(DISTINCT(ACR_ID)) AS c
                                FROM facts.qa.SOUND_RECORDING_TRACK_MAPPING
                                GROUP BY ISRC
                                HAVING c > 1
                            ) AS g
                            ON g.ISRC = mp.ISRC
                            ORDER BY mp.TUID ASC
                            LIMIT 100000
                            OFFSET 600000
                        '
                        AS sql
                        CALL apoc.load.jdbc(url_alias, sql)
                        YIELD row
                        RETURN row AS row
                    ",
                    "
                        OPTIONAL MATCH (x:OrchardSoundRecording)
                        WHERE x.isrc = row.ISRC
                        WITH *,count(x) = 0 AS isrc_available
                        CALL apoc.do.when(
                            isrc_available,
                            '
                                MATCH (acrId:ACRID)<-[acrIdToOsr:CONTAINS_FINGERPRINT]-(osr:OrchardSoundRecording)
                                WHERE acrId.id = row.ACR_ID
                                SET
                                    osr.isrc = row.ISRC,
                                    osr.primaryTrackId = row.TUID,
                                    osr.lastModifiedAt = datetime()
                            ',
                            '',
                            {
                                row: row
                            }
                        )
                        YIELD value
                        RETURN value
                    ",
                    {
                        batchSize: 1
                    }
                )
            ]]>
        </query>

        <query>
            <![CDATA[
                CALL apoc.periodic.iterate(
                     "
                        WITH 'snowflake_orchard' AS url_alias,
                        '
                            SELECT
                                mp.ACR_ID,
                                mp.TUID,
                                mp.ISRC
                            FROM facts.qa.SOUND_RECORDING_TRACK_MAPPING AS mp
                            JOIN (
                                SELECT
                                    ISRC,
                                    count(DISTINCT(ACR_ID)) AS c
                                FROM facts.qa.SOUND_RECORDING_TRACK_MAPPING
                                GROUP BY ISRC
                                HAVING c > 1
                            ) AS g
                            ON g.ISRC = mp.ISRC
                            ORDER BY mp.TUID ASC
                            LIMIT 100000
                            OFFSET 700000
                        '
                        AS sql
                        CALL apoc.load.jdbc(url_alias, sql)
                        YIELD row
                        RETURN row AS row
                    ",
                    "
                        OPTIONAL MATCH (x:OrchardSoundRecording)
                        WHERE x.isrc = row.ISRC
                        WITH *,count(x) = 0 AS isrc_available
                        CALL apoc.do.when(
                            isrc_available,
                            '
                                MATCH (acrId:ACRID)<-[acrIdToOsr:CONTAINS_FINGERPRINT]-(osr:OrchardSoundRecording)
                                WHERE acrId.id = row.ACR_ID
                                SET
                                    osr.isrc = row.ISRC,
                                    osr.primaryTrackId = row.TUID,
                                    osr.lastModifiedAt = datetime()
                            ',
                            '',
                            {
                                row: row
                            }
                        )
                        YIELD value
                        RETURN value
                    ",
                    {
                        batchSize: 1
                    }
                )
            ]]>
        </query>

        <query>
            <![CDATA[
                CALL apoc.periodic.iterate(
                     "
                        WITH 'snowflake_orchard' AS url_alias,
                        '
                            SELECT
                                mp.ACR_ID,
                                mp.TUID,
                                mp.ISRC
                            FROM facts.qa.SOUND_RECORDING_TRACK_MAPPING AS mp
                            JOIN (
                                SELECT
                                    ISRC,
                                    count(DISTINCT(ACR_ID)) AS c
                                FROM facts.qa.SOUND_RECORDING_TRACK_MAPPING
                                GROUP BY ISRC
                                HAVING c > 1
                            ) AS g
                            ON g.ISRC = mp.ISRC
                            ORDER BY mp.TUID ASC
                            LIMIT 100000
                            OFFSET 800000
                        '
                        AS sql
                        CALL apoc.load.jdbc(url_alias, sql)
                        YIELD row
                        RETURN row AS row
                    ",
                    "
                        OPTIONAL MATCH (x:OrchardSoundRecording)
                        WHERE x.isrc = row.ISRC
                        WITH *,count(x) = 0 AS isrc_available
                        CALL apoc.do.when(
                            isrc_available,
                            '
                                MATCH (acrId:ACRID)<-[acrIdToOsr:CONTAINS_FINGERPRINT]-(osr:OrchardSoundRecording)
                                WHERE acrId.id = row.ACR_ID
                                SET
                                    osr.isrc = row.ISRC,
                                    osr.primaryTrackId = row.TUID,
                                    osr.lastModifiedAt = datetime()
                            ',
                            '',
                            {
                                row: row
                            }
                        )
                        YIELD value
                        RETURN value
                    ",
                    {
                        batchSize: 1
                    }
                )
            ]]>
        </query>

        <query>
            <![CDATA[
                CALL apoc.periodic.iterate(
                     "
                        WITH 'snowflake_orchard' AS url_alias,
                        '
                            SELECT
                                mp.ACR_ID,
                                mp.TUID,
                                mp.ISRC
                            FROM facts.qa.SOUND_RECORDING_TRACK_MAPPING AS mp
                            JOIN (
                                SELECT
                                    ISRC,
                                    count(DISTINCT(ACR_ID)) AS c
                                FROM facts.qa.SOUND_RECORDING_TRACK_MAPPING
                                GROUP BY ISRC
                                HAVING c > 1
                            ) AS g
                            ON g.ISRC = mp.ISRC
                            ORDER BY mp.TUID ASC
                            LIMIT 100000
                            OFFSET 900000
                        '
                        AS sql
                        CALL apoc.load.jdbc(url_alias, sql)
                        YIELD row
                        RETURN row AS row
                    ",
                    "
                        OPTIONAL MATCH (x:OrchardSoundRecording)
                        WHERE x.isrc = row.ISRC
                        WITH *,count(x) = 0 AS isrc_available
                        CALL apoc.do.when(
                            isrc_available,
                            '
                                MATCH (acrId:ACRID)<-[acrIdToOsr:CONTAINS_FINGERPRINT]-(osr:OrchardSoundRecording)
                                WHERE acrId.id = row.ACR_ID
                                SET
                                    osr.isrc = row.ISRC,
                                    osr.primaryTrackId = row.TUID,
                                    osr.lastModifiedAt = datetime()
                            ',
                            '',
                            {
                                row: row
                            }
                        )
                        YIELD value
                        RETURN value
                    ",
                    {
                        batchSize: 1
                    }
                )
            ]]>
        </query>

        <query>
            <![CDATA[
                CALL apoc.periodic.iterate(
                     "
                        WITH 'snowflake_orchard' AS url_alias,
                        '
                            SELECT
                                mp.ACR_ID,
                                mp.TUID,
                                mp.ISRC
                            FROM facts.qa.SOUND_RECORDING_TRACK_MAPPING AS mp
                            JOIN (
                                SELECT
                                    ISRC,
                                    count(DISTINCT(ACR_ID)) AS c
                                FROM facts.qa.SOUND_RECORDING_TRACK_MAPPING
                                GROUP BY ISRC
                                HAVING c > 1
                            ) AS g
                            ON g.ISRC = mp.ISRC
                            ORDER BY mp.TUID ASC
                            LIMIT 100000
                            OFFSET 1000000
                        '
                        AS sql
                        CALL apoc.load.jdbc(url_alias, sql)
                        YIELD row
                        RETURN row AS row
                    ",
                    "
                        OPTIONAL MATCH (x:OrchardSoundRecording)
                        WHERE x.isrc = row.ISRC
                        WITH *,count(x) = 0 AS isrc_available
                        CALL apoc.do.when(
                            isrc_available,
                            '
                                MATCH (acrId:ACRID)<-[acrIdToOsr:CONTAINS_FINGERPRINT]-(osr:OrchardSoundRecording)
                                WHERE acrId.id = row.ACR_ID
                                SET
                                    osr.isrc = row.ISRC,
                                    osr.primaryTrackId = row.TUID,
                                    osr.lastModifiedAt = datetime()
                            ',
                            '',
                            {
                                row: row
                            }
                        )
                        YIELD value
                        RETURN value
                    ",
                    {
                        batchSize: 1
                    }
                )
            ]]>
        </query>

        <query>
            <![CDATA[
                CALL apoc.periodic.iterate(
                     "
                        WITH 'snowflake_orchard' AS url_alias,
                        '
                            SELECT
                                mp.ACR_ID,
                                mp.TUID,
                                mp.ISRC
                            FROM facts.qa.SOUND_RECORDING_TRACK_MAPPING AS mp
                            JOIN (
                                SELECT
                                    ISRC,
                                    count(DISTINCT(ACR_ID)) AS c
                                FROM facts.qa.SOUND_RECORDING_TRACK_MAPPING
                                GROUP BY ISRC
                                HAVING c > 1
                            ) AS g
                            ON g.ISRC = mp.ISRC
                            ORDER BY mp.TUID ASC
                            LIMIT 100000
                            OFFSET 1100000
                        '
                        AS sql
                        CALL apoc.load.jdbc(url_alias, sql)
                        YIELD row
                        RETURN row AS row
                    ",
                    "
                        OPTIONAL MATCH (x:OrchardSoundRecording)
                        WHERE x.isrc = row.ISRC
                        WITH *,count(x) = 0 AS isrc_available
                        CALL apoc.do.when(
                            isrc_available,
                            '
                                MATCH (acrId:ACRID)<-[acrIdToOsr:CONTAINS_FINGERPRINT]-(osr:OrchardSoundRecording)
                                WHERE acrId.id = row.ACR_ID
                                SET
                                    osr.isrc = row.ISRC,
                                    osr.primaryTrackId = row.TUID,
                                    osr.lastModifiedAt = datetime()
                            ',
                            '',
                            {
                                row: row
                            }
                        )
                        YIELD value
                        RETURN value
                    ",
                    {
                        batchSize: 1
                    }
                )
            ]]>
        </query>

    </changeset>
</changelog>

