> > What is the benefit of a return value from the pg_set_*_stats variants? > As far as I can tell, there is none because they throw an ERROR if > anything goes wrong, so they should just return VOID. What am I > missing? >
Probably nothing. The nuances of "this stat didn't get set but these other two did" are too complex for a scalar to report, and pg_set_relation_stats() doesn't do nuance, anyway. I've attached a patch that returns void instead. > > The return value is more interesting for pg_restore_relation_stats() > and pg_restore_attribute_stats(), which will be used by pg_dump and > which are designed to keep going on non-fatal errors. Isn't that what > this discussion should be about? > Yes. I was trying to focus the conversation on something that could be easily resolved first, and then move on to -restore which is trickier. Patch that allows relation_statistics_update to continue after one failed stat (0001) attached, along with bool->void change (0002).