]> git.koha-community.org Git - koha.git/commit
Bug 34360: Get distinct biblionumber
authorNick Clemens <nick@bywatersolutions.com>
Thu, 11 Jan 2024 11:53:42 +0000 (11:53 +0000)
committerFridolin Somers <fridolin.somers@biblibre.com>
Fri, 24 May 2024 15:09:23 +0000 (17:09 +0200)
commit465a41d7c1866fc7bfbb643419927aae747fe524
tree9ab00c8630b49f1e3cdfc18d28f5c7af18a1e90d
parente6beba64bc95219df8e07c1d9f635e6c41b576ff
Bug 34360: Get distinct biblionumber

This fixes the problem noted in the bug:
[WARN] DBIx::Class::ResultSetColumn::new(): Attempting to retrieve non-unique column 'biblionumber' on a resultset containing one-to-many joins will return duplicate results. at /usr/share/koha/Koha/Objects.pm line 421

We are taking a list of items, assuming the scenario is that these are from a single biblio and possibly some host_items, then searching and ordering conditionally on whether the biblio is a serial.

Current code gets the first biblio from the list - this patch adds a 'DISTINCT' to the results ebfore fetching the column

To test:
1 - Find a biblio in the staff interface
2 - Transfer one of the items a few times
3 - Recreate the issue on the command line:
    export DBIC_TRACE=1
    perl -e 'use Koha::Items; my $items = Koha::Items->search({biblionumber=>9})->search_ordered(undef,{ prefetch => ['issue','current_branchtransfers'] }); $items->next'
4 - Note warning:
    DBIx::Class::ResultSetColumn::new(): Attempting to retrieve non-unique column 'biblionumber' on a resultset containing one-to-many joins will return duplicate results. at /kohadevbox/koha/Koha/Objects.pm line 426
5 - Apply patch
6 - Repeat 3
7 - Error is gone

Signed-off-by: baptiste <baptiste.bayche@inlibro.com>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
(cherry picked from commit b5388933b64b78ce22b058dd1e5b96e1c0ec78a0)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
Koha/Items.pm