<?xml version="1.0" encoding="UTF-8"?>
<changelog xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://www.liquigraph.org/schema/1.0/liquigraph.xsd">
    <changeset id="DATA-8495_uppercase_isrc_gsr:1" author="veixar">
        <query>
            <![CDATA[
                CALL apoc.periodic.iterate(
                    "
                        MATCH (gsr:GlobalSoundRecording)
                        WHERE gsr.isrc <> toUpper(gsr.isrc)
                        MATCH (dup:GlobalSoundRecording {isrc: toUpper(gsr.isrc)})
                        RETURN gsr, dup
                    ",
                    "
                        MATCH (gsr)-[r]->(n)
                        CALL apoc.refactor.from(r, dup)
                        YIELD input, output
                        RETURN input, output
                    ",
                    {batchSize:1000, iterateList:true, parallel:false}
                );
            ]]>
        </query>
    </changeset>
    <changeset id="DATA-8495_uppercase_isrc_gsr:2" author="veixar">
        <query>
            <![CDATA[
                CALL apoc.periodic.iterate(
                    "
                        MATCH (gsr:GlobalSoundRecording)
                        WHERE gsr.isrc <> toUpper(gsr.isrc)
                        MATCH (dup:GlobalSoundRecording {isrc: toUpper(gsr.isrc)})
                        RETURN gsr, dup
                    ",
                    "
                        MATCH (gsr)<-[r]-(n)
                        CALL apoc.refactor.to(r, dup)
                        YIELD input, output
                        RETURN input, output
                    ",
                    {batchSize:1000, iterateList:true, parallel:false}
                );
            ]]>
        </query>
    </changeset>
    <changeset id="DATA-8495_uppercase_isrc_gsr:3" author="veixar">
        <query>
            <![CDATA[
                CALL apoc.periodic.iterate(
                    "
                        MATCH (gsr:GlobalSoundRecording)
                        WHERE gsr.isrc <> toUpper(gsr.isrc)
                        MATCH (dup:GlobalSoundRecording {isrc: toUpper(gsr.isrc)})
                        RETURN gsr, dup
                    ",
                    "
                        DELETE gsr
                    ",
                    {batchSize:1000, iterateList:true, parallel:false}
                );
            ]]>
        </query>
    </changeset>
    <changeset id="DATA-8495_uppercase_isrc_gsr:4" author="veixar">
        <query>
            <![CDATA[
                CALL apoc.periodic.iterate(
                    "
                        MATCH (gsr:GlobalSoundRecording)
                        WHERE gsr.isrc <> toUpper(gsr.isrc)
                        RETURN gsr
                    ",
                    "
                        SET
                            gsr.isrc = toUpper(gsr.isrc),
                            gsr.modifiedAt = datetime()
                    ",
                    {batchSize:1000, iterateList:true, parallel:false}
                );
            ]]>
        </query>
    </changeset>
</changelog>
