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(
|
return $self->search(
|
||||||
{},
|
{},
|
||||||
{
|
{
|
||||||
'+select' => [{
|
|
||||||
lpad => ['copynumber', \8, \"'0'"], '-as' => 'lpad_copynumber',
|
|
||||||
}],
|
|
||||||
order_by => [
|
order_by => [
|
||||||
'homebranch.branchname',
|
'homebranch.branchname',
|
||||||
'me.enumchron',
|
'me.enumchron',
|
||||||
'lpad_copynumber',
|
|
||||||
{-desc => 'me.dateaccessioned'}
|
{-desc => 'me.dateaccessioned'}
|
||||||
],
|
],
|
||||||
join => ['homebranch']
|
join => ['homebranch']
|
||||||
|
|
|
@ -307,7 +307,6 @@ sub get_items {
|
||||||
$items_rs = $items_rs->filter_by_bookable if $bookable_only;
|
$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
|
# FIXME We need to order_by serial.publisheddate if we have _order_by=+me.serial_issue_number
|
||||||
my $items = $c->objects->search($items_rs);
|
my $items = $c->objects->search($items_rs);
|
||||||
delete $_->{lpad_copynumber} for @$items;
|
|
||||||
|
|
||||||
return $c->render(
|
return $c->render(
|
||||||
status => 200,
|
status => 200,
|
||||||
|
|
|
@ -1792,7 +1792,7 @@ subtest 'move_to_biblio() tests' => sub {
|
||||||
|
|
||||||
subtest 'search_ordered' => sub {
|
subtest 'search_ordered' => sub {
|
||||||
|
|
||||||
plan tests => 9;
|
plan tests => 8;
|
||||||
|
|
||||||
$schema->storage->txn_begin;
|
$schema->storage->txn_begin;
|
||||||
|
|
||||||
|
@ -1824,17 +1824,8 @@ subtest 'search_ordered' => sub {
|
||||||
[ $item3->itemnumber, $item2->itemnumber, $item1->itemnumber ],
|
[ $item3->itemnumber, $item2->itemnumber, $item1->itemnumber ],
|
||||||
"not a serial - order by enumchron" );
|
"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'
|
# order_by -desc => 'me.dateaccessioned'
|
||||||
$biblio->items->update( { copynumber => undef } );
|
$biblio->items->update( { enumchron => undef } );
|
||||||
$item1->discard_changes->update( { dateaccessioned => '2022-08-19' } );
|
$item1->discard_changes->update( { dateaccessioned => '2022-08-19' } );
|
||||||
$item2->discard_changes->update( { dateaccessioned => '2022-07-19' } );
|
$item2->discard_changes->update( { dateaccessioned => '2022-07-19' } );
|
||||||
$item3->discard_changes->update( { dateaccessioned => '2022-09-19' } );
|
$item3->discard_changes->update( { dateaccessioned => '2022-09-19' } );
|
||||||
|
|
Loading…
Reference in a new issue