Tom Lane wrote: > I'm not entirely convinced that function-per-command is an improvement > though. Seems like it would only help to the extent that you could do a > simple "return" to implement early exit, and it looks to me like that > doesn't work in a lot of places because you still have to clean up things > like malloc'd argument strings before you can return. So the question > we have to answer is whether this way looks cleaner than what we'd get if > we just changed the logic in-place. For the purpose of answering that > question, looking at the final state is the right thing to do. > > I don't have a definite opinion on that core question yet, since I've not > read this version of the patch. Anybody else want to give an opinion?
Currently, exec_command is a 1500-line function. If I had to see how a single \-command worked, I would have to fold everything but the command I'm interested in, in case there's something nontrivial at function start or end (or even in between -- I would have to start by figuring out whether there's anything other than "else if" somewhere in those 1500 lines). I think splitting into command-specific functions makes this much easier to follow, particularly if we want to add extra tricks such as returning early etc. -- Álvaro Herrera https://www.2ndQuadrant.com/ PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services -- Sent via pgsql-hackers mailing list (email@example.com) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers