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

Reply via email to