Re: pgsql: Remove useless default clause in switch - Mailing list pgsql-committers

From Michael Paquier
Subject Re: pgsql: Remove useless default clause in switch
Date
Msg-id 20180424012042.GD1570@paquier.xyz
Whole thread Raw
In response to Re: pgsql: Remove useless default clause in switch  (David Rowley <david.rowley@2ndquadrant.com>)
Responses Re: pgsql: Remove useless default clause in switch  (Amit Langote <Langote_Amit_f8@lab.ntt.co.jp>)
List pgsql-committers
On Tue, Apr 24, 2018 at 12:27:27PM +1200, David Rowley wrote:
> I always thought that when all options were covered that we generally
> kept a default just in case someone added another enum and forgot to
> update the code.
>
> I know generally those are with elog ERRORs but both would be designed
> to alert a programmer, just at different times.

The advantage with what Alvaro has done is that you get warning at
compilation time, so it is much more helpful for developers when
adding an option because they need to think about code paths where the
warning comes from.

> There are other examples in that file with the switch
> (part_scheme->strategy), these are not using enums. I'd have to assume
> that these must be different because of that.

Those apply to PARTITION_STRATEGY_LIST and such, which are not defined
based on an enumeration but using their catalog interpretation, so this
assumption cannot apply.  The same applies for BTLessEqualStrategyNumber
& friends which have their own definition.

You are right for what's in perform_pruning_combine_step though, so the
attached could also be applied.
--
Michael

Attachment

pgsql-committers by date:

Previous
From: Andrew Gierth
Date:
Subject: Re: pgsql: Remove useless default clause in switch
Next
From: Amit Langote
Date:
Subject: Re: pgsql: Remove useless default clause in switch