| From: | Heikki Linnakangas <heikki(dot)linnakangas(at)enterprisedb(dot)com> |
|---|---|
| To: | Alvaro Herrera <alvherre(at)commandprompt(dot)com> |
| Cc: | PostgreSQL-development <pgsql-hackers(at)postgresql(dot)org> |
| Subject: | Re: A bug with ALTER TABLE SET WITHOUT OIDS in CVS HEAD |
| Date: | 2008-11-05 20:45:24 |
| Message-ID: | 491205E4.5020006@enterprisedb.com |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-hackers |
Alvaro Herrera wrote:
> Heikki Linnakangas wrote:
>
>> made this test case crash:
>>
>> CREATE TABLE xtable (padding char(2000)) WITH OIDS;
>> INSERT INTO xtable VALUES('1');
>> ALTER TABLE xtable SET WITHOUT OIDS;
>> INSERT INTO xtable (SELECT * FROM xtable);
>>
>> with assertion failure:
>>
>> TRAP: FailedAssertion("!(!(tup->t_data->t_infomask & 0x0008))", File:
>> "heapam.c", Line: 1782)
That line number is wrong on CVS HEAD, BTW. I think I copy-pasted that
from an old checkout. It's really:
TRAP: FailedAssertion("!(!(tup->t_data->t_infomask & 0x0008))", File:
"heapam.c", Line: 1855)
> I think the fix is to just remove the Assert() ...
I don't think we want to insert tuples with OIDs to a table after SET
WITHOUT OIDS. It would be a waste of space. And bizarre.
--
Heikki Linnakangas
EnterpriseDB http://www.enterprisedb.com
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Heikki Linnakangas | 2008-11-05 20:46:50 | Re: Toast bug in CVS HEAD |
| Previous Message | Tom Lane | 2008-11-05 20:44:36 | Re: [WIP] In-place upgrade |