Re: Fix pg_dump dependency on postgres.h
От | Zdenek Kotala |
---|---|
Тема | Re: Fix pg_dump dependency on postgres.h |
Дата | |
Msg-id | 473B108F.40809@sun.com обсуждение исходный текст |
Ответ на | Re: Fix pg_dump dependency on postgres.h (Alvaro Herrera <alvherre@alvh.no-ip.org>) |
Ответы |
Re: Fix pg_dump dependency on postgres.h
|
Список | pgsql-patches |
Alvaro Herrera wrote: > Zdenek Kotala wrote: >> Zdenek Kotala wrote: >>> Zdenek Kotala wrote: >>>> Attached patch removes pg_dump dependency on postgres.h. The main reason >>>> for that was discussed there: >>>> >>>> http://archives.postgresql.org/pgsql-hackers/2007-10/msg01261.php >>>> >>> I found two problems there. One is that I forgot postgres.h include in >>> common.c. it is easy to fix. However second problem is more complicated. >>> dumputils.c calls ScandKeywordLookup function which is defined in >>> keyword.c. :( >> <snip> >> >>> 3) Put following fake into keyword.c before include "parse.h" line. It is >>> easiest way. >>> #define TYPE_IS_DECLARED 1 >>> #define YYLTYPE_IS_DECLARED 1 >>> #define YYLTYPE void* >>> #define YYSTYPE void* >> New version of patch is attached. I selected variant 3 as a best solution. >> Patch also fix some other postgres.h dependencyin another tools such as >> pg_controldata, pg_config. The last unfixed tool is pg_resetxlog which >> deserves own patch. > > Humm, but YYLTYPE is defined in gramparse.h (and as a different type) > ... Also, I see that if you define YYLTYPE then you don't need > YYLTYPE_IS_DECLARED as well. Also I don't see any TYPE_IS_DECLARED > here. What I'm thinking is that this patch is not very portable :-( Thanks you for your comments. You are right, define YYLTYPE and YYSTYPE is enough to skip union/structure definition. I think, data type is not important for this purpose, but use int instead of void* seem good idea. It will be synchronized with gramparse.h. What do you mean "not very portable"? What could be problem there? Zdenek
В списке pgsql-patches по дате отправления: