From: | Michael Paquier <michael(at)paquier(dot)xyz> |
---|---|
To: | David Rowley <david(dot)rowley(at)2ndquadrant(dot)com> |
Cc: | Alvaro Herrera <alvherre(at)alvh(dot)no-ip(dot)org>, pgsql-committers(at)lists(dot)postgresql(dot)org |
Subject: | Re: pgsql: Remove useless default clause in switch |
Date: | 2018-04-24 01:20:42 |
Message-ID: | 20180424012042.GD1570@paquier.xyz |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | 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 | Content-Type | Size |
---|---|---|
partprune-useless-default.patch | text/x-diff | 437 bytes |
From | Date | Subject | |
---|---|---|---|
Next Message | Amit Langote | 2018-04-24 01:25:59 | Re: pgsql: Remove useless default clause in switch |
Previous Message | Andrew Gierth | 2018-04-24 01:18:24 | Re: pgsql: Remove useless default clause in switch |