From 3a3537fd9333636aa0e52b06447ad3f74798dace Mon Sep 17 00:00:00 2001 From: Jonathan Druart Date: Wed, 16 Jun 2021 14:54:47 +0200 Subject: [PATCH] Bug 28523: Escape 'rank' in bor_issues_top.pl It's a MySQL 8 keyword Test plan: Turn off strict_sql_modes (there are other problems in this script) Hit Home Reports > Patrons with the most checkouts Submit the form Without this patch you got: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'RANK, borrowers.borrowernumber AS ID FROM `old_issues` With this patch applied you see the report result view Signed-off-by: Owen Leonard Signed-off-by: Marcel de Rooy Signed-off-by: Jonathan Druart Signed-off-by: Kyle M Hall --- reports/bor_issues_top.pl | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/reports/bor_issues_top.pl b/reports/bor_issues_top.pl index d69cac025d..ba0a57c386 100755 --- a/reports/bor_issues_top.pl +++ b/reports/bor_issues_top.pl @@ -241,7 +241,7 @@ sub calculate { my $strcalc ; # Processing average loanperiods - $strcalc .= "SELECT CONCAT_WS('', borrowers.surname , \",\\t\", borrowers.firstname), COUNT(*) AS RANK, borrowers.borrowernumber AS ID"; + $strcalc .= "SELECT CONCAT_WS('', borrowers.surname , \",\\t\", borrowers.firstname), COUNT(*) AS `RANK`, borrowers.borrowernumber AS ID"; $strcalc .= " , $colfield " if ($colfield); $strcalc .= " FROM `old_issues` LEFT JOIN borrowers USING(borrowernumber) @@ -266,7 +266,7 @@ sub calculate { } $strcalc .= " GROUP BY borrowers.borrowernumber"; $strcalc .= ", $colfield" if ($column); - $strcalc .= " ORDER BY RANK DESC"; + $strcalc .= " ORDER BY `RANK` DESC"; $strcalc .= ",$colfield " if ($colfield); $strcalc .= " LIMIT $limit" if ($limit); -- 2.39.5