From: | Peter Eisentraut <peter(at)eisentraut(dot)org> |
---|---|
To: | Bertrand Drouvot <bertranddrouvot(dot)pg(at)gmail(dot)com> |
Cc: | jian he <jian(dot)universality(at)gmail(dot)com>, PostgreSQL-development <pgsql-hackers(at)postgresql(dot)org> |
Subject: | Re: confusing message in check_tuple |
Date: | 2025-07-01 10:28:48 |
Message-ID: | 0f1bd1c2-4601-4e66-88eb-a5cbab00e52c@eisentraut.org |
Views: | Whole Thread | Raw Message | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
On 18.06.25 11:46, Bertrand Drouvot wrote:
> Hi,
>
> On Tue, Jun 17, 2025 at 07:21:13AM +0200, Peter Eisentraut wrote:
>> On 12.06.25 08:26, jian he wrote:
>>> in contrib/amcheck/verify_heapam.c, check_tuple
>>> report_corruption(ctx,
>>> psprintf("number of attributes %u exceeds
>>> maximum expected for table %u",
>>> ctx->natts,
>>> RelationGetDescr(ctx->rel)->natts));
>>
>> Agreed this is misleading.
>>
>>> i think it should be
>>> report_corruption(ctx,
>>> psprintf("number of attributes %u exceeds
>>> maximum expected for table %u",
>>> ctx->natts,
>>> RelationGetRelid(ctx->rel)));
>>>
>>> or we can rephrase it another way, also mentioning
>>> ``RelationGetDescr(ctx->rel)->natts``.
>>
>> I think they did want to mention RelationGetDescr(ctx->rel)->natts.
>
> +1, I think that we usually want to be able to compare actual vs expected.
>
>> How
>> about
>>
>> "number of attributes %u exceeds maximum expected for table (%u)"
>
> I thought about adding the table name in the message but it looks like it's already
> there:
>
> "
> Expected corruption message output stdout /(?^:(?^ms:heap table "postgres\.public\.test", block 0, offset 9:\s+)number of attributes 2047 exceeds maximum expected for table 3)
> "
>
> So that your proposal makes sense to me.
I have committed a fix for this.
From | Date | Subject | |
---|---|---|---|
Next Message | Yugo Nagata | 2025-07-01 10:47:26 | Re: Prevent internal error at concurrent CREATE OR REPLACE FUNCTION |
Previous Message | Zhijie Hou (Fujitsu) | 2025-07-01 10:09:35 | RE: Conflict detection for update_deleted in logical replication |