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
This commit is contained in:
mkanat%kerio.com 2005-06-09 04:42:46 +00:00
Родитель 772c075c06
Коммит f986e37595
2 изменённых файлов: 18 добавлений и 1 удалений

Просмотреть файл

@ -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;

Просмотреть файл

@ -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)]});