Defining things twice - once in 'SQL' space and once in 'C' space is
something I struggled with when using Informix ESQL/C. I like the idea
of having it apply to both.
Although if you are to support INFORMIX or INFORMIX_SE mode in ecpg you
will need limit it to 'SQL' space (for these modes anyway).
Michael Meskes wrote:
>On Tue, Jul 06, 2004 at 03:49:14PM +1000, Luke McFarlane wrote:
>
>
>>When defining a symbol on the command line with ecpg -D SYMBOL the ecpg
>>preprocessor will replace that symbol with empty space in 'C' program
>>space rather than limiting it to 'SQL' program space.
>>
>>
>
>This indeed is a bug, but ecpg has never been designed to limit symbols
>to SQL space. You're absolutely right that it should not use empty
>space. I just fixed that in CVS. Now it correctly uses "1".
>
>
>
>>It shouldn't touch anything outside EXEC SQL.
>>
>>
>
>Why? That means you have to define most things twice.
>
>
>
>>Also, if you try to fool ecpg by compiling with ecpg -D SYMBOL=SYMBOL it
>>will sit in an infinite loop gobbling as much virtual memory as it sees fit.
>>
>>
>
>Ah yes, another bug.
>
>I just committed a fix for this as well.
>
>All fixes went into HEAD and 7.4.
>
>Michael
>
>
>