Bug 35641: Reduce DB lookups when sending a list of barcodes to inventory
authorNick Clemens <nick@bywatersolutions.com>
Fri, 22 Dec 2023 13:35:06 +0000 (13:35 +0000)
committerKatrin Fischer <katrin.fischer@bsz-bw.de>
Tue, 16 Jan 2024 11:06:11 +0000 (12:06 +0100)
commit5ae5e4367b96cd5685c40197f391ca3c4063c407
tree1a92e3e5db5664e22dbd327747bf42f9374d92c1
parentae8c96f387997b70b32809f30dedb44d0e170711
Bug 35641: Reduce DB lookups when sending a list of barcodes to inventory

This patch does three things:
1 - Removes a specific query for withdrawn status of each item scanned - we can use the withdrawn field
2 - Removes a specific query for checkouts on each item scanned - we can use the onloan field
    a - additionally we don't need to fetch the checkout as we check it in to the homebranch,
    this is likely incorrect - we should use the current branch, but I preserve behavior for now
3 - Fetches the items ahead of time and builds a hash based on barcode, reduces DB lookups, may raise memory usage

To test:
1 - Checkout some items
2 - Withdraw some items
3 - Generate a lsit of barcodes including some checked out items and some withdrawn items
4 - Enter that list of barcodes into inventory tool
5 - Note your results
6 - Apply patch
7 - Issue the items again
8 - Repeat inventory
9 - Confirm results are the same as before patch

Signed-off-by: Andrew Fuerste-Henry <andrewfh@dubcolib.org>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
tools/inventory.pl