Ah, yeah, you could change the function to have more parameters, given the assumption that all calls will be named-parameter style. I still suggest that my proposal is more robust for the case where the dump lists parameters that the receiving system doesn't have.
So what's the behavior when the user fails to supply a parameter that is currently NOT NULL checked (example: avg_witdth)? Is that a WARN-and-exit?