Re: initdb.c::main() too large

Поиск
Список
Период
Сортировка
От Tom Lane
Тема Re: initdb.c::main() too large
Дата
Msg-id 310.1354249439@sss.pgh.pa.us
обсуждение исходный текст
Ответ на initdb.c::main() too large  (Bruce Momjian <bruce@momjian.us>)
Ответы Re: initdb.c::main() too large  (Bruce Momjian <bruce@momjian.us>)
Список pgsql-hackers
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.
        regards, tom lane



В списке pgsql-hackers по дате отправления:

Предыдущее
От: Bruce Momjian
Дата:
Сообщение: initdb.c::main() too large
Следующее
От: Tatsuo Ishii
Дата:
Сообщение: Re: [PATCH] Patch to fix a crash of psql