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 по дате отправления: