Re: pgsql: Remove useless default clause in switch

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

In response to

Responses

Browse pgsql-committers by date

  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