Make error handling of synchronous_standby_names consistent.
authorRobert Haas <[email protected]>
Thu, 10 Mar 2011 21:24:52 +0000 (16:24 -0500)
committerRobert Haas <[email protected]>
Thu, 10 Mar 2011 21:24:52 +0000 (16:24 -0500)
It's not a good idea to kill the postmaster just because someone muffs
this, and it's not consistent with what we do for other, similar GUCs.

Fujii Masao, with a bit more hacking by me

src/backend/replication/syncrep.c

index 07dd235540304d351647475bdc4947eff88a05ad..3ef9cdd87c3de1cd8f590845e28a28d5bafcf5ea 100644 (file)
@@ -420,9 +420,7 @@ SyncRepGetStandbyPriority(void)
        /* syntax error in list */
        pfree(rawstring);
        list_free(elemlist);
-       ereport(FATAL,
-               (errcode(ERRCODE_INVALID_PARAMETER_VALUE),
-          errmsg("invalid list syntax for parameter \"synchronous_standby_names\"")));
+       /* GUC machinery will have already complained - no need to do again */
        return 0;
    }
 
@@ -563,7 +561,7 @@ assign_synchronous_standby_names(const char *newval, bool doit, GucSource source
        /* syntax error in list */
        pfree(rawstring);
        list_free(elemlist);
-       ereport(FATAL,
+       ereport(GUC_complaint_elevel(source),
                (errcode(ERRCODE_INVALID_PARAMETER_VALUE),
           errmsg("invalid list syntax for parameter \"synchronous_standby_names\"")));
        return NULL;