Bug 13992: Software error in reports if field or table does not exist

To reproduce:

- Go to Home > Reports Guided reports wizard
- Create report from SQL
- Enter something like: select holdrio from borrowers
- Save SQL
- run report

Result:
Can't use an undefined value as an ARRAY reference at /usr/share/kohaclone/reports/guided_reports.pl line 932.
expected: graceful error message

- Change sql to something like: select id from holdrio;
- Save SQL
- Run report

Result:
Can't use an undefined value as an ARRAY reference at /usr/share/kohaclone/reports/guided_reports.pl line 932.
expected:  graceful error message

- Change sql to something like: pling from plong
- Save SQL
Result (after saving): Message "The database returned the following error: 1"
Expected: Meaningful message "The database returned the following error: No SELECT" (similar to forbidden statements as UPDATE)

Test plan:
- Apply patch
- Try to reproduce issues above. They should be resolved.

Signed-off-by: Nick Clemens <nick@quecheelibrary.org>

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
This commit is contained in:
Marc Véron 2015-04-14 10:28:03 +02:00 committed by Tomas Cohen Arazi
parent 856861b47e
commit 4177d3ecd3
1 changed files with 2 additions and 1 deletions

View File

@ -193,7 +193,7 @@ elsif ( $phase eq 'Update SQL'){
push @errors, {sqlerr => $1};
}
elsif ($sql !~ /^(SELECT)/i) {
push @errors, {queryerr => 1};
push @errors, {queryerr => "No SELECT"};
}
if (@errors) {
@ -932,6 +932,7 @@ elsif ($phase eq 'Save Compound'){
# pass $sth, get back an array of names for the column headers
sub header_cell_values {
my $sth = shift or return ();
return '' unless ($sth->{NAME});
return @{$sth->{NAME}};
}