]> git.ipfire.org Git - thirdparty/bugzilla.git/commitdiff
Bug 824361: Add an index on (bug_id, work_time) in the longdescs table to improve...
authorFrédéric Buclin <LpSolit@gmail.com>
Mon, 7 Jan 2013 20:13:30 +0000 (21:13 +0100)
committerFrédéric Buclin <LpSolit@gmail.com>
Mon, 7 Jan 2013 20:13:30 +0000 (21:13 +0100)
r=dkl a=LpSolit

Bugzilla/DB/Schema.pm
Bugzilla/Install/DB.pm

index d167f8a4fea73b4891865bbcb07d8f482b2bd7aa..f9784ff439df2ecb2f847c2ea5184e62fa5ec9be 100644 (file)
@@ -398,7 +398,7 @@ use constant ABSTRACT_SCHEMA => {
             extra_data      => {TYPE => 'varchar(255)'}
         ],
         INDEXES => [
-            longdescs_bug_id_idx   => ['bug_id'],
+            longdescs_bug_id_idx   => [qw(bug_id work_time)],
             longdescs_who_idx     => [qw(who bug_id)],
             longdescs_bug_when_idx => ['bug_when'],
         ],
index a6f08848282dd902e18ee6a011601367576ab52b..ffcafeb4f8e98ca5ff9ca7729dbfccb6053a847e 100644 (file)
@@ -700,6 +700,9 @@ sub update_table_definitions {
     # 2012-08-01 koosha.khajeh@gmail.com - Bug 187753
     _shorten_long_quips();
 
+    # 2012-12-23 LpSolit@gmail.com - Bug 824361
+    _fix_longdescs_indexes();
+
     ################################################################
     # New --TABLE-- changes should go *** A B O V E *** this point #
     ################################################################
@@ -3729,6 +3732,15 @@ sub _fix_longdescs_primary_key {
     }
 }
 
+sub _fix_longdescs_indexes {
+    my $dbh = Bugzilla->dbh;
+    my $bug_id_idx = $dbh->bz_index_info('longdescs', 'longdescs_bug_id_idx');
+    if ($bug_id_idx && scalar @{$bug_id_idx->{'FIELDS'}} < 2) {
+        $dbh->bz_drop_index('longdescs', 'longdescs_bug_id_idx');
+        $dbh->bz_add_index('longdescs', 'longdescs_bug_id_idx', [qw(bug_id work_time)]);
+    }
+}
+
 sub _fix_dependencies_dupes {
     my $dbh = Bugzilla->dbh;
     my $blocked_idx = $dbh->bz_index_info('dependencies', 'dependencies_blocked_idx');