pgsql: Cope with smaller-than-normal BLCKSZ setting in SPGiST indexes o

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: pgsql-committers(at)postgresql(dot)org
Subject: pgsql: Cope with smaller-than-normal BLCKSZ setting in SPGiST indexes o
Date: 2012-06-26 18:36:38
Message-ID: E1Sjacw-0001lm-An@gemulon.postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-committers

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.

Branch
------
master

Details
-------
http://git.postgresql.org/pg/commitdiff/757773602c424b1e51c2d9cad8a59398ba7f7b2c

Modified Files
--------------
src/backend/access/spgist/spgtextproc.c | 12 +++++++++---
1 files changed, 9 insertions(+), 3 deletions(-)

Browse pgsql-committers by date

  From Date Subject
Next Message Robert Haas 2012-06-26 20:06:14 pgsql: When LWLOCK_STATS is defined, count spindelays.
Previous Message Robert Haas 2012-06-26 17:35:20 pgsql: Make DROP FUNCTION hint more informative.