From 146f2b2b95464c83d480dcc1a32d74e45da59a53 Mon Sep 17 00:00:00 2001 From: David Cook Date: Tue, 21 Sep 2021 05:21:42 +0000 Subject: [PATCH] Bug 8367: Make database update idempotent (across different MariaDB versions) The previous query seemed to work on MariaDB 10.1.48 (used by koha-testing-docker), but it didn't work on MariaDB 10.3.29 (default in Debian 10 as of this writing), but this patched query works on both indempotently. --- .../bug_8367-add_holds_pickup_period_circrule.perl | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/installer/data/mysql/atomicupdate/bug_8367-add_holds_pickup_period_circrule.perl b/installer/data/mysql/atomicupdate/bug_8367-add_holds_pickup_period_circrule.perl index fe8553e11b..d7cbe86eee 100644 --- a/installer/data/mysql/atomicupdate/bug_8367-add_holds_pickup_period_circrule.perl +++ b/installer/data/mysql/atomicupdate/bug_8367-add_holds_pickup_period_circrule.perl @@ -2,8 +2,8 @@ $DBversion = 'XXX'; if( CheckVersion( $DBversion ) ) { $dbh->do(q{ INSERT INTO circulation_rules (branchcode, categorycode, itemtype, rule_name, rule_value) - SELECT NULL, NULL, NULL, 'holds_pickup_period', '' - WHERE NOT EXISTS ( SELECT rule_name FROM circulation_rules where rule_name = 'holds_pickup_period' ) + SELECT u.* FROM (SELECT NULL as branchcode, NULL as categorycode, NULL as itemtype, 'holds_pickup_period' as rule_name, '' as rule_value) u + WHERE NOT EXISTS ( SELECT rule_name FROM circulation_rules where rule_name = 'holds_pickup_period' ); }); NewVersion( $DBversion, 8367, "Add holds_pickup_period circulation rule" ); -- 2.20.1