Thread: Oops: ecpg changes <> to = (not good)
In the process of cleaning up some memory leaks in the cvs tree, I discovered that the checked in version of ecpg interperates <> as =: For example, if you run ecpg on the following: test() { exec sql select xxx from yyy where zzz <> ppp; } You get this output: /* Processed by ecpg (2.6.11) */ /* These two include files are added by the preprocessor */ #include <ecpgtype.h> #include <ecpglib.h> test() { { ECPGdo(__LINE__, NULL, "select xxx from yyy where zzz = ppp ", ECPGt_EOIT, ECPGt_EORT);} #line 5 "t.pgc" } Note that zzz <> ppp has been changed to zzz = ppp. This is not broken in 6.5.3. Not good. I would debug this myself, but do not understand lex and yacc well enough yet. Steve
On Tue, Dec 14, 1999 at 12:21:34PM -0800, Stephen Birch wrote: > In the process of cleaning up some memory leaks in the cvs tree, I > discovered that > the checked in version of ecpg interperates <> as =: Oops. This typo got in there when I took over the simplified a_expr and b_expr rules from gram.y. > I would debug this myself, but do not understand lex and yacc well > enough yet. I already changed it in my source. As soon as I commit the correct version will go in. If you need a patch earlier I attach the patch. Michael -- Michael Meskes | Go SF 49ers! Th.-Heuss-Str. 61, D-41812 Erkelenz | Go Rhein Fire! Tel.: (+49) 2431/72651 | Use Debian GNU/Linux! Email: Michael@Fam-Meskes.De | Use PostgreSQL!