bugfixes for biblio deletion

This commit is contained in:
tipaul 2003-12-03 17:47:14 +00:00
parent a1d31b88e7
commit 87819d35b1
2 changed files with 68 additions and 58 deletions

View file

@ -1507,9 +1507,10 @@ sub OLDdelitem{
my $query="Insert into deleteditems set "; my $query="Insert into deleteditems set ";
my @bind = (); my @bind = ();
foreach my $temp (keys %$data){ foreach my $temp (keys %$data){
$query .= "$temp = ?," $query .= "$temp = ?,";
push(@bind,$data->{$temp}); push(@bind,$data->{$temp});
} }
$query =~ s/\,$//;
# print $query; # print $query;
$sth=$dbh->prepare($query); $sth=$dbh->prepare($query);
$sth->execute(@bind); $sth->execute(@bind);
@ -1547,15 +1548,17 @@ where biblioitemnumber = ?");
$sth = $dbh->prepare("Select * from items where biblioitemnumber = ?"); $sth = $dbh->prepare("Select * from items where biblioitemnumber = ?");
$sth->execute($biblioitemnumber); $sth->execute($biblioitemnumber);
my @results; my @results;
while (@results = $sth->fetchrow_array) { while (my $data = $sth->fetchrow_hashref) {
my $query = "Insert into deleteditems values ("; my $query="Insert into deleteditems set ";
foreach my $value (@results) { my @bind = ();
$query .= "?,"; foreach my $temp (keys %$data){
} # foreach $query .= "$temp = ?,";
$query =~ s/\,$/\)/; push(@bind,$data->{$temp});
}
$query =~ s/\,$//;
warn "Q 1560 : $query";
my $sth2=$dbh->prepare($query); my $sth2=$dbh->prepare($query);
$sth2->execute(@results); $sth2->execute(@bind);
$sth2->finish()
} # while } # while
$sth->finish; $sth->finish;
$sth = $dbh->prepare("Delete from items where biblioitemnumber = ?"); $sth = $dbh->prepare("Delete from items where biblioitemnumber = ?");
@ -1568,18 +1571,19 @@ sub OLDdelbiblio{
my ($dbh,$biblio)=@_; my ($dbh,$biblio)=@_;
my $sth=$dbh->prepare("select * from biblio where biblionumber=?"); my $sth=$dbh->prepare("select * from biblio where biblionumber=?");
$sth->execute($biblio); $sth->execute($biblio);
if (my @data=$sth->fetchrow_array){ if (my $data=$sth->fetchrow_hashref){
$sth->finish; $sth->finish;
# FIXME => replace insert values by insert (field) values ($value) my $query="Insert into deletedbiblio set ";
$query="Insert into deletedbiblio values ("; my @bind =();
foreach my $temp (@data){ foreach my $temp (keys %$data){
$temp=~ s/\'/\\\'/g; $query .= "$temp = ?,";
$query .= "?,"; push(@bind,$data->{$temp});
} }
#replacing the last , by ",?)" #replacing the last , by ",?)"
$query=~ s/\,$/\,\?\)/; $query=~ s/\,$//;
warn "Q olddelbiblio : $query";
$sth=$dbh->prepare($query); $sth=$dbh->prepare($query);
$sth->execute(@data); $sth->execute(@bind);
$sth->finish; $sth->finish;
$sth=$dbh->prepare("Delete from biblio where biblionumber=?"); $sth=$dbh->prepare("Delete from biblio where biblionumber=?");
$sth->execute($biblio); $sth->execute($biblio);
@ -2188,6 +2192,9 @@ Paul POULAIN paul.poulain@free.fr
# $Id$ # $Id$
# $Log$ # $Log$
# Revision 1.77 2003/12/03 17:47:14 tipaul
# bugfixes for biblio deletion
#
# Revision 1.76 2003/12/03 01:43:41 slef # Revision 1.76 2003/12/03 01:43:41 slef
# conflict markers? # conflict markers?
# #
@ -2521,7 +2528,6 @@ Paul POULAIN paul.poulain@free.fr
# In Biblio.pm, there are some subs that permits to build a old-style record from a MARC::Record, and the opposite. There is also a sub finding a MARC-bibid from a old-biblionumber and the opposite too. # In Biblio.pm, there are some subs that permits to build a old-style record from a MARC::Record, and the opposite. There is also a sub finding a MARC-bibid from a old-biblionumber and the opposite too.
# Note we have decided with steve that a old-biblio <=> a MARC-Biblio. # Note we have decided with steve that a old-biblio <=> a MARC-Biblio.
# #
<<<<<<< Biblio.pm
sub itemcount{ sub itemcount{
my ($biblio)=@_; my ($biblio)=@_;

View file

@ -213,7 +213,7 @@ my %requiretables = (
my %requirefields = ( my %requirefields = (
biblio => { 'abstract' => 'text' }, biblio => { 'abstract' => 'text' },
deletedbiblio => { 'abstract' => 'text', 'marc' => 'blob' }, deletedbiblio => { 'abstract' => 'text', 'marc' => 'blob' },
deleteditems => { 'marc' => 'blob' }, deleteditems => { 'marc' => 'blob', 'paidfor' => 'text' },
biblioitems => { biblioitems => {
'lccn' => 'char(25)', 'lccn' => 'char(25)',
'url' => 'varchar(255)', 'url' => 'varchar(255)',
@ -240,6 +240,7 @@ my %requirefields = (
}, },
aqorders => { 'budgetdate' => 'date' }, aqorders => { 'budgetdate' => 'date' },
aqbudget => {'aqbudgetid' => 'tinyint(4) auto_increment primary key'}, aqbudget => {'aqbudgetid' => 'tinyint(4) auto_increment primary key'},
items => {'paidfor' => 'text'},
#added so that reference items are not available for reserves... #added so that reference items are not available for reserves...
itemtypes => { 'notforloan' => 'smallint(6)' }, itemtypes => { 'notforloan' => 'smallint(6)' },
@ -970,6 +971,9 @@ $sth->finish;
exit; exit;
# $Log$ # $Log$
# Revision 1.68 2003/12/03 17:47:14 tipaul
# bugfixes for biblio deletion
#
# Revision 1.67 2003/11/28 10:08:33 tipaul # Revision 1.67 2003/11/28 10:08:33 tipaul
# * removing too verbose messages. # * removing too verbose messages.
# * creating a fulltext index on bibliothesaurus # * creating a fulltext index on bibliothesaurus