<?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="kafka_streams_import_queries:art_relations.artist_info.on_insert" author="ssavva" run-on-change="true">
        <query>
            WITH "
                MERGE (v:Vendor {id: toInteger(vendor_id)})
                MERGE (ai:ArtistInfo {id: toInteger(artist_id)})
                  ON CREATE SET ai.name = name, ai.vendorId = toInteger(vendor_id)
                  ON MATCH SET ai.name = name, ai.vendorId = toInteger(vendor_id)
                MERGE (v)-[:HAS_ARTIST]->(ai)
            " AS query
            MERGE (q:KafkaImportQuery {
                database: 'art_relations',
                table: 'artist_info',
                type: 'insert'})
            ON CREATE SET q.query = query
            ON MATCH SET q.query = query
        </query>
    </changeset>
    <changeset id="kafka_streams_import_queries:art_relations.artist_info.on_update" author="ssavva" run-on-change="true">
        <query>
            WITH "
                MERGE (v:Vendor {id: toInteger(vendor_id)})
                MERGE (ai:ArtistInfo {id: toInteger(artist_id)})
                  ON CREATE SET ai.name = name, ai.vendorId = toInteger(vendor_id)
                  ON MATCH SET ai.name = name, ai.vendorId = toInteger(vendor_id)
                MERGE (v)-[:HAS_ARTIST]->(ai)
            " AS query
            MERGE (q:KafkaImportQuery {
                database: 'art_relations',
                table: 'artist_info',
                type: 'update'})
            ON CREATE SET q.query = query
            ON MATCH SET q.query = query
        </query>
    </changeset>
    <changeset id="kafka_streams_import_queries:art_relations.project.on_insert" author="ssavva" run-on-change="true">
        <query>
            MATCH (q:KafkaImportQuery {
                database: 'art_relations',
                table: 'project',
                type: 'insert'})
            DELETE q
        </query>
    </changeset>
    <changeset id="kafka_streams_import_queries:art_relations.project.on_update" author="ssavva" run-on-change="true">
        <query>
            MATCH (q:KafkaImportQuery {
                database: 'art_relations',
                table: 'project',
                type: 'update'})
            DELETE q
        </query>
    </changeset>
    <changeset id="kafka_streams_import_queries:art_relations.releases.on_insert" author="ssavva" run-on-change="true">
        <query>
            MATCH (q:KafkaImportQuery {
                database: 'art_relations',
                table: 'releases',
                type: 'insert'})
            DELETE q
        </query>
    </changeset>
    <changeset id="kafka_streams_import_queries:art_relations.releases.on_update" author="ssavva" run-on-change="true">
        <query>
            MATCH (q:KafkaImportQuery {
                database: 'art_relations',
                table: 'releases',
                type: 'update'})
            DELETE q
        </query>
    </changeset>
    <changeset id="kafka_streams_import_queries:art_relations.track.on_insert" author="ssavva" run-on-change="true">
        <query>
            MATCH (q:KafkaImportQuery {
                database: 'art_relations',
                table: 'track',
                type: 'insert'})
            DELETE q
        </query>
    </changeset>
    <changeset id="kafka_streams_import_queries:art_relations.track.on_update" author="ssavva" run-on-change="true">
        <query>
            MATCH (q:KafkaImportQuery {
                database: 'art_relations',
                table: 'track',
                type: 'update'})
            DELETE q
        </query>
    </changeset>
    <changeset id="kafka_streams_import_queries:art_relations.track.on_delete" author="ssavva" run-on-change="true">
        <query>
            MATCH (q:KafkaImportQuery {
                database: 'art_relations',
                table: 'track',
                type: 'delete'})
            DELETE q
        </query>
    </changeset>
    <changeset id="kafka_streams_import_queries:art_relations.release_artist.on_insert" author="ssavva" run-on-change="true">
        <query>
            MATCH (q:KafkaImportQuery {
                database: 'art_relations',
                table: 'release_artist',
                type: 'insert'})
            DELETE q
        </query>
    </changeset>
    <changeset id="kafka_streams_import_queries:art_relations.release_artist.on_update" author="ssavva" run-on-change="true">
        <query>
            MATCH (q:KafkaImportQuery {
                database: 'art_relations',
                table: 'release_artist',
                type: 'update'})
            DELETE q
        </query>
    </changeset>
    <changeset id="kafka_streams_import_queries:art_relations.release_artist.on_delete" author="ssavva" run-on-change="true">
        <query>
            MATCH (q:KafkaImportQuery {
                database: 'art_relations',
                table: 'release_artist',
                type: 'delete'})
            DELETE q
        </query>
    </changeset>
    <changeset id="kafka_streams_import_queries:art_relations.track_artist.on_insert" author="ssavva" run-on-change="true">
        <query>
            MATCH (q:KafkaImportQuery {
                database: 'art_relations',
                table: 'track_artist',
                type: 'insert'})
            DELETE q
        </query>
    </changeset>
    <changeset id="kafka_streams_import_queries:art_relations.track_artist.on_update" author="ssavva" run-on-change="true">
        <query>
            MATCH (q:KafkaImportQuery {
                database: 'art_relations',
                table: 'track_artist',
                type: 'update'})
            DELETE q
        </query>
    </changeset>
    <changeset id="kafka_streams_import_queries:art_relations.track_artist.on_delete" author="ssavva" run-on-change="true">
        <query>
            MATCH (q:KafkaImportQuery {
                database: 'art_relations',
                table: 'track_artist',
                type: 'delete'})
            DELETE q
        </query>
    </changeset>
    <changeset id="kafka_streams_import_queries:art_relations.track_writer.on_insert" author="ssavva" run-on-change="true">
        <query>
            MATCH (q:KafkaImportQuery {
                database: 'art_relations',
                table: 'track_writer',
                type: 'insert'})
            DELETE q
        </query>
    </changeset>
    <changeset id="kafka_streams_import_queries:art_relations.track_writer.on_update" author="ssavva" run-on-change="true">
        <query>
            MATCH (q:KafkaImportQuery {
                database: 'art_relations',
                table: 'track_writer',
                type: 'update'})
            DELETE q
        </query>
    </changeset>
    <changeset id="kafka_streams_import_queries:art_relations.track_writer.on_delete" author="ssavva" run-on-change="true">
        <query>
            MATCH (q:KafkaImportQuery {
                database: 'art_relations',
                table: 'track_writer',
                type: 'delete'})
            DELETE q
        </query>
    </changeset>
    <changeset id="kafka_streams_import_queries:art_relations.participant_identifier.on_insert" author="ssavva" run-on-change="true">
        <query>
            MATCH (q:KafkaImportQuery {
                database: 'art_relations',
                table: 'participant_identifier',
                type: 'insert'})
            DELETE q
        </query>
    </changeset>
    <changeset id="kafka_streams_import_queries:art_relations.participant_identifier.on_update" author="ssavva" run-on-change="true">
        <query>
            MATCH (q:KafkaImportQuery {
                database: 'art_relations',
                table: 'participant_identifier',
                type: 'update'})
            DELETE q
        </query>
    </changeset>
    <changeset id="kafka_streams_import_queries:art_relations.participant_identifier.on_delete" author="ssavva" run-on-change="true">
        <query>
            MATCH (q:KafkaImportQuery {
                database: 'art_relations',
                table: 'participant_identifier',
                type: 'delete'})
            DELETE q
        </query>
    </changeset>
</changelog>
