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 по дате отправления:

Предыдущее
От: Robert Haas
Дата:
Сообщение: Re: [PATCH] make -jN check fails / unset MAKEFLAGS in pg_regress.c
Следующее
От: Tom Lane
Дата:
Сообщение: Re: Proposal for Allow postgresql.conf values to be changed via SQL