diff options
Diffstat (limited to 'src/backend/commands/explain.c')
-rw-r--r-- | src/backend/commands/explain.c | 18 |
1 files changed, 7 insertions, 11 deletions
diff --git a/src/backend/commands/explain.c b/src/backend/commands/explain.c index f523adbc726..c367c750b19 100644 --- a/src/backend/commands/explain.c +++ b/src/backend/commands/explain.c @@ -626,17 +626,11 @@ ExplainPrintSettings(ExplainState *es) /* request an array of relevant settings */ gucs = get_explain_guc_options(&num); - /* also bail out of there are no options */ - if (!num) - return; - if (es->format != EXPLAIN_FORMAT_TEXT) { - int i; - ExplainOpenGroup("Settings", "Settings", true, es); - for (i = 0; i < num; i++) + for (int i = 0; i < num; i++) { char *setting; struct config_generic *conf = gucs[i]; @@ -650,12 +644,15 @@ ExplainPrintSettings(ExplainState *es) } else { - int i; StringInfoData str; + /* In TEXT mode, print nothing if there are no options */ + if (num <= 0) + return; + initStringInfo(&str); - for (i = 0; i < num; i++) + for (int i = 0; i < num; i++) { char *setting; struct config_generic *conf = gucs[i]; @@ -671,8 +668,7 @@ ExplainPrintSettings(ExplainState *es) appendStringInfo(&str, "%s = NULL", conf->name); } - if (num > 0) - ExplainPropertyText("Settings", str.data, es); + ExplainPropertyText("Settings", str.data, es); } } |