Re: initdb.c::main() too large
От | Bruce Momjian |
---|---|
Тема | Re: initdb.c::main() too large |
Дата | |
Msg-id | 20121130195040.GA27120@momjian.us обсуждение исходный текст |
Ответ на | Re: initdb.c::main() too large (Tom Lane <tgl@sss.pgh.pa.us>) |
Список | pgsql-hackers |
On Thu, Nov 29, 2012 at 11:23:59PM -0500, Tom Lane wrote: > Bruce Momjian <bruce@momjian.us> writes: > > In looking to add an fsync-only option to initdb, I found its main() > > function to be 743 lines long, and very hard to understand. > > > The attached patch moves much of that code into separate functions, > > which will make initdb.c easier to understand, and easier to add an > > fsync-only option. The original initdb.c author, Andrew Dunstan, has > > accepted the restructuring, in principle. > > No objection to breaking it into multiple functions --- but I do say > it's a lousy idea to put the long_options[] constant at the front of > the file, thousands of lines away from the switch construct that it > has to be in sync with. We don't do that in any other program AFAIR. > Keep that in the main() function, please. Good point. I had not noticed that. I fixed my initdb patch, and adjusted a few other C files to be consistent. -- Bruce Momjian <bruce@momjian.us> http://momjian.us EnterpriseDB http://enterprisedb.com + It's impossible for everything to be true. +
В списке pgsql-hackers по дате отправления: