Nitin Jadhav <nitinjadhavpostg...@gmail.com> writes: > GetConfigOptionValues function extracts the config parameters for the > given variable irrespective of whether it results in noshow or not. > But the parent function show_all_settings ignores the values parameter > if it results in noshow. It's unnecessary to fetch all the values > during noshow. So a return statement in GetConfigOptionValues() when > noshow is set to true is needed. Attached the patch for the same. > Please share your thoughts.
I do not think this is an improvement: it causes GetConfigOptionValues to be making assumptions about how its results will be used. If show_all_settings() were a big performance bottleneck, and there were a lot of no-show values that we could optimize, then maybe the extra coupling would be worthwhile. But I don't believe either of those things. Possibly a better answer is to refactor into separate functions, along the lines of static bool ConfigOptionIsShowable(struct config_generic *conf) static void GetConfigOptionValues(struct config_generic *conf, const char **values) regards, tom lane