Summary: | GetMember and GetMemberDetails should be combined | ||
---|---|---|---|
Product: | Koha | Reporter: | Robin Sheat <robin> |
Component: | Architecture, internals, and plumbing | Assignee: | Galen Charlton <gmcharlt> |
Status: | CLOSED WONTFIX | QA Contact: | Bugs List <koha-bugs> |
Severity: | enhancement | ||
Priority: | P5 - low | CC: | dcook, koha.sekjal |
Version: | 3.4 | ||
Hardware: | All | ||
OS: | All | ||
Change sponsored?: | --- | Patch complexity: | --- |
Documentation contact: | Documentation submission: | ||
Text to go in the release notes: | Version(s) released in: | ||
Circulation function: | |||
Bug Depends on: | |||
Bug Blocks: | 7058 |
Description
Robin Sheat
2010-08-27 00:36:14 UTC
GetMember is VASTLY more efficient that GetMemberDetails. For almost all purposes, GetMember is sufficient. For those rare occasions when you need more than what's in the borrower table, then use GetMemberDetails. But outside of the patron details pages, that should not be necessary. GetMemberDetails calls GetMemberAccountRecords and patronflags. GetMemberAccountRecords calls GetBiblioFromItemNumber for EVERY accountlines entry that has a borrowernumber. patronflags calls GetMemberAccountRecords (!), checkoverdues, and GetReservesFromBorrowernumber. checkoverdues does a join across biblio, biblioitems, items and issues GetReservesFromBorrowernumber is relatively benign. In any situation where more than a single borrowernumber per pageload is provided to GetMemberDetails, this gets to be a huge waste of resources. Either we need to completely rebuild these subroutines to be more efficient, or make sure GetMemberDetails is only used when absolutely necessary. |