diff options
author | mkanat%kerio.com <> | 2005-06-09 13:42:44 +0200 |
---|---|---|
committer | mkanat%kerio.com <> | 2005-06-09 13:42:44 +0200 |
commit | 461633bacc4f1c47b50e67219a7c8ec0a16bad7d (patch) | |
tree | 82c9a363915083ba6d786790bc38973b4f00d8e0 | |
parent | b2ced74b4357baa441e73c8d09858925635dba4a (diff) | |
download | bugzilla-461633bacc4f1c47b50e67219a7c8ec0a16bad7d.tar.gz bugzilla-461633bacc4f1c47b50e67219a7c8ec0a16bad7d.tar.xz |
Bug 291803: PostgreSQL dies when you insert a string longer than 2700 characters into an indexed field
Patch By Max Kanat-Alexander <mkanat@bugzilla.org> r=jouni, a=justdave
-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)]}); |