<?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="1" author="jchung">
        <sql dbms="mysql" endDelimiter=";;" splitStatements="true" stripComments="true">
          USE art_relations;;

          DROP PROCEDURE IF EXISTS `sp_get_vend_contact_privileges`;;

          CREATE DEFINER='theorchard'@'10.10.%' PROCEDURE `sp_get_vend_contact_privileges`(IN vend_contact_id INT(11), IN resource VARCHAR(50))
          BEGIN
            SELECT vc.`id`, vr.`resource`, vpri.`privilege`
              FROM vend_contact vc
              INNER JOIN vend_contact_roles vcr ON vcr.`vend_contact_id` = vc.`id`
              INNER JOIN vendor_roles r ON r.`id` = vcr.`role_id`
              INNER JOIN vendor_role_permissions vrp ON vrp.`role_id` = r.`id` AND allow = 'Y'
              LEFT JOIN vendor_permissions vp ON vp.`id` = vrp.`permission_id`
              INNER JOIN vendor_resource vr ON vr.`id` = vp.`resource_id`
              LEFT JOIN vendor_privilege vpri ON vpri.`id` = vp.`privilege_id`
              WHERE vc.`id` = vend_contact_id AND vr.`resource` = resource
              GROUP BY vrp.`id`;
          END;;
        </sql>
        <rollback>
          <sql dbms="mysql" endDelimiter=";;" splitStatements="true" stripComments="true">
            USE art_relations;;            

            DROP PROCEDURE IF EXISTS `sp_get_vend_contact_privileges`;;
          </sql>
        </rollback>
    </changeSet>
</databaseChangeLog>
