Re: [HACKERS] WIP: [[Parallel] Shared] Hash

Поиск
Список
Период
Сортировка
От Thomas Munro
Тема Re: [HACKERS] WIP: [[Parallel] Shared] Hash
Дата
Msg-id CAEepm=2r1XFqvE8EX=CT8Oftmj6R7jWLWMi+3MMT64zrarFYtQ@mail.gmail.com
обсуждение исходный текст
Ответ на Re: [HACKERS] WIP: [[Parallel] Shared] Hash  (Tom Lane <tgl@sss.pgh.pa.us>)
Список pgsql-hackers
On Wed, Mar 8, 2017 at 1:15 PM, Tom Lane <tgl@sss.pgh.pa.us> wrote:
> Andres Freund <andres@anarazel.de> writes:
>> +++ b/src/include/storage/barrier.h
>> +#include "postgres.h"
>
>> Huh, that normally shouldn't be in a header.  I see you introduced that
>> in a bunch of other places too - that really doesn't look right to me.
>
> That is absolutely not project style and is not acceptable.
>
> The core reason why not is that postgres.h/postgres_fe.h/c.h have to be
> the *first* inclusion in every compilation, for arcane portability reasons
> you really don't want to know about.  (Suffice it to say that on some
> platforms, stdio.h isn't all that std.)  Our coding rule for that is that
> we put the appropriate one of these first in every .c file, while .h files
> always assume that it's been included already.  As soon as you break that
> convention, it becomes unclear from looking at a .c file whether the
> ordering requirement has been satisfied.  Also, since now you've moved
> the must-be-first requirement to some other header file(s), you risk
> breakage when somebody applies another project convention about
> alphabetizing #include references for all headers other than those magic
> ones.

Thanks for the explanation.  Will post a new series addressing this
and other complaints from Andres shortly.

-- 
Thomas Munro
http://www.enterprisedb.com



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

Предыдущее
От: Andres Freund
Дата:
Сообщение: Re: [HACKERS] Need a builtin way to run all tests faster manner
Следующее
От: Michael Paquier
Дата:
Сообщение: Re: [HACKERS] Need a builtin way to run all tests faster manner