summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorByron Jones <glob@mozilla.com>2015-08-17 16:29:08 +0200
committerByron Jones <glob@mozilla.com>2015-08-17 16:29:08 +0200
commitd247ef1bcd7506152b99e091f4a8f4251b78c627 (patch)
treec0f285883b9a03ea13d402a49da68eaac8943371
parentc7a6d5ec3db192f0be73111133ecd666b12a5c66 (diff)
downloadbugzilla-d247ef1bcd7506152b99e091f4a8f4251b78c627.tar.gz
bugzilla-d247ef1bcd7506152b99e091f4a8f4251b78c627.tar.xz
Bug 981487 - change bugs_fulltext from myisam to innodb
-rw-r--r--Bugzilla/Bug.pm14
-rw-r--r--Bugzilla/Constants.pm4
-rw-r--r--Bugzilla/DB/Schema/Mysql.pm2
3 files changed, 7 insertions, 13 deletions
diff --git a/Bugzilla/Bug.pm b/Bugzilla/Bug.pm
index 389747011..9e4135d1c 100644
--- a/Bugzilla/Bug.pm
+++ b/Bugzilla/Bug.pm
@@ -832,13 +832,11 @@ sub create {
stash => $stash,
});
- $dbh->bz_commit_transaction();
- # Because MySQL doesn't support transactions on the fulltext table,
- # we do this after we've committed the transaction. That way we're
- # sure we're inserting a good Bug ID.
$bug->_sync_fulltext( new_bug => 1 );
+ $dbh->bz_commit_transaction();
+
# BMO - some work should happen outside of the transaction block
Bugzilla::Hook::process('bug_after_create', { bug => $bug, timestamp => $timestamp });
@@ -1178,17 +1176,13 @@ sub update {
delete $user->{bugs_ignored} if $bug_ignored_changed;
}
- $dbh->bz_commit_transaction();
-
- # The only problem with this here is that update() is often called
- # in the middle of a transaction, and if that transaction is rolled
- # back, this change will *not* be rolled back. As we expect rollbacks
- # to be extremely rare, that is OK for us.
$self->_sync_fulltext(
update_short_desc => $changes->{short_desc},
update_comments => $self->{added_comments} || $self->{comment_isprivate}
);
+ $dbh->bz_commit_transaction();
+
# Remove obsolete internal variables.
delete $self->{'_old_assigned_to'};
delete $self->{'_old_qa_contact'};
diff --git a/Bugzilla/Constants.pm b/Bugzilla/Constants.pm
index c6359be60..99c2fe70c 100644
--- a/Bugzilla/Constants.pm
+++ b/Bugzilla/Constants.pm
@@ -535,8 +535,8 @@ use constant INSTALLATION_MODE_NON_INTERACTIVE => 1;
# Data about what we require for different databases.
use constant DB_MODULE => {
- # MySQL 5.0.15 was the first production 5.0.x release.
- 'mysql' => {db => 'Bugzilla::DB::Mysql', db_version => '5.0.15',
+ # Require MySQL 5.6.x for innodb's fulltext support
+ 'mysql' => {db => 'Bugzilla::DB::Mysql', db_version => '5.6.12',
dbd => {
package => 'DBD-mysql',
module => 'DBD::mysql',
diff --git a/Bugzilla/DB/Schema/Mysql.pm b/Bugzilla/DB/Schema/Mysql.pm
index 5fc50a986..b0a40586f 100644
--- a/Bugzilla/DB/Schema/Mysql.pm
+++ b/Bugzilla/DB/Schema/Mysql.pm
@@ -89,7 +89,7 @@ use constant REVERSE_MAPPING => {
# as in their db-specific version, so no reverse mapping is needed.
};
-use constant MYISAM_TABLES => qw(bugs_fulltext);
+use constant MYISAM_TABLES => qw();
#------------------------------------------------------------------------------
sub _initialize {