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