<?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="ARTARCH_491_version_bis:1" author="gaguirre" run-on-change="true">
        <query>
            CALL apoc.log.info("Starting run of gsr ingest at %s", [datetime()]);
        </query>
        <query>
            <![CDATA[
                CALL apoc.periodic.iterate(
                    "
                        MATCH (lsr:LabelSoundRecording:Orchard)<-[:REPRESENTS]-(gsr:GlobalSoundRecording)
                        WHERE NOT (gsr)-[:REPRESENTS]->(:PublicSoundRecording)
                        RETURN lsr, gsr
                    ",
                    "
                        WITH lsr, gsr
                        ORDER BY lsr.modifiedAt DESC
                        WITH gsr, HEAD(COLLECT(lsr)) AS labelSoundRecording
                        SET
                            gsr.name =
                                CASE WHEN COALESCE(labelSoundRecording.version, '') <> ''
                                    THEN gsr.name + ' - ' + labelSoundRecording.version
                                    ELSE gsr.name
                                END,
                            gsr.modifiedAt = datetime()
                    ",
                    {batchSize:1000, iterateList:true, parallel:true}
                );
            ]]>
        </query>
        <query>
            CALL apoc.log.info("Finished gsr ingest at %s", [datetime()]);
        </query>
    </changeset>
</changelog>
