* If there is a tuple in pg_autovacuum, use it; else, use the GUC
* defaults. Note that the fields may contain "-1" (or indeed any
* negative value), which means use the GUC defaults for each setting.
+ *
+ * Note: in cost_limit, 0 also means use the value from elsewhere,
+ * because 0 is not a valid value for VacuumCostLimit.
*/
if (avForm != NULL)
{
Min(avForm->freeze_max_age, autovacuum_freeze_max_age) :
autovacuum_freeze_max_age;
- vac_cost_limit = (avForm->vac_cost_limit >= 0) ?
+ vac_cost_limit = (avForm->vac_cost_limit > 0) ?
avForm->vac_cost_limit :
- ((autovacuum_vac_cost_limit >= 0) ?
+ ((autovacuum_vac_cost_limit > 0) ?
autovacuum_vac_cost_limit : VacuumCostLimit);
vac_cost_delay = (avForm->vac_cost_delay >= 0) ?
freeze_min_age = default_freeze_min_age;
freeze_max_age = autovacuum_freeze_max_age;
- vac_cost_limit = (autovacuum_vac_cost_limit >= 0) ?
+ vac_cost_limit = (autovacuum_vac_cost_limit > 0) ?
autovacuum_vac_cost_limit : VacuumCostLimit;
vac_cost_delay = (autovacuum_vac_cost_delay >= 0) ?