Bug 28524: Escape 'rank' in cat_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 > Most-circulated items
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, biblio.biblionumber AS ID, itemcallnumber as CALLNUM,
  ccode as CCODE, loca' at line 1

With this patch applied you see the report result view

Signed-off-by: Owen Leonard <oleonard@myacpl.org>

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
(cherry picked from commit ea214856d1)
Signed-off-by: Victor Grousset/tuxayo <victor@tuxayo.net>
(cherry picked from commit f27cfd734b)
Signed-off-by: Victor Grousset/tuxayo <victor@tuxayo.net>
This commit is contained in:
Jonathan Druart 2021-06-16 14:51:08 +02:00 committed by Victor Grousset/tuxayo
parent 45777508b2
commit 8d7f065c03
1 changed files with 2 additions and 2 deletions

View File

@ -298,7 +298,7 @@ sub calculate {
my $strcalc ;
# Processing average loanperiods
$strcalc .= "SELECT DISTINCT biblio.title, COUNT(biblio.biblionumber) AS RANK, biblio.biblionumber AS ID";
$strcalc .= "SELECT DISTINCT biblio.title, COUNT(biblio.biblionumber) AS `RANK`, biblio.biblionumber AS ID";
$strcalc .= ", itemcallnumber as CALLNUM";
$strcalc .= ", ccode as CCODE";
$strcalc .= ", location as LOC";
@ -346,7 +346,7 @@ sub calculate {
$strcalc .= " group by biblio.biblionumber";
$strcalc .= ", $colfield" if ($column);
$strcalc .= " order by RANK DESC";
$strcalc .= " order by `RANK` DESC";
$strcalc .= ", $colfield " if ($colfield);
my $dbcalc = $dbh->prepare($strcalc);