return \%letters;
}
-my %letter;
+# FIXME: using our here means that a Plack server will need to be
+# restarted fairly regularly when working with this routine.
+# A better option would be to use Koha::Cache and use a cache
+# that actually works in a persistent environment, but as a
+# short-term fix, our will work.
+our %letter;
sub getletter {
my ( $module, $code, $branchcode ) = @_;
$branchcode ||= '';
- if ( C4::Context->preference('IndependantBranches')
+ if ( C4::Context->preference('IndependentBranches')
and $branchcode
and C4::Context->userenv ) {
FROM aqorders
LEFT JOIN aqbasket ON aqbasket.basketno=aqorders.basketno
LEFT JOIN biblio ON aqorders.biblionumber=biblio.biblionumber
- LEFT JOIN biblioitems ON aqorders.biblioitemnumber=biblioitems.biblioitemnumber
+ LEFT JOIN biblioitems ON aqorders.biblionumber=biblioitems.biblionumber
LEFT JOIN aqbooksellers ON aqbasket.booksellerid=aqbooksellers.id
WHERE aqorders.ordernumber IN (
}
}
}
-my %handles = ();
sub _parseletter_sth {
my $table = shift;
+ my $sth;
unless ($table) {
carp "ERROR: _parseletter_sth() called without argument (table)";
return;
}
- # check cache first
- (defined $handles{$table}) and return $handles{$table};
+ # NOTE: we used to check whether we had a statement handle cached in
+ # a %handles module-level variable. This was a dumb move and
+ # broke things for the rest of us. prepare_cached is a better
+ # way to cache statement handles anyway.
my $query =
($table eq 'biblio' ) ? "SELECT * FROM $table WHERE biblionumber = ?" :
($table eq 'biblioitems' ) ? "SELECT * FROM $table WHERE biblionumber = ?" :
warn "ERROR: No _parseletter_sth query for table '$table'";
return; # nothing to get
}
- unless ($handles{$table} = C4::Context->dbh->prepare($query)) {
+ unless ($sth = C4::Context->dbh->prepare_cached($query)) {
warn "ERROR: Failed to prepare query: '$query'";
return;
}
- return $handles{$table}; # now cache is populated for that $table
+ return $sth; # now cache is populated for that $table
}
=head2 _parseletter($letter, $table, $values)
=cut
-my %columns = ();
sub _parseletter {
my ( $letter, $table, $values ) = @_;