[Koha-bugs] [Bug 7365] Koha uses MySQL
bugzilla-daemon at bugs.koha-community.org
bugzilla-daemon at bugs.koha-community.org
Thu Mar 22 17:30:32 CET 2012
http://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=7365
stephane.delaune at biblibre.com changed:
What |Removed |Added
----------------------------------------------------------------------------
Attachment #8439|0 |1
is obsolete| |
--- Comment #15 from stephane.delaune at biblibre.com ---
Created attachment 8534
-->
http://bugs.koha-community.org/bugzilla3/attachment.cgi?id=8534&action=edit
proposed patch (updated)
as suggested by Ian Walls the patch replace "SHOW COLMUNS" in
ImportExportFramework.pm with $dbh->column_info(undef, undef, $table, "%");
now DBQ implement 2 subs :
- dateSub (Subtract a time value (interval) from a date)
- ifNull (Returns $a if not null, else return $b)
they are use in sub GetLateOrders in C4/Acquisition.pm .
If db_scheme is mysql, the $query created by trhis sub is :
SELECT aqbasket.basketno,
aqorders.ordernumber,
DATE(aqbasket.closedate) AS orderdate,
aqorders.rrp AS unitpricesupplier,
aqorders.ecost AS unitpricelib,
aqorders.claims_count AS claims_count,
aqorders.claimed_date AS claimed_date,
aqbudgets.budget_name AS budget,
borrowers.branchcode AS branch,
aqbooksellers.name AS supplier,
aqbooksellers.id AS supplierid,
biblio.author, biblio.title,
biblioitems.publishercode AS publisher,
biblioitems.publicationyear,
aqorders.quantity - IFNULL(aqorders.quantityreceived, 0) AS quantity,
(aqorders.quantity - IFNULL(aqorders.quantityreceived, 0)) * aqorders.rrp
AS subtotal,
(CAST(now() AS date) - closedate) AS latesince
FROM
aqorders LEFT JOIN biblio ON biblio.biblionumber =
aqorders.biblionumber
LEFT JOIN biblioitems ON biblioitems.biblionumber =
biblio.biblionumber
LEFT JOIN aqbudgets ON aqorders.budget_id =
aqbudgets.budget_id,
aqbasket LEFT JOIN borrowers ON aqbasket.authorisedby =
borrowers.borrowernumber
LEFT JOIN aqbooksellers ON aqbasket.booksellerid =
aqbooksellers.id
WHERE aqorders.basketno = aqbasket.basketno
AND ( datereceived = ''
OR datereceived IS NULL
OR aqorders.quantityreceived < aqorders.quantity
)
AND (aqorders.datecancellationprinted IS NULL OR
aqorders.datecancellationprinted='0000-00-00')
AND (closedate <= DATE_SUB(CAST(now() AS date), INTERVAL ? DAY)) AND
aqbasket.booksellerid = ? AND borrowers.branchcode LIKE ?
HAVING quantity <> 0
AND unitpricesupplier <> 0
AND unitpricelib <> 0
ORDER BY latesince, basketno, borrowers.branchcode, supplier
If db_scheme is pg, the $query created by trhis sub is :
SELECT aqbasket.basketno,
aqorders.ordernumber,
DATE(aqbasket.closedate) AS orderdate,
aqorders.rrp AS unitpricesupplier,
aqorders.ecost AS unitpricelib,
aqorders.claims_count AS claims_count,
aqorders.claimed_date AS claimed_date,
aqbudgets.budget_name AS budget,
borrowers.branchcode AS branch,
aqbooksellers.name AS supplier,
aqbooksellers.id AS supplierid,
biblio.author, biblio.title,
biblioitems.publishercode AS publisher,
biblioitems.publicationyear,
aqorders.quantity - COALESCE(aqorders.quantityreceived, 0) AS quantity,
(aqorders.quantity - COALESCE(aqorders.quantityreceived, 0)) * aqorders.rrp
AS subtotal,
(CAST(now() AS date) - closedate) AS latesince
FROM
aqorders LEFT JOIN biblio ON biblio.biblionumber =
aqorders.biblionumber
LEFT JOIN biblioitems ON biblioitems.biblionumber =
biblio.biblionumber
LEFT JOIN aqbudgets ON aqorders.budget_id =
aqbudgets.budget_id,
aqbasket LEFT JOIN borrowers ON aqbasket.authorisedby =
borrowers.borrowernumber
LEFT JOIN aqbooksellers ON aqbasket.booksellerid =
aqbooksellers.id
WHERE aqorders.basketno = aqbasket.basketno
AND ( datereceived = ''
OR datereceived IS NULL
OR aqorders.quantityreceived < aqorders.quantity
)
AND (aqorders.datecancellationprinted IS NULL OR
aqorders.datecancellationprinted='0000-00-00')
AND (closedate <= CAST(now() AS date) - interval '? DAY') AND
aqbasket.booksellerid = ? AND borrowers.branchcode LIKE ?
HAVING quantity <> 0
AND unitpricesupplier <> 0
AND unitpricelib <> 0
ORDER BY latesince, basketno, borrowers.branchcode, supplier
--
You are receiving this mail because:
You are watching all bug changes.
More information about the Koha-bugs
mailing list