From: | Gregory Stark <stark(at)enterprisedb(dot)com> |
---|---|
To: | "Tom Lane" <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
Cc: | "PostgreSQL-development Hackers" <pgsql-patches(at)postgresql(dot)org> |
Subject: | Re: Assertion failure with small block sizes |
Date: | 2007-10-14 15:46:01 |
Message-ID: | 873awdu2bq.fsf@oxford.xeocode.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-patches |
"Tom Lane" <tgl(at)sss(dot)pgh(dot)pa(dot)us> writes:
> Gregory Stark <stark(at)enterprisedb(dot)com> writes:
>> Testing Postgres with a small block size runs into an assertion failure when
>> it tries to toast a pg_proc tuple during initdb. I think the assertion is just
>> wrong and RELKIND_UNCATALOGUED is valid here.
>
> Uh, what makes you think the assertion is the only problem? The toast
> table won't exist yet.
Well tuptoaster doesn't try to store anything external if there's no toast
table anyways. With the assertion modified it passes the regression tests
(modulo row orderings).
> How small is "small" anyway?
This was 1k with 256 toast target/threshold.
If I push the TOAST_TUPLES_PER_PAGE up to 16 I get another failure on the same
line from trying to toast a sequence. If I add RELKIND_SEQUENCE to the
assertion then it passes all regression tests even if I push
TOAST_TUPLES_PER_PAGE up to 1024 -- ie, try to toast everything as far as
possible. Perhaps heapam.c:1761 should just check for RELKIND_SEQUENCE as
well.
--
Gregory Stark
EnterpriseDB http://www.enterprisedb.com
From | Date | Subject | |
---|---|---|---|
Next Message | Gokulakannan Somasundaram | 2007-10-14 16:20:48 | Re: Including Snapshot Info with Indexes |
Previous Message | Tom Lane | 2007-10-14 14:55:54 | Re: Assertion failure with small block sizes |