diff options
-rw-r--r-- | Bugzilla/DB/Pg.pm | 14 | ||||
-rwxr-xr-x | checksetup.pl | 5 |
2 files changed, 18 insertions, 1 deletions
diff --git a/Bugzilla/DB/Pg.pm b/Bugzilla/DB/Pg.pm index 86c5497cd..25378ccc3 100644 --- a/Bugzilla/DB/Pg.pm +++ b/Bugzilla/DB/Pg.pm @@ -197,4 +197,18 @@ sub bz_unlock_tables { } } +##################################################################### +# Custom Database Setup +##################################################################### + +sub bz_setup_database { + my $self = shift; + $self->SUPER::bz_setup_database(@_); + + # PostgreSQL doesn't like having *any* index on the thetext + # field, because it can't have index data longer than 2770 + # characters on that field. + $self->bz_drop_index('longdescs', 'longdescs_thetext_idx'); +} + 1; diff --git a/checksetup.pl b/checksetup.pl index 7151b86bf..d1068bbbd 100755 --- a/checksetup.pl +++ b/checksetup.pl @@ -3664,7 +3664,10 @@ if (!$dbh->bz_index_info('bugs', 'bugs_short_desc_idx')) { $dbh->bz_add_index('bugs', 'bugs_short_desc_idx', {TYPE => 'FULLTEXT', FIELDS => [qw(short_desc)]}); } -if (!$dbh->bz_index_info('longdescs', 'longdescs_thetext_idx')) { +# Right now, we only create the "thetext" index on MySQL. +if ($dbh->isa('Bugzilla::DB::Mysql') + && !$dbh->bz_index_info('longdescs', 'longdescs_thetext_idx')) +{ print "Adding full-text index for thetext column in longdescs table...\n"; $dbh->bz_add_index('longdescs', 'longdescs_thetext_idx', {TYPE => 'FULLTEXT', FIELDS => [qw(thetext)]}); |