Re: Datum should be defined outside postgres.h
| От | Zdenek Kotala |
|---|---|
| Тема | Re: Datum should be defined outside postgres.h |
| Дата | |
| Msg-id | 4727606A.1000600@sun.com обсуждение исходный текст |
| Ответ на | Re: Datum should be defined outside postgres.h (Tom Lane <tgl@sss.pgh.pa.us>) |
| Ответы |
Re: Datum should be defined outside postgres.h
|
| Список | pgsql-hackers |
Tom Lane wrote:
> Zdenek Kotala <Zdenek.Kotala@Sun.COM> writes:
>> One solution should be put sugar words into separate header and include
>> them directly from catalog/*.h files.
>
> Yeah, that would probably be a good idea. It's unlikely that we'll
> get away anytime soon from frontend code wanting to include
> catalog/pg_type.h, in particular (to get the macros for type OIDs).
>
> [ looks at code... ] Another problem with #including those headers
> without postgres.h is going to be the function declarations --- eg.
> GenerateTypeDependencies() needs Node *. I've always thought that
> the function declarations lurking at the bottom of the catalog
> headers were pretty out-of-place anyway. What say we pull all
> the function declarations out of the catalog/pg_xxx.h files?
catalog directory contains mix of solutions :(. There are for example
functions defined into pg_type.h or there are namespace and
pg_namespace.h already.
My idea is to put functions declaration int pg_xxx.h and structure
declaration in pg_xxx_def.h. I'm not sure if split DATA into separate
header is good idea, but if yes then pg_xxx_data.h should be good name
for it (it seems that pg_dump needs only defines).
There is also problem with sequence.h which contains SEQ_MAX and
SEQ_MIN macros.
Comments?
Thanks Zdenek
> Not quite sure where to put them instead, though. We could smash
> them all into one new header, but if you want to keep a separate
> header per module then we'll need some new naming convention to
> select the filenames to use.
>
В списке pgsql-hackers по дате отправления: