BUG #2146: ECPG, cursros and conditional compilations... - Mailing list pgsql-bugs

From Chuck Wegrzyn
Subject BUG #2146: ECPG, cursros and conditional compilations...
Date
Msg-id 20060105151810.7C254F0AC7@svr2.postgresql.org
Whole thread Raw
Responses Re: BUG #2146: ECPG, cursros and conditional compilations...
List pgsql-bugs
The following bug has been logged online:

Bug reference:      2146
Logged by:          Chuck Wegrzyn
Email address:      cew@garbagedump.com
PostgreSQL version: 8.1.0
Operating system:   Linux
Description:        ECPG, cursros and conditional compilations...
Details:

I don't know if this is known or not, but it was a pretty interesting
"feature" to find.

I started out with a definition of a cursor:

    EXEC SQL DECLARE StoreCur CURSOR FOR
      SELECT schemaID, TenantName, Category, ModuleID,
             Argument, EncryptID, RelSpeed
      FROM Schema,Tenant WHERE Schema.TenantID =
             Tenant.TenantID;

This worked fine. When I decided I wanted to have a different cursor but
keep the old in the source I did the normal C thing...

#if 0
 <old DECLARE>
#else
 <new DECLARE>
#endif

To those of you "old hands" you are probably saying: What an idiot that
won't work! How true. When I needed to do was:

// <old DECLARE>
<new DECLAR>

I find this rather inconsistent in the way ECPG works.

Even stranger was the error I got from ECPG...

ECPG -o store.c store.ec
store.ec:146: ERROR: cursor StoreCur already defined
store.ec:411: WARNING: cursor `StoreCur´ has been declared but ot opened

make: *** [store.c] Error 3

The warning message looks like garbage insterted after the StoreCur name.

Thanks, Peace and Happy New Year.

pgsql-bugs by date:

Previous
From: mike
Date:
Subject: Re: BUG #2145: FTP Mirror to download is not found
Next
From: "Norman Young"
Date:
Subject: BUG #2153: atan2(0, 0) ERROR: input is out of range on Solaris