From: Michael Widenius Date: June 27 2009 8:45am Subject: Re: MySql coding style: Request for deprecation of UPPERCASE typedefs List-Archive: http://lists.mysql.com/internals/37018 Message-Id: <19013.56339.81451.978717@narttu.askmonty.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Hi! >>>>> "Jay" == Jay Pipes writes: >> 'include or declare what you use' is a very simple rule, >> and makes the code much more maintainable and testable. Jay> This is one of the first things we tackled in Drizzle. We found that Jay> there was a spiderweb of #includes that made it: Jay> * Nearly impossible to easily state which files were being included in Jay> the current source compilation, and more importantly *which order* files Jay> were being included (#ifdef MYSQL_SERVER anyone?!) This was already solved in the current server. Jay> * Difficult to determine *where* key structures and classes were defined Jay> (sql_class.h, sql_base.h, structs.h, definitions.h, unireg.h, Jay> mysql_priv.h, etc etc etc...) Don't you use tags ? Jay> * SLOWER compilation speeds since large numbers of class and struct Jay> definitions needed to be "pulled in" to a source compilation for no Jay> reason whatsoever -- Drizzle's compilation speed has dramatically Jay> improved since we tackled the #include mess. I think it's much more less code, not the include things that has improved compilation time. I assume no one of you wanted to spend the time to updated the Makefiles to use precompiled headers with gcc to get even faster compile times (especially for buildbot)? Regards, Monty