<?xml version="1.0" encoding="UTF-8"?>
<databaseChangeLog
        xmlns="http://www.liquibase.org/xml/ns/dbchangelog"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xmlns:ext="http://www.liquibase.org/xml/ns/dbchangelog-ext"
        xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.0.xsd
        http://www.liquibase.org/xml/ns/dbchangelog-ext http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-ext.xsd">
    <changeSet id="102" author="artur">
        <sql dbms="mysql" endDelimiter=";;" splitStatements="true" stripComments="true">
        <![CDATA[
            USE direct_delivery;;
            
            DROP PROCEDURE IF EXISTS sp_renew_lost_delivery_queue_items;;

            CREATE DEFINER=theorchard_dd@127.0.0.1 PROCEDURE sp_renew_lost_delivery_queue_items()
            BEGIN
                UPDATE encoding_queue_detail eqd
                INNER JOIN encoding_queue eq ON eqd.encoding_queue_id = eq.encoding_queue_id
                SET eqd.status = 'ready_to_deliver'
                WHERE eqd.status = 'queued_for_delivery' AND eqd.last_updated < DATE_SUB(CURRENT_TIMESTAMP, INTERVAL 6 HOUR);
            END;;
        ]]>
        </sql>
        <rollback>
            <sql dbms="mysql" endDelimiter=";;" splitStatements="true" stripComments="true">
            <![CDATA[
                USE direct_delivery;;
                
                DROP PROCEDURE IF EXISTS sp_renew_lost_delivery_queue_items;;

                CREATE DEFINER=theorchard_dd@127.0.0.1 PROCEDURE sp_renew_lost_delivery_queue_items()
                BEGIN
                    UPDATE encoding_queue_detail eqd
                    INNER JOIN encoding_queue eq ON eqd.encoding_queue_id = eq.encoding_queue_id
                    SET eqd.status = 'ready_to_deliver'
                    WHERE eqd.status = 'queued_for_delivery' AND eqd.last_updated < DATE_SUB(CURDATE(), INTERVAL 2 HOUR);
                END;;
            ]]>
            </sql>
        </rollback>
    </changeSet>
</databaseChangeLog>
