Обсуждение: 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!