Re: Add sanity check for duplicate enum values in GUC definitions
Peter Eisentraut <peter@eisentraut.org>
From: Peter Eisentraut <peter@eisentraut.org>
To: Chao Li <li.evan.chao@gmail.com>
Cc: Postgres hackers <pgsql-hackers@lists.postgresql.org>
Date: 2025-12-18T07:43:34Z
Lists: pgsql-hackers
On 18.12.25 01:22, Chao Li wrote:
>> On Dec 17, 2025, at 22:51, Peter Eisentraut <peter@eisentraut.org> wrote:
>> On 15.12.25 10:16, Chao Li wrote:
>>> The motivation for this patch comes from my own experience. While working on [1]. I added an enum-typed GUC and made a copy-and-paste mistake, assigning the same numeric value to two different enum entries. This resulted in confusing runtime behavior and cost me about an hour to track down.
>>
>> Why do you assign explicit values at all?
>
> Did you mean to say “duplicate” instead of “explicit”?
No, I meant explicit. I didn't find an example in the thread you linked
to, but I suppose you are writing something like
enum foo {
bar = 1,
baz = 2,
};
But why make those assignments at all. You could just write
enum foo {
bar,
baz,
};