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

From: Bruce Momjian <bruce(at)momjian(dot)us>
To: Andrew Dunstan <andrew(at)dunslane(dot)net>
Cc: PostgreSQL-development <pgsql-hackers(at)postgreSQL(dot)org>
Subject: Re: initdb.c::main() too large
Date: 2012-11-30 23:09:25
Message-ID: 20121130230924.GE27120@momjian.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Fri, Nov 30, 2012 at 06:06:39PM -0500, Andrew Dunstan wrote:
>
> On 11/30/2012 04:45 PM, Bruce Momjian wrote:
> >On Thu, Nov 29, 2012 at 11:12:23PM -0500, Bruce Momjian wrote:
> >>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.
> >Applied.
> >
>
> Sorry I didn't have time to review this before it was applied.
>
> A few minor nitpicks:
>
> * process() is a fairly uninformative function name, not sure what I'd
> call it, but something more descriptive.
> * the setup_signals_and_umask() call and possibly the final message
> section of process() would be better placed back in main() IMNSHO.
> * the large statements for setting up the datadir and the xlogdir
> should be factored out of process() into their own functions, I
> think. That would make it much more readable.

OK, I will make those changes. Thanks.

--
Bruce Momjian <bruce(at)momjian(dot)us> http://momjian.us
EnterpriseDB http://enterprisedb.com

+ It's impossible for everything to be true. +

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Andres Freund 2012-11-30 23:41:04 Re: Hot Standby Feedback should default to on in 9.3+
Previous Message Andrew Dunstan 2012-11-30 23:06:39 Re: initdb.c::main() too large