Bugzilla – Attachment 153929 Details for
Bug 28966
Holds queue viewer too slow to load for large numbers of holds
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
Bug 28966: (QA Follow-up) Fix failing unit tests
Bug-28966-QA-Follow-up-Fix-failing-unit-tests.patch (text/plain), 4.36 KB, created by
Kyle M Hall (khall)
on 2023-07-26 15:57:47 UTC
(
hide
)
Description:
Bug 28966: (QA Follow-up) Fix failing unit tests
Filename:
MIME Type:
Creator:
Kyle M Hall (khall)
Created:
2023-07-26 15:57:47 UTC
Size:
4.36 KB
patch
obsolete
>From 531d8c1f31deddef5e553cce00aa103b3709f9d6 Mon Sep 17 00:00:00 2001 >From: Kyle M Hall <kyle@bywatersolutions.com> >Date: Wed, 26 Jul 2023 11:57:24 -0400 >Subject: [PATCH] Bug 28966: (QA Follow-up) Fix failing unit tests > >Test Plan: >1) prove t/db_dependent/TestBuilder.t >2) Note tests fail >3) Apply this patch >4) Run updatedatabase.pl >5) Update the schema files ( alias 'dbic' can be used in > koha-testing-docker ) >6) prove t/db_dependent/TestBuilder.t >7) Tests now pass! >--- > .../data/mysql/atomicupdate/bug_32966.pl | 18 ++++++++++++++++ > installer/data/mysql/kohastructure.sql | 1 + > t/db_dependent/TestBuilder.t | 21 ++++++++----------- > 3 files changed, 28 insertions(+), 12 deletions(-) > create mode 100755 installer/data/mysql/atomicupdate/bug_32966.pl > >diff --git a/installer/data/mysql/atomicupdate/bug_32966.pl b/installer/data/mysql/atomicupdate/bug_32966.pl >new file mode 100755 >index 0000000000..55a7db5827 >--- /dev/null >+++ b/installer/data/mysql/atomicupdate/bug_32966.pl >@@ -0,0 +1,18 @@ >+use Modern::Perl; >+ >+return { >+ bug_number => "28966", >+ description => "Holds queue view too slow to load for large numbers of holds", >+ up => sub { >+ my ($args) = @_; >+ my ( $dbh, $out ) = @$args{qw(dbh out)}; >+ >+ unless ( primary_key_exists( 'tmp_holdsqueue', 'itemnumber' ) ) { >+ $dbh->do( >+ q{ALTER TABLE tmp_holdsqueue ADD PRIMARY KEY (itemnumber)} >+ ); >+ } >+ >+ say $out "Set primary key for table 'tmp_holdsqueue' to 'itemnumber'"; >+ }, >+}; >diff --git a/installer/data/mysql/kohastructure.sql b/installer/data/mysql/kohastructure.sql >index 270cca9f50..c1f800fe7f 100644 >--- a/installer/data/mysql/kohastructure.sql >+++ b/installer/data/mysql/kohastructure.sql >@@ -5885,6 +5885,7 @@ CREATE TABLE `tmp_holdsqueue` ( > `notes` mediumtext DEFAULT NULL, > `item_level_request` tinyint(4) NOT NULL DEFAULT 0, > `timestamp` timestamp NOT NULL DEFAULT current_timestamp() ON UPDATE current_timestamp() COMMENT 'date and time this entry as added/last updated', >+ PRIMARY KEY (`itemnumber`), > KEY `tmp_holdsqueue_ibfk_1` (`itemnumber`), > KEY `tmp_holdsqueue_ibfk_2` (`biblionumber`), > KEY `tmp_holdsqueue_ibfk_3` (`borrowernumber`), >diff --git a/t/db_dependent/TestBuilder.t b/t/db_dependent/TestBuilder.t >index 1fa63d0ae1..9946df3174 100755 >--- a/t/db_dependent/TestBuilder.t >+++ b/t/db_dependent/TestBuilder.t >@@ -285,7 +285,7 @@ subtest 'Test build with NULL values' => sub { > > > subtest 'Tests for delete method' => sub { >- plan tests => 12; >+ plan tests => 11; > > $schema->storage->txn_begin; > >@@ -304,23 +304,20 @@ subtest 'Tests for delete method' => sub { > > > # Test delete in table without primary key (..) >- is( $schema->source('TmpHoldsqueue')->primary_columns, 0, >+ is( $schema->source('AccountCreditTypesBranch')->primary_columns, 0, > 'Table without primary key detected' ); >- my $bibno = $builder->build_sample_biblio->biblionumber; >- my $cnt1 = $schema->resultset('TmpHoldsqueue')->count; >- # Insert a new record in TmpHoldsqueue with that biblionumber >- my $val = { biblionumber => $bibno }; >- my $rec = $builder->build({ source => 'TmpHoldsqueue', value => $val }); >- my $cnt2 = $schema->resultset('TmpHoldsqueue')->count; >+ my $cnt1 = $schema->resultset('AccountCreditTypesBranch')->count; >+ # Insert a new record in AccountCreditTypesBranch with that biblionumber >+ my $rec = $builder->build({ source => 'AccountCreditTypesBranch' }); >+ my $cnt2 = $schema->resultset('AccountCreditTypesBranch')->count; > is( defined($rec) && $cnt2 == $cnt1 + 1 , 1, 'Created a record' ); >- is( $builder->delete({ source => 'TmpHoldsqueue', records => $rec }), >+ is( $builder->delete({ source => 'AccountCreditTypesBranch', records => $rec }), > undef, 'delete returns undef' ); >- is( $rec->{biblionumber}, $bibno, 'Hash value untouched' ); >- is( $schema->resultset('TmpHoldsqueue')->count, $cnt2, >+ is( $schema->resultset('AccountCreditTypesBranch')->count, $cnt2, > "Method did not delete record in table without PK" ); > > # Test delete with NULL values >- $val = { branchcode => undef }; >+ my $val = { branchcode => undef }; > is( $builder->delete({ source => 'Branch', records => $val }), 0, > 'delete returns zero for an undef search with one key' ); > $val = { module_bit => 1, #catalogue >-- >2.30.2
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
|
Splinter Review
Attachments on
bug 28966
:
124626
|
124627
|
124628
|
124629
|
124639
|
124652
|
124854
|
125377
|
143583
|
143584
|
143857
|
143859
|
143860
|
145395
|
151733
|
151734
|
153120
|
153875
|
153876
|
153877
|
153878
|
153879
|
153880
|
153881
|
153882
|
153928
| 153929 |
153939