Re: [INTERFACES] ecpg: use of #defines - Mailing list pgsql-interfaces

From Michael Meskes
Subject Re: [INTERFACES] ecpg: use of #defines
Date
Msg-id 19990220175258.A687@gmx.net
Whole thread Raw
In response to ecpg: use of #defines  (James Thompson <jamest@math.ksu.edu>)
List pgsql-interfaces
On Sat, Feb 20, 1999 at 10:22:09AM -0600, James Thompson wrote:
> In my exec sql begin declare section i have items like
>
>  char uid_result[31];
>
> which I tried to replace last night with
>   char uid_result[UID_LEN];
>
>   and I placed #define UID_LEN 31 in a .h file

#define is only parsed by cpp not by ecpg.

>   I changed my #include with a exec sql include to include the .h file
>
>   The parser didn't like the char uid_result[UID_LEN] line
>
>   I'm pretty sure I understand the mechanics of this, cpp hasn't run and
>   UID_LEN is an invalid value.

Try 'exec sql define UID_LEN 31;'

> Is there a workaround?  Other than hard coding the 31

No need to work around this as the functionality is already there. Please
see test1.pgc for an example. Yes, I know I should document all this. :-)

Note, that using the exec sql define command is sufficient. You do not need
a #define anymore since ecpg will make the replacement.

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.Meskes@gmx.net          | Use PostgreSQL!

pgsql-interfaces by date:

Previous
From: Michael Meskes
Date:
Subject: ecpg idea
Next
From: "Thomas G. Lockhart"
Date:
Subject: Re: [INTERFACES] ecpg idea