Bug 33568: Remove LPAD ordering
This is coming from bug 3521 it seems. And we are going to deal with this later if people complains. kidclamp> the performance issue for sites with many copies is bigger than sorting issues imho kidclamp> drop the LPAD I say :-) Signed-off-by: Laurence Rault <laurence.rault@biblibre.com> Signed-off-by: Emily Lamancusa <emily.lamancusa@montgomerycountymd.gov> Signed-off-by: Tomás Cohen Arazi <tomascohen@theke.io> Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
This commit is contained in:
parent
a767e15c74
commit
db74a8112a
3 changed files with 2 additions and 16 deletions
|
@ -466,13 +466,9 @@ sub search_ordered {
|
|||
return $self->search(
|
||||
{},
|
||||
{
|
||||
'+select' => [{
|
||||
lpad => ['copynumber', \8, \"'0'"], '-as' => 'lpad_copynumber',
|
||||
}],
|
||||
order_by => [
|
||||
'homebranch.branchname',
|
||||
'me.enumchron',
|
||||
'lpad_copynumber',
|
||||
{-desc => 'me.dateaccessioned'}
|
||||
],
|
||||
join => ['homebranch']
|
||||
|
|
|
@ -307,7 +307,6 @@ sub get_items {
|
|||
$items_rs = $items_rs->filter_by_bookable if $bookable_only;
|
||||
# FIXME We need to order_by serial.publisheddate if we have _order_by=+me.serial_issue_number
|
||||
my $items = $c->objects->search($items_rs);
|
||||
delete $_->{lpad_copynumber} for @$items;
|
||||
|
||||
return $c->render(
|
||||
status => 200,
|
||||
|
|
|
@ -1792,7 +1792,7 @@ subtest 'move_to_biblio() tests' => sub {
|
|||
|
||||
subtest 'search_ordered' => sub {
|
||||
|
||||
plan tests => 9;
|
||||
plan tests => 8;
|
||||
|
||||
$schema->storage->txn_begin;
|
||||
|
||||
|
@ -1824,17 +1824,8 @@ subtest 'search_ordered' => sub {
|
|||
[ $item3->itemnumber, $item2->itemnumber, $item1->itemnumber ],
|
||||
"not a serial - order by enumchron" );
|
||||
|
||||
# order_by LPAD( me.copynumber, 8, '0' )
|
||||
$biblio->items->update( { enumchron => undef } );
|
||||
$item1->discard_changes->update( { copynumber => '12345678' } );
|
||||
$item2->discard_changes->update( { copynumber => '34567890' } );
|
||||
$item3->discard_changes->update( { copynumber => '23456789' } );
|
||||
is_deeply( [ map { $_->itemnumber } $biblio->items->search_ordered->as_list ],
|
||||
[ $item1->itemnumber, $item3->itemnumber, $item2->itemnumber ],
|
||||
"not a serial - order by LPAD( me.copynumber, 8, '0' )" );
|
||||
|
||||
# order_by -desc => 'me.dateaccessioned'
|
||||
$biblio->items->update( { copynumber => undef } );
|
||||
$biblio->items->update( { enumchron => undef } );
|
||||
$item1->discard_changes->update( { dateaccessioned => '2022-08-19' } );
|
||||
$item2->discard_changes->update( { dateaccessioned => '2022-07-19' } );
|
||||
$item3->discard_changes->update( { dateaccessioned => '2022-09-19' } );
|
||||
|
|
Loading…
Reference in a new issue