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





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

Reply via email to