Cope with smaller-than-normal BLCKSZ setting in SPGiST indexes on text.
authorTom Lane <tgl@sss.pgh.pa.us>
Tue, 26 Jun 2012 18:36:25 +0000 (14:36 -0400)
committerTom Lane <tgl@sss.pgh.pa.us>
Tue, 26 Jun 2012 18:36:25 +0000 (14:36 -0400)
commit757773602c424b1e51c2d9cad8a59398ba7f7b2c
tree47f2c6fe2c7a7f2a33c1b7326b90f65b46b8aeb9
parent0caa0d04db24d2c571fa7daa410bc6a5b319a2a2
Cope with smaller-than-normal BLCKSZ setting in SPGiST indexes on text.

The original coding failed miserably for BLCKSZ of 4K or less, as reported
by Josh Kupershmidt.  With the present design for text indexes, a given
inner tuple could have up to 256 labels (requiring either 3K or 4K bytes
depending on MAXALIGN), which means that we can't positively guarantee no
failures for smaller blocksizes.  But we can at least make it behave sanely
so long as there are few enough labels to fit on a page.  Considering that
btree is also more prone to "index tuple too large" failures when BLCKSZ is
small, it's not clear that we should expend more work than this on this
case.
src/backend/access/spgist/spgtextproc.c