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
---------------------------(end of broadcast)---------------------------
TIP 6: explain analyze is your friend