The previous code failed to realize that this setting effectively
disables parallelism, and would crash if it decided to attempt
parallelism anyway. Instead, treat it as a disabling condition.
Kyotaro Horiguchi, who also reported the issue. Reviewed by Michael
Paquier and Peter Geoghegan.
Discussion: http://postgr.es/m/
20180209.170635.
256350357.horiguchi.kyotaro@lab.ntt.co.jp
double allvisfrac;
/* Return immediately when parallelism disabled */
- if (max_parallel_maintenance_workers == 0)
+ if (dynamic_shared_memory_type == DSM_IMPL_NONE ||
+ max_parallel_maintenance_workers == 0)
return 0;
/* Set up largely-dummy planner state */