Browse Source

Bug 10642: fix inappropriate uses of $sth->finish() in C4::RotatingCollections.pm

From the man page

finish()
Indicate that no more data will be fetched from this statement handle
before it is either executed again or destroyed.
You almost certainly do not need to call this method.

Adding calls to "finish" after loop that fetches all rows is a common
mistake, don't do it, it can mask genuine problems like uncaught fetch errors.

To test:

Verify that prove -v t/db_dependent/RotatingCollections.t passes

Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Passes koha-qa.pl, passes UT provided by bug 10653

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
new/bootstrap-opac
root 11 years ago
committed by Galen Charlton
parent
commit
d1b3e4ab6b
  1. 18
      C4/RotatingCollections.pm

18
C4/RotatingCollections.pm

@ -99,7 +99,6 @@ sub CreateCollection {
$sth = $dbh->prepare("INSERT INTO collections ( colId, colTitle, colDesc ) $sth = $dbh->prepare("INSERT INTO collections ( colId, colTitle, colDesc )
VALUES ( NULL, ?, ? )"); VALUES ( NULL, ?, ? )");
$sth->execute( $title, $description ) or return ( 0, 3, $sth->errstr() ); $sth->execute( $title, $description ) or return ( 0, 3, $sth->errstr() );
$sth->finish;
return 1; return 1;
@ -145,7 +144,6 @@ sub UpdateCollection {
colTitle = ?, colDesc = ? colTitle = ?, colDesc = ?
WHERE colId = ?"); WHERE colId = ?");
$sth->execute( $title, $description, $colId ) or return ( 0, 4, $sth->errstr() ); $sth->execute( $title, $description, $colId ) or return ( 0, 4, $sth->errstr() );
$sth->finish;
return 1; return 1;
@ -180,7 +178,6 @@ sub DeleteCollection {
$sth = $dbh->prepare("DELETE FROM collections WHERE colId = ?"); $sth = $dbh->prepare("DELETE FROM collections WHERE colId = ?");
$sth->execute( $colId ) or return ( 0, 4, $sth->errstr() ); $sth->execute( $colId ) or return ( 0, 4, $sth->errstr() );
$sth->finish;
return 1; return 1;
} }
@ -211,8 +208,6 @@ sub GetCollections {
push( @results , $row ); push( @results , $row );
} }
$sth->finish;
return \@results; return \@results;
} }
@ -259,8 +254,6 @@ sub GetItemsInCollection {
push( @results , $row ); push( @results , $row );
} }
$sth->finish;
return \@results; return \@results;
} }
@ -288,8 +281,6 @@ sub GetCollection {
my $row = $sth->fetchrow_hashref; my $row = $sth->fetchrow_hashref;
$sth->finish;
return ( return (
$$row{'colId'}, $$row{'colId'},
$$row{'colTitle'}, $$row{'colTitle'},
@ -338,7 +329,6 @@ sub AddItemToCollection {
$sth = $dbh->prepare("INSERT INTO collections_tracking ( ctId, colId, itemnumber ) $sth = $dbh->prepare("INSERT INTO collections_tracking ( ctId, colId, itemnumber )
VALUES ( NULL, ?, ? )"); VALUES ( NULL, ?, ? )");
$sth->execute( $colId, $itemnumber ) or return ( 0, 3, $sth->errstr() ); $sth->execute( $colId, $itemnumber ) or return ( 0, 3, $sth->errstr() );
$sth->finish;
return 1; return 1;
@ -379,7 +369,6 @@ sub RemoveItemFromCollection {
$sth = $dbh->prepare("DELETE FROM collections_tracking $sth = $dbh->prepare("DELETE FROM collections_tracking
WHERE itemnumber = ?"); WHERE itemnumber = ?");
$sth->execute( $itemnumber ) or return ( 0, 3, $sth->errstr() ); $sth->execute( $itemnumber ) or return ( 0, 3, $sth->errstr() );
$sth->finish;
return 1; return 1;
} }
@ -420,7 +409,6 @@ sub TransferCollection {
colBranchcode = ? colBranchcode = ?
WHERE colId = ?"); WHERE colId = ?");
$sth->execute( $colBranchcode, $colId ) or return ( 0, 4, $sth->errstr() ); $sth->execute( $colBranchcode, $colId ) or return ( 0, 4, $sth->errstr() );
$sth->finish;
$sth = $dbh->prepare("SELECT barcode FROM items, collections_tracking $sth = $dbh->prepare("SELECT barcode FROM items, collections_tracking
WHERE items.itemnumber = collections_tracking.itemnumber WHERE items.itemnumber = collections_tracking.itemnumber
@ -430,9 +418,7 @@ sub TransferCollection {
while ( my $item = $sth->fetchrow_hashref ) { while ( my $item = $sth->fetchrow_hashref ) {
my ( $dotransfer, $messages, $iteminformation ) = transferbook( $colBranchcode, $item->{'barcode'}, my $ignore_reserves = 1); my ( $dotransfer, $messages, $iteminformation ) = transferbook( $colBranchcode, $item->{'barcode'}, my $ignore_reserves = 1);
} }
return 1; return 1;
} }
@ -461,8 +447,6 @@ sub GetCollectionItemBranches {
my $row = $sth->fetchrow_hashref; my $row = $sth->fetchrow_hashref;
$sth->finish;
return ( return (
$$row{'holdingbranch'}, $$row{'holdingbranch'},
$$row{'colBranchcode'}, $$row{'colBranchcode'},
@ -505,8 +489,6 @@ sub isItemInAnyCollection {
my $row = $sth->fetchrow_hashref; my $row = $sth->fetchrow_hashref;
$itemnumber = $row->{itemnumber}; $itemnumber = $row->{itemnumber};
$sth->finish;
if ( $itemnumber ) { if ( $itemnumber ) {
return 1; return 1;
} else { } else {

Loading…
Cancel
Save