Re: BUG #14167: ecpg parser cann't ignore code in #ifdef ?

From: 德哥 <digoal(at)126(dot)com>
To: "Michael Meskes" <meskes(at)postgresql(dot)org>
Cc: pgsql-bugs(at)postgresql(dot)org
Subject: Re: BUG #14167: ecpg parser cann't ignore code in #ifdef ?
Date: 2016-06-02 01:04:21
Message-ID: 36b4b4cd.1914.1550ea3c586.Coremail.digoal@126.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-bugs

HI,
Thanks very much,
Because I see EDB's document ECPGplus can parser #ifdef.
so why postgresql community not do that?
I think many PG user need it to adpate some enviroment (like Oracle , pg, db2, ...) in .pgc code.

best regards ,
digoal

--
公益是一辈子的事,I'm Digoal,Just Do It.

At 2016-06-01 21:43:00, "Michael Meskes" <meskes(at)postgresql(dot)org> wrote:
>> this is my pgc code.
>> ...
>> #ifdef ABC
>> err *abc;
>> #endif
>> ...
>> this is ERROR
>> ecpg -t -c -I/home/digoal/pgsql9.6/include -o t.c t.pgc
>> t.pgc:15: ERROR: unrecognized data type name "err"
>>
>> And use #ifndef and -DABC also error.
>> ECPG parser cann't skip code in #ifdef or #ifndef ?
>
>'#ifdef' is a C precompiler command and thus is only parsed by cpp et
>al. If you want ecpg to parse it you have to use 'exec sql ifdef'
>instead.
>
>Michael
>--
>Michael Meskes
>Michael at Fam-Meskes dot De, Michael at Meskes dot (De|Com|Net|Org)
>Meskes at (Debian|Postgresql) dot Org
>Jabber: michael at xmpp dot meskes dot org
>VfL Borussia! Força Barça! SF 49ers! Use Debian GNU/Linux, PostgreSQL

In response to

Responses

Browse pgsql-bugs by date

  From Date Subject
Next Message Michael Paquier 2016-06-02 01:59:10 Re: BUG #14167: ecpg parser cann't ignore code in #ifdef ?
Previous Message Ganesh Kannan 2016-06-01 16:30:35 Re: BUG #14168: ALTER TABLE SET LOGGED failing