Re: tablecmds.c/MergeAttributes() cleanup

From: Nathan Bossart <nathandbossart(at)gmail(dot)com>
To: Alvaro Herrera <alvherre(at)alvh(dot)no-ip(dot)org>
Cc: Peter Eisentraut <peter(at)eisentraut(dot)org>, pgsql-hackers <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: tablecmds.c/MergeAttributes() cleanup
Date: 2023-08-29 20:40:08
Message-ID: 20230829204008.GA2161940@nathanxps13
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Tue, Aug 29, 2023 at 08:44:02PM +0200, Alvaro Herrera wrote:
> On 2023-Aug-29, Nathan Bossart wrote:
>> My compiler is complaining about 1fa9241b:
>>
>> ../postgresql/src/backend/commands/sequence.c: In function ‘DefineSequence’:
>> ../postgresql/src/backend/commands/sequence.c:196:21: error: ‘coldef’ may be used uninitialized in this function [-Werror=maybe-uninitialized]
>> 196 | stmt->tableElts = lappend(stmt->tableElts, coldef);
>> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>>
>> This went away when I added a default case that ERROR'd or initialized
>> coldef to NULL.
>
> Makes sense. However, maybe we should replace those ugly defines and
> their hardcoded values in DefineSequence with a proper array with their
> names and datatypes.

That might be an improvement, but IIUC you'd still need to enumerate all of
the columns or data types to make sure you use the right get-Datum
function. It doesn't help that last_value uses Int64GetDatumFast and
log_cnt uses Int64GetDatum. I could be missing something, though.

--
Nathan Bossart
Amazon Web Services: https://aws.amazon.com

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Stuart McGraw 2023-08-29 20:44:48 Re: Restoring default privileges on objects
Previous Message Erik Wienhold 2023-08-29 19:50:30 Re: Restoring default privileges on objects