Closed Bug 291803 Opened 19 years ago Closed 19 years ago

PostgreSQL dies when you insert a string longer than 2700 characters into an indexed field

Categories

(Bugzilla :: Creating/Changing Bugs, defect, P1)

2.19.2

Tracking

()

RESOLVED FIXED
Bugzilla 2.20

People

(Reporter: mkanat, Assigned: mkanat)

References

()

Details

Attachments

(1 file)

I was working on my MySQL-to-PostgreSQL script, and when it tried to copy
comments from the longdescs table in MySQL to the longdescs table in PostgreSQL,
I got:

DBD::Pg::st execute failed: ERROR:  btree: index item size 2732 exceeds maximum 2713

The URL says that this is a problem with indexing, but I haven't looked into it
too deeply...

It's possible that we need to somehow limit our indexes on the thetext field.
Target Milestone: --- → Bugzilla 2.20
Blocks: 291776
Summary: PostgreSQL can sometimes throw an "index item" error → PostgreSQL can sometimes throw an "index item size" error
Removing the index from the "thetext" field fixes this problem.

I doubt that our really complex "LIKE" statement in Simple Search will use the
index, anyway, so we can probably just eliminate it until we have fulltext indexing.
Summary: PostgreSQL can sometimes throw an "index item size" error → PostgreSQL dies when you insert a string longer than 2700 characters into an indexed field
The solution that Tomas and I have decided on is to remove any index marked as
"FULLTEXT" and just not create it in Pg.
Status: NEW → ASSIGNED
Assignee: create-and-change → mkanat
Status: ASSIGNED → NEW
Status: NEW → ASSIGNED
Priority: -- → P1
OK, I think this is the simplest and cleanest solution for 2.20. It's a pretty
small patch, this way.
Attachment #183041 - Flags: review?(bugzilla)
Attachment #183041 - Flags: review?(bugzilla) → review?(bugreport)
Comment on attachment 183041 [details] [diff] [review]
Remove the "thetext" index and only create it on MySQL

Hey Jouni, could you review this? I haven't heard from Joel in a while.
Attachment #183041 - Flags: review?(bugreport) → review?(jouni)
Comment on attachment 183041 [details] [diff] [review]
Remove the "thetext" index and only create it on MySQL

Works on MySQL, cannot test with Postgres. r=jouni, partially by inspection.
Attachment #183041 - Flags: review?(jouni) → review+
OK, And I assert that I've tested this code on PostgreSQL, and it works.
Flags: approval?
Flags: approval? → approval+
Checking in checksetup.pl;
/cvsroot/mozilla/webtools/bugzilla/checksetup.pl,v  <--  checksetup.pl
new revision: 1.403; previous revision: 1.402
done
Checking in Bugzilla/DB/Pg.pm;
/cvsroot/mozilla/webtools/bugzilla/Bugzilla/DB/Pg.pm,v  <--  Pg.pm
new revision: 1.10; previous revision: 1.9
done
Status: ASSIGNED → RESOLVED
Closed: 19 years ago
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: