On 2018/04/24 10:20, Michael Paquier wrote: > 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.
+1 >> 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. Thanks for spotting that one. Regards, Amit