Zdenek Kotala wrote:
> Alvaro Herrera wrote:

>>>> 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?

I'm not sure.  My point is that it seems your parse.h requires
TYPE_IS_DECLARED, but mine doesn't.  What else could be lurking in there
that requires a specific fix?  In order to avoid that, it would be
better if there was a solution to the problem along the lines of #2 you
proposed.

-- 
Alvaro Herrera                          Developer, http://www.PostgreSQL.org/
"No renuncies a nada. No te aferres a nada."

---------------------------(end of broadcast)---------------------------
TIP 9: In versions below 8.0, the planner will ignore your desire to
       choose an index scan if your joining column's datatypes do not
       match

Reply via email to