Thread

  1. Re: Add sanity check for duplicate enum values in GUC definitions

    Peter Eisentraut <peter@eisentraut.org> — 2025-12-18T07:43:34Z

    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,
    };