Skip site navigation (1) Skip section navigation (2)

Peripheral Links

Header And Logo

PostgreSQL
| The world's most advanced open source database.

Site Navigation

Search for
  Advanced Search

BUG #3181: ecpg generating wrong code



The following bug has been logged online:

Bug reference:      3181
Logged by:          Steve Gieseking
Email address:      steve(dot)gieseking(at)camotion(dot)com
PostgreSQL version: 8.2.3
Operating system:   Linux Fedora Core 6
Description:        ecpg generating wrong code
Details: 

I am maintaining code that uses ecpg.  The following query was working with
the previous version of ecpg:

exec sql SELECT count(PortNum) INTO :cnt FROM Serial
  WHERE ProjectId = :prjId and Enable = true;

After upgrading, the code is produced incorrectly.  It now generates code as
follows:

  { ECPGdo(__LINE__, 0, 1, NULL, "select  count ( PortNum )  from Serial
where ProjectId =  ? and ensable = true  ", 
	ECPGt_int,&(prjId),(long)1,(long)1,sizeof(int), 
	ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EOIT, 
	ECPGt_int,&(cnt),(long)1,(long)1,sizeof(int), 
	ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EORT);

The problem is the translation to ensable.  This appears to be caused by the
file 'preproc.y' at the line:

		| ENABLE_P			{ $$ = make_str("ensable"); }

Changing this to 'enable', fixes the problem.



Home | Main Index | Thread Index

Privacy Policy | PostgreSQL Archives hosted by Command Prompt, Inc. | Designed by tinysofa
Copyright © 1996 – 2008 PostgreSQL Global Development Group