Bug 32470: (Bug 14783 follow-up) Fix mysql error in db_rev for 22.06.000.064
authorMichael Hafen <michael.hafen@washk12.org>
Wed, 14 Dec 2022 18:45:47 +0000 (11:45 -0700)
committerTomas Cohen Arazi <tomascohen@theke.io>
Thu, 15 Dec 2022 14:28:46 +0000 (11:28 -0300)
Fix MySQL error:
ERROR 1093 (HY000): You can't specify target table 'systempreferences' for
 update in FROM clause

introduced by db_rev 064 for bug 14783.

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
installer/data/mysql/db_revs/220600064.pl

index 7aaa4e5..abf9aae 100755 (executable)
@@ -14,11 +14,17 @@ return {
 
         say $out "Added new system preference 'OPACAllowUserToChangeBranch'";
 
+       my ($value) = $dbh->selectrow_array(q{
+            SELECT CASE WHEN value=1 THEN 'intransit' ELSE '' END
+            FROM systempreferences
+            WHERE variable='OPACInTransitHoldPickupLocationChange'
+        });
+
         $dbh->do(q{
             UPDATE systempreferences
-            SET value=(SELECT CASE WHEN value=1 THEN 'intransit' ELSE '' END FROM systempreferences WHERE variable='OPACInTransitHoldPickupLocationChange')
+            SET value=(?)
             WHERE variable='OPACAllowUserToChangeBranch'
-        });
+        }, undef, $value);
 
         $dbh->do(q{
             DELETE FROM systempreferences