diff --git a/installer/data/mysql/atomicupdate/bug_40936.pl b/installer/data/mysql/atomicupdate/bug_40936.pl new file mode 100755 index 0000000000..7ed2a1088c --- /dev/null +++ b/installer/data/mysql/atomicupdate/bug_40936.pl @@ -0,0 +1,33 @@ +use Modern::Perl; + +return { + bug_number => "40936", + description => "Add index for default patron sort order", + up => sub { + my ($args) = @_; + my ( $dbh, $out ) = @$args{qw(dbh out)}; + + # Do you stuffs here + unless ( index_exists( 'borrowers', 'idx_borrowers_sort_order' ) ) { + $dbh->do( + q{ + CREATE INDEX idx_borrowers_sort_order ON borrowers ( + surname(100), + preferred_name(80), + firstname(80), + middle_name(50), + othernames(50), + streetnumber(20), + address(100), + address2(75), + city(75), + state(40), + zipcode(20), + country(40) + ); + } + ); + say $out "Added new index on borrowers table"; + } + }, +}; diff --git a/installer/data/mysql/kohastructure.sql b/installer/data/mysql/kohastructure.sql index e39e9350f1..b9a3d61613 100644 --- a/installer/data/mysql/kohastructure.sql +++ b/installer/data/mysql/kohastructure.sql @@ -1621,6 +1621,7 @@ CREATE TABLE `borrowers` ( KEY `userid_idx` (`userid`), KEY `middle_name_idx` (`middle_name`(768)), KEY `preferred_name_idx` (`preferred_name`(768)), + KEY `idx_borrowers_sort_order` (`surname`(100),`preferred_name`(80),`firstname`(80),`middle_name`(50),`othernames`(50),`streetnumber`(20),`address`(100),`address2`(75),`city`(75),`state`(40),`zipcode`(20),`country`(40)), CONSTRAINT `borrowers_ibfk_1` FOREIGN KEY (`categorycode`) REFERENCES `categories` (`categorycode`), CONSTRAINT `borrowers_ibfk_2` FOREIGN KEY (`branchcode`) REFERENCES `branches` (`branchcode`), CONSTRAINT `borrowers_ibfk_3` FOREIGN KEY (`sms_provider_id`) REFERENCES `sms_providers` (`id`) ON DELETE SET NULL ON UPDATE CASCADE